YDB, um banco de dados SQL distribuído de código aberto

Para quem procura um bbanco de dados SQL distribuído, o artigo sobre o qual falaremos hoje pode ser do seu interesse, pois falaremos sobre YDB, que é um banco de dados que recentemente Yandex lançou seu código-fonte.

YDB foi projetado desde o início em resposta à crescente demanda por serviços web interativos escalável. Escalabilidade, consistência estrita e transações eficientes entre intervalos eram essenciais para uma carga de trabalho do tipo OLTP.

O YDB é construído por pessoas com forte experiência em bancos de dados e sistemas distribuídos, que desenvolveram um banco de dados No-SQL e um sistema Map-Reduce para um dos maiores mecanismos de pesquisa do mundo.

Sob a licença Apache 2.0, o YDB é executado em plataformas x86 de 64 bits com um mínimo de 8 GB de RAM.

“Temos uma vasta experiência executando sistemas de produção em máquinas x86 de 64 bits executando o Ubuntu Linux. Descobrimos que o design flexível do YDB nos permite construir mais serviços sobre ele, incluindo filas persistentes e dispositivos de blocos virtuais”, diz a equipe de desenvolvimento.

“Para fins de desenvolvimento, verificamos regularmente se o banco de dados YDB pode ser construído e executado nas versões mais recentes do MacOS e Microsoft Windows. »

YDB pode ser implantado em três zonas de disponibilidade. O cluster permanece legível e gravável durante uma falha completa de uma única zona. Uma zona de disponibilidade é um data center isolado ou um segmento dele com distância física mínima entre nós e risco mínimo de falha em conjunto com outras zonas de disponibilidade.

Uma grande região geográfica é uma área onde a distância entre as zonas de disponibilidade é de 500 km ou menos. Um cluster YDB geograficamente distribuído contém nós localizados em diferentes zonas de disponibilidade em uma grande região geográfica. O YDB executa gravações de dados síncronas em cada uma das zonas de disponibilidade, garantindo desempenho ininterrupto em caso de falha na zona de disponibilidade.

Em clusters geograficamente distribuídos, é possível escolher uma política para distribuir recursos computacionais entre data centers. Isso permite que você encontre o equilíbrio certo entre tempo de atividade mínimo e tempo de inatividade mínimo se um data center falhar.

Ao contrário dos bancos de dados relacionais tradicionais, YDB é escalável, permitindo que os desenvolvedores simplesmente expandam o cluster com recursos de computação ou armazenamento para lidar com o aumento da carga. YDB tem camadas de computação e armazenamento desagregadas que permitem que os recursos de computação e armazenamento sejam dimensionados de forma independente.

As instalações de produção atuais têm mais de 10 nós, armazenam petabytes de dados e lidam com milhões de transações distribuídas por segundo.

O capacidade de criar configurações tolerantes a falhas que continuam a funcionar quando discos, nós, racks e até mesmo data centers individuais falham. O YDB oferece suporte à implantação e replicação síncrona em três zonas de disponibilidade, mantendo o estado do cluster em caso de falha de uma das zonas.

E isso também tem suporte de acesso a dados usando consultas de varredura, projetadas para realizar consultas analíticas ad-hoc no banco de dados, executadas em modo somente leitura e retornando um fluxo grpc.

Além disso, ele suporta configurações sem servidor e multilocatário. Um usuário pode operar um cluster YDB e criar vários bancos de dados que compartilham um pool de armazenamento e possuem diferentes nós de computação. Um usuário também pode executar vários bancos de dados sem servidor que compartilham um pool de recursos de computação para usá-los com eficiência.

O YDB combina consistência forte, transações ACID, consultas de alto desempenho, aquisição rápida de dados com um dialeto SQL familiar e suporte à API JSON. Funciona com todas as cargas de trabalho modernas: valor-chave, relacional, JSON.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.