Compreender as bases de dados NoSQL distribuídas

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

O Azure Cosmos DB é uma plataforma de base de dados distribuída globalmente para bases de dados NoSQL e relacionais de qualquer escala. Este artigo explora bases de dados NoSQL distribuídas no contexto das várias opções da API NoSQL do Azure Cosmos DB.

Para obter mais informações sobre outras opções de armazenamento de dados no Azure, veja escolher o arquivo de dados certo no Centro de Arquitetura do Azure.

Desafios

Um dos desafios ao manter um sistema de bases de dados é que muitos motores de base de dados aplicam bloqueios e bloqueios para impor semântica ACID rigorosa. Esta abordagem é benéfica em cenários em que as bases de dados requerem uma consistência elevada do estado dos dados, independentemente da forma como são acedidas. Embora esta abordagem prometa uma elevada consistência, faz grandes trocas no que diz respeito à simultaneidade, latência e disponibilidade. Esta restrição é fundamentalmente uma restrição de arquitetura e forçará qualquer equipa com uma carga de trabalho transacional elevada a encontrar soluções como distribuir manualmente ou fragmentar dados em muitas bases de dados ou nós de base de dados diferentes. Estas soluções podem ser demoradas e difíceis de implementar.

Bases de dados NoSQL

As bases de dados NoSQL referem-se a bases de dados concebidas para simplificar o dimensionamento horizontal ao ajustar a consistência para minimizar as compensações à simultaneidade, latência e disponibilidade. As bases de dados NoSQL ofereceram níveis configuráveis de consistência para que os dados possam ser dimensionados em vários nós e oferecer velocidade ou disponibilidade que melhor mapeiem as necessidades da sua aplicação.

Bases de dados distribuídas

As bases de dados distribuídas referem-se a bases de dados que se dimensionam em várias instâncias ou localizações diferentes. Embora muitas bases de dados NoSQL tenham sido concebidas para dimensionamento, nem todas são necessariamente bases de dados distribuídas. Ainda mais, muitas bases de dados NoSQL necessitam de tempo e esforço para distribuir entre nós redundantes para redundância local ou global para redundância geográfica. Os requisitos de planeamento, implementação e rede de uma base de dados distribuída globalmente podem ser complexos.

Azure Cosmos DB

Com uma base de dados distribuída que também é uma base de dados NoSQL, as cargas de trabalho transacionais elevadas tornaram-se subitamente mais fáceis de criar e gerir. O Azure Cosmos DB é uma plataforma de base de dados que oferece APIs de dados distribuídas em variantes relacionais e no NoSQL. Especificamente, muitas das APIs NoSQL oferecem várias opções de consistência que lhe permitem ajustar o nível de consistência ou disponibilidade que cumpre os seus requisitos de aplicação no mundo real. A sua base de dados pode ser configurada para oferecer uma elevada consistência com as vantagens de velocidade e disponibilidade. Da mesma forma, a base de dados poderia ser configurada para oferecer o melhor desempenho com compromissos previsíveis para a consistência e latência dos seus dados replicados. O Azure Cosmos DB irá distribuir automaticamente e dinamicamente os seus dados por instâncias locais ou globalmente. O Azure Cosmos DB também pode fornecer garantias ACID e débito de dimensionamento para mapear para os requisitos da sua aplicação.

Passos seguintes

Quer começar a utilizar o Azure Cosmos DB?