Sharding
Sharding é a prática de otimizar sistemas de gerenciamento de banco de dados, separando as linhas ou colunas de uma tabela de banco de dados maior em várias tabelas menores. As novas tabelas são chamadas de ” shards “(ou partições), e cada nova tabela ou tem o mesmo esquema, mas linhas únicas (como é o caso de” sharding horizontal”) ou tem um esquema que é um subconjunto próprio do esquema da tabela original (como é o caso de”sharding vertical”).
Why Is Sharding Used?
Sharding é um conceito comum em arquiteturas de banco de dados escaláveis. Ao compartilhar uma tabela maior, você pode armazenar os novos pedaços de dados, chamados fragmentos lógicos, através de vários nós para alcançar escalabilidade horizontal e desempenho melhorado. Uma vez que o fragmento lógico é armazenado em outro nó, ele é referido como um fragmento físico.
ao executar uma base de dados em uma única máquina, você acabará por atingir o limite da quantidade de recursos de computação que você pode aplicar a quaisquer consultas, e você obviamente irá alcançar uma quantidade máxima de dados com os quais você pode trabalhar eficientemente. Ao dimensionar horizontalmente, poderá activar um desenho flexível de bases de dados que aumenta o desempenho de duas formas principais:
- Com processamento massivamente paralelo, poderá tirar partido de todos os recursos computáveis do seu conjunto para cada consulta.
- Porque os cacos individuais são menores que a tabela lógica como um todo, cada máquina tem que escanear menos linhas ao responder a uma consulta.
sharding Horizontal é eficaz quando as consultas tendem a retornar um subconjunto de linhas que são frequentemente agrupadas em conjunto. Por exemplo, consultas que filtram dados baseados em intervalos de curto prazo são ideais para sharding horizontal, uma vez que o intervalo de data necessariamente limitará querying a apenas um subconjunto dos servidores.o sharding Vertical é eficaz quando as consultas tendem a retornar apenas um subconjunto de colunas dos dados. Por exemplo, se algumas consultas solicitarem apenas nomes, e outras solicitarem apenas endereços, então os nomes e endereços podem ser guardados em servidores separados.
também, as bases de dados barbeadas podem oferecer níveis mais elevados de disponibilidade. No caso de uma falha em uma base de dados sem proteção, toda a aplicação é inutilizável. Com um banco de dados barbeado, apenas as partes da aplicação que se baseavam nos pedaços de dados em falta são inutilizáveis. Na prática, as bases de dados com barba muitas vezes atenuam ainda mais o impacto de tais interrupções através da replicação de cacos de backup em nós adicionais.qual é a diferença entre Sharding e particionamento?
Sharding and partitioning are both about breaking up a large data set into smaller subsets. A diferença é que sharding implica que os dados são espalhados por vários computadores enquanto particionamento não. Particionamento é sobre agrupar subconjuntos de dados dentro de uma única instância de banco de dados. Em muitos casos, os Termos sharding e particionamento são usados até mesmo sinônimos, especialmente quando precedidos pelos termos “horizontal” e “vertical”.”Assim,” sharding horizontal “e” particionamento horizontal ” podem significar a mesma coisa.
tópicos relacionados
computação em memória
computação de bordo
computação em rede
Leitura Adicional
IMDG 3.12 Hazelcast introduz o subsistema CP