Para melhorar o processamento de grandes volumes de dados através de computação paralela ou distribuída, pode-se utilizar sharding, técnica que divide os dados em partes menores, chamadas shards. Essas partes são normalmente armazenadas em diferentes nós, ou sítios, de processamento em um sistema distribuído. O sharding é necessário para garantir a
privacidade dos dados
eficiência do processamento de dados
disponibilidade dos dados em caso de falha de um nó
escalabilidade do sistema de processamento de dados
consistência dos dados em caso de alteração de um shard