O DuckDB 0.6.0 já foi lançado e inclui melhorias na gravação de disco, carregamento de dados e muito mais.

DuckDB, o DBMS usado pelo Google, Facebook e Airbnb

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

Foi anunciado o lançamento da nova versão do SGBD PatoDB 0.6.0, versão em que a compressão de dados foi melhorada, além do fato de que novas funções foram adicionadas, bem como melhorias de armazenamento, entre outras coisas.

DuckDBName combinar propriedades SQLite como compacidade, capacidade de conexão em forma de biblioteca integrada, armazenamento do banco de dados em um único arquivo e uma interface CLI conveniente, com ferramentas e otimizações para realizar consultas analíticas que cobrem uma parte significativa dos dados armazenados, por exemplo, que executam a agregação de todo o conteúdo da tabela ou mesclam várias tabelas grandes.

Principais novidades do DuckDB 0.6.0

Nesta nova versão que se apresenta, destaca-se que continuou o trabalho de melhoria do formato de armazenamento, além disso um modo de gravação em disco foi implementado, onde quando um grande conjunto de dados é carregado em uma transação, os dados são compactados e transmitidos para um arquivo do banco de dados sem aguardar o comando COMMIT para confirmar a transação.

Outra das mudanças que se destaca na nova versão é que adicionado suporte para carregamento paralelo de dados em tabelas separadas, o que pode aumentar significativamente a velocidade de carregamento em sistemas multicore. Por exemplo, na versão antiga, carregar um banco de dados com 150 milhões de linhas em uma CPU de 10 núcleos levava 91 segundos e, na nova versão, essa operação leva 17 segundos. Existem dois modos de carregamento paralelo: com preservação de ordem de registro e sem preservação de ordem.

Para compactação de dados, o algoritmo FSST é usado (Tabela rápida de símbolos estáticos), que permite agrupar dados em linhas usando um dicionário comum de correspondências de tipo. A aplicação do novo algoritmo permitiu reduzir o tamanho da base de dados de teste de 761 MB para 251 MB.

Para comprimir números (DOUBLE e FLOAT) são propostos os algoritmos Chimp e Patas. Comparado com o algoritmo Gorillas anterior, o Chimp fornece um nível mais alto de compactação e descompactação mais rápida. O algoritmo Patas fica atrás do Chimp em termos de compactação, mas é significativamente mais rápido na velocidade de descompactação, que é quase o mesmo que ler dados não compactados.

Também se destaca que foi adicionado uma capacidade experimental de carregar dados de arquivos CSV em vários fluxos paralelos (SET experimental_parallel_csv=true), o que reduz significativamente o tempo de carregamento de grandes arquivos CSV. Por exemplo, quando a opção foi ativada, o tempo de download de um arquivo CSV de 720 MB foi reduzido de 3,5 segundos para 0,6 segundos.

Das outras mudanças que se destacam nesta nova versão:

  • Foi implementada a possibilidade de execução paralela de operações de criação e gerenciamento de índices.
  • O SQL fornece a capacidade de formar consultas que começam com a palavra "FROM" em vez de "SELECT". Nesse caso, presume-se que a consulta comece com "SELECT *".
  • Adicionado suporte para a expressão "COLUMNS" no SQL, permitindo que você execute uma operação em várias colunas sem duplicar a expressão.
  • Consumo de memória otimizado. Por padrão na plataforma Linux, a biblioteca jemalloc é usada para gerenciamento de memória. Desempenho significativamente aprimorado de operações de mesclagem de hash quando a memória é limitada.
  • Adicionado o modo de saída ".mode duckbox" à CLI, descartando as colunas centrais com base na largura das linhas da janela do terminal). Com o parâmetro ".maxrows X", você também pode limitar o número de linhas de saída.
  • A CLI fornece preenchimento automático de entrada com reconhecimento de contexto (palavras-chave, nomes de tabelas, funções, nomes de colunas e entrada de nomes de arquivos é concluída).
  • A CLI é habilitada por padrão para exibir um indicador de progresso da consulta.

finalmente se você está interessado em saber mais sobre isso, você pode verificar 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.