In un database un frammento si verifica quando si interrompe un insieme di dati su più server. Quindi, ad esempio se avessi degli utenti potresti mettere quelli con un nome che inizia con A-E su uno, server, F-K su un secondo e così via. In questo modo il carico di gestire le operazioni su quegli utenti sarà suddiviso tra diversi server. Il motivo per cui vuoi farlo è che è possibile che tu abbia troppi utenti per metterli tutti su una macchina. In questo modo è possibile ridimensionare il sistema di cui hai bisogno semplicemente aggiungendo più frammenti. Se tutto fosse un server uno, si sarebbe limitato in scala alla grandezza di un server che è possibile acquistare.
Ovviamente non vuoi romperlo con le lettere dell'alfabeto che vorresti usare qualcosa che in media renderebbe ciascun frammento una parte approssimativamente uguale del lavoro, ma quello è un dettaglio (se importante)