Database
 sql >> Base de Dados >  >> RDS >> Database

Bancos de dados relacionais Vs não relacionais - Parte 2


No meu post anterior, vimos algumas diferenças fundamentais entre bancos de dados relacionais e não relacionais. Neste post, vamos falar sobre escalabilidade destes dois.

Escalabilidade


É uma capacidade de um sistema que pode facilmente acomodar os dados de entrada rápida sem problemas de desempenho muito. Este é o principal fator para qualquer sistema para fornecer uma boa escalabilidade. Existem dois tipos de métodos de escala conhecido como Vertical e Horizontal escala.

A escala vertical


Todas as ferramentas de banco de dados relacionais apoiar escalonamento vertical. Este é o método de aumentar o poder do sistema, adicionando espaços CPU, memória e disco adicionais. Então, para permitir que os dados de entrada rápida, o servidor de produção única é otimizado para ampliar. Nesta técnica de escala, há sempre um único servidor de produção que pode ser conectado por todos os aplicativos e usuários. Um ambiente de agrupamento pode ser criado com alguns nós e replicar os dados através de nós.

Devido a propriedades ACID, todos os nós deve ter o mesmo conjunto de dados e de sincronização de dados torna-se complicado se houver vários nós no cluster. Isto é muito otimizado para leitura de escala. A escala vertical é também conhecido como scale-up
O benefício desta metodologia de escala é a integração de dados e sua consistência entre os nós em um cluster. Todos os nós terá o mesmo conjunto de dados e, se houver um problema com o servidor de produção, outro nó será automaticamente conectado pelas aplicações. Portanto, este conjunto é conhecido como aglomerado Fail-over.

Horizontal scaling


Todas as ferramentas de banco de dados não-relacionais apoiar escala horizontal. Este é o método de adicionar mais computadores à rede para permitir que os dados de entrada rápida. É fácil adicionar mais nós no cluster para permitir o crescimento de dados. Os dados são divididos automaticamente e processados entre os nós em um cluster. Este é um ambiente de dados distribuídos. Hadoop Distributed File System (HDFS) é um exemplo clássico para este. escala horizontal é também conhecida como Escala-out.

A vantagem desta técnica de escalonamento é que desde que os dados são divididos e replicadas em nós, se qualquer um de nós fica offline, o aplicativo ainda pode ter os dados de outros nós e isso garante a disponibilidade de dados em todo o tempo. Este método é muito útil para os casos em que não se junta são necessárias entre os dados dos nós. Isso também é útil para separar os dados e tê-los em diferentes localizações geográficas.

Embora ambas as técnicas de dimensionamento têm vantagens e desvantagens, um bom ambiente pode misturar ambos para ter excelente Scale-up e Scale-out. Podemos ter uma leitura scale-up e banco de dados de gravação em um único servidor que requer propriedades ACID e ter dados históricos distribuídos scale-out em toda a vários nós para fins de mineração de dados.