DuckDB, um banco de dados de código aberto usado pelo Google, Facebook e Airbnb

DuckDB, o DBMS usado pelo Google, Facebook e Airbnb

DuckDB é um sistema de gerenciamento de banco de dados SQL OLAP em construção

Faz pouco o lançamento da nova versão do DuckDB 0.5.0 foi anunciado, que é um sistema de gerenciamento de banco de dados analítico em desenvolvimento (DBMS) usado pelo Google, Facebook e Airbnb.

DuckDBName é um sistema de banco de dados analítico de alto desempenho. Ele foi projetado para ser rápido, confiável e fácil de usar. O DuckDB fornece um rico dialeto de SQL, com suporte muito além do SQL básico. O DuckDB oferece suporte a subconsultas correlacionadas arbitrárias e aninhadas, funções de janela, agrupamentos, tipos complexos (matrizes, estruturas) e muito mais.

Entre suas principais características, destacam-se:

  • Instalação simples
  • Integrado: sem gerenciamento de servidor
  • Formato de armazenamento de arquivo único
  • Processamento analítico rápido
  • Transferência rápida entre R/Python e RDBMS
  • Não depende de nenhum estado externo. Por exemplo, arquivos de configuração separados, variável de ambiente.
  • Formato de armazenamento de arquivo único
  • Interface combinável. API programática SQL fluente
  • Totalmente ACID via MVCC

Sobre o DuckDB 0.5.0

Entre as novidades está o "out of core", que visa solucionar os problemas que podem surgir quando os dados que estão sendo processados ​​são maiores que a memória, propondo resultados intermediários.

A nova versão usa índices Adaptive Radix Tree (ART) para aplicar restrições e acelerar filtros de consulta. Até agora, os índices não eram persistentes, levando a problemas como perda de informações de índice e longos tempos de recarga para tabelas com restrição de dados.

ARTE é, em essência, uma tentativa de aplicar compressão vertical e horizontal para criar estruturas de índice compactas. As intenções são estruturas de dados semelhantes a árvores, onde cada nível da árvore contém informações sobre alguma parte do conjunto de dados. Eles geralmente são ilustrados por cadeias de caracteres.

O projeto também adicionou otimização de pedidos de junção, um problema comum em bancos de dados analíticos. Hyoun Park, CEO e analista-chefe da Amalgam Insights, disse que a diferenciação do DuckDB vem do fato de ser um pequeno aplicativo que funciona em fluxos de trabalho baseados em código para escanear rapidamente grandes armazenamentos de dados.

“O DuckDB geralmente pode executar consultas diretamente nos dados sem processamento intermediário, o que melhora o processamento. Do ponto de vista puramente tecnológico, é um pouco semelhante ao Actian Vector, que também adota uma abordagem de consulta OLAP vetorizada colunar, embora o Actian seja projetado para buscar dados em vez de trabalhar em um processo ou carregar um trabalho específico. »

O DuckDB Labs fornece aconselhamento e suporte. O cofundador e CEO Hannes Mühleisen, que também co-escreveu o código e mantém o projeto, disse que se inspirou no SQLite, o mecanismo de banco de dados OLTP sem servidor, onde viu uma oportunidade para uma abordagem semelhante, mas para análise.

O DuckDB também é frequentemente usado como parte de uma pilha de análise ou gerenciamento. dados maiores. Por exemplo, se alguém cria um aplicativo personalizado que coleta dados e depois deseja criar uma interface SQL, primeiro precisa copiar os dados e movê-los para outro sistema, o que pode causar problemas de sincronização, explicou ele.

Baixe e obtenha

É importante mencionar que a página inicial afirma claramente que não deve ser usada para "grandes instalações cliente/servidor para armazenamento de dados corporativos centralizados".

O projeto está trabalhando no lançamento da versão 1.0, após o qual não será mais possível fazer alterações. Os trabalhos dos acadêmicos do Center for Mathematics and Theoretical Computer Science Centrum Wiskunde & Informatica em Amsterdam, DuckDB estão integrados em um processo host, vale ressaltar que não há software de servidor DBMS para instalar, atualizar ou manter.

Por exemplo, o pacote DuckDB Python pode executar consultas diretamente nos dados da biblioteca de software Python, sem importar ou copiar dados. O DuckDB é escrito em C++, é gratuito e de código aberto sob a licença do MIT.

Você pode aprender mais sobre isso, bem como consultar o manual de instalação, 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.