È possibile, ma richiede molti sforzi di manutenzione, Spiegazione -
Ridimensionamento verticale dei dati (sinonimo di Normalizzazione nei database SQL) è indicato come dividere la colonna di dati in più tabelle per ridurre la ridondanza dello spazio. Esempio di tabella utente -
Ridimensionamento orizzontale dei dati (sinonimo di sharding) è indicato come divisione delle righe in più tabelle per ridurre il tempo necessario per recuperare i dati. Esempio di tabella utente -
Il punto chiave da notare qui è come possiamo vedere le tabelle nei database SQL sono normalizzate in più tabelle di dati correlati. Per eseguire lo shard dei dati di tale tabella su più macchine, è necessario eseguire lo shard dei dati normalizzati correlati di conseguenza, il che a sua volta aumenterebbe gli sforzi di manutenzione. Come nell'esempio presentato sopra del database SQL,
Se sposti alcune righe di dati del cliente su un'altra macchina (denominata partizionamento orizzontale), dovresti anche spostare i relativi dati dell'ordine sulla stessa macchina, il che sarebbe un'attività problematica in caso di più tabelle correlate.
È conveniente per i database NOSQL eseguire lo shard out mentre seguono la struttura della tabella piatta (i dati vengono archiviati in forma aggregata anziché in forma normalizzata).