Compartilhar via


Entender bancos de dados NoSQL distribuídos

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

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

Para obter mais informações sobre outras opções de armazenamento de dados no Azure, consulte Noções básicas sobre modelos de armazenamento de dados.

Desafios

Um dos desafios ao manter um sistema de banco de dados é que muitos mecanismos de banco de dados aplicam bloqueios e travas para impor a semântica ACID estrita. Essa abordagem é benéfica em cenários em que os bancos de dados exigem alta consistência do estado dos dados, independentemente de como eles são acessados. Embora essa abordagem prometa alta consistência, ela faz compensações pesadas em relação à simultaneidade, latência e disponibilidade. Essa restrição é fundamentalmente uma restrição arquitetônica e força qualquer equipe com uma carga de trabalho transacional alta a encontrar soluções alternativas, como distribuição manual ou fragmentação de dados em vários bancos de dados ou nós de banco de dados diferentes. Essas soluções alternativas podem ser demoradas e desafiadoras de serem implementadas.

Bancos de dados NoSQL

Os bancos de dados NoSQL referem-se a bancos de dados que foram projetados para simplificar o dimensionamento horizontal ajustando a consistência para minimizar as compensações para simultaneidade, latência e disponibilidade. Os bancos de dados NoSQL ofereciam níveis configuráveis de consistência, permitindo que os dados escalassem em muitos nós e proporcionassem velocidade ou disponibilidade que melhor correspondesse às necessidades do seu aplicativo.

Bancos de dados distribuídos

Bancos de dados distribuídos referem-se a bancos de dados que são dimensionados em várias instâncias ou locais diferentes. Embora muitos bancos de dados NoSQL sejam projetados para escala, nem todos são necessariamente bancos de dados distribuídos. Além disso, muitos bancos de dados NoSQL exigem tempo e esforço para distribuir entre vários nós redundantes, para assegurar redundância local ou globalmente para garantir redundância geográfica. Os requisitos de planejamento, implementação e rede para um banco de dados distribuído globalmente podem ser complexos.

Azure Cosmos DB

Com um banco de dados distribuído que também é um banco de dados NoSQL, as altas cargas de trabalho transacionais tornaram-se mais fáceis de criar e gerenciar. O Azure Cosmos DB é uma plataforma de banco de dados que oferece APIs de dados distribuídos em NoSQL e variantes relacionais. Especificamente, muitas das APIs do NoSQL oferecem várias opções de consistência que permitem ajustar o nível de consistência ou disponibilidade que atende aos seus requisitos de aplicativo do mundo real.

Seu banco de dados pode ser configurado para oferecer alta consistência com compensações para velocidade e disponibilidade. Da mesma forma, seu banco de dados pode ser configurado para oferecer o melhor desempenho com compensações previsíveis para consistência e latência dos dados replicados. O Azure Cosmos DB distribui automatica e dinamicamente seus dados entre instâncias locais ou globalmente. O Azure Cosmos DB também pode fornecer garantias ACID e escalar a taxa de transferência para atender aos requisitos do aplicativo.

Próximas etapas

Deseja começar com o Azure Cosmos DB?