Sharding
Distribuire dati e carico su più server
Sezione intitolata “Distribuire dati e carico su più server”Lo sharding distribuisce i dati su più server. Invece di tenere tutto in una sola macchina, dividi il carico in più parti.
I dati vengono assegnati ai server secondo una regola, per esempio in base al cliente.
Perché si fa
Sezione intitolata “Perché si fa”Quando un sistema cresce moltissimo, un solo server può non bastare più. In questi casi si può distribuire il carico e i dati su più nodi.
Per esempio, potresti mettere alcuni clienti su un server e altri clienti su un altro server, seguendo una regola precisa.
Il prezzo del vantaggio
Sezione intitolata “Il prezzo del vantaggio”Aiuta a scalare sistemi molto grandi, ma aumenta parecchio la complessità tecnica e operativa.
Per questo non è una soluzione da applicare prima di aver esaurito alternative più semplici.
Con lo sharding diventano più difficili domande come:
- dove si trova questo dato?
- come faccio una query che attraversa più server?
- come faccio backup e manutenzione?
- cosa succede se uno shard ha molto più traffico degli altri?
Prima di scegliere lo sharding
Sezione intitolata “Prima di scegliere lo sharding”Prima di pensare allo sharding, di solito conviene migliorare schema, indici, query e infrastruttura normale.
Molti progetti non ne avranno mai bisogno.