DuckDB está se tornando imparável...

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00Por anos, a partir do momento em que nossos dados superavam uma planilha, o conselho nunca mudava.
00:00:05Vá configurar um data warehouse na nuvem, Snowflake ou BigQuery.
00:00:09Mas existe este pequeno banco de dados gratuito que roda inteiramente no seu laptop,
00:00:13e enquanto todos olhavam para a nuvem, ele cresceu silenciosamente.
00:00:16Agora ele tem criptografia real, upserts estilo Git e sua primeira versão de suporte de longo prazo.
00:00:22Este é o DuckDB, e quero mostrar exatamente como ele se compara em 2026,
00:00:26incluindo a grande questão que as pessoas continuam entendendo errado sobre ele.
00:00:35Então, DuckDB.
00:00:36Pense no SQLite, mas para análise.
00:00:40Você conhece o SQLite.
00:00:41Um arquivo, sem servidor, embutido dentro do seu aplicativo.
00:00:45DuckDB é a mesma ideia, exceto que, em vez de ser construído para transações,
00:00:50ele foi construído para processar números.
00:00:52Ele foi construído para escanear e somar milhões de linhas muito rapidamente.
00:00:56E uma das melhores partes é que ele lê arquivos Parquet, CSV e JSON diretamente.
00:01:02Não há etapa de importação, não é preciso carregar os dados primeiro.
00:01:05Você simplesmente aponta o SQL para o arquivo.
00:01:08Deixe-me mostrar como é essa sensação.
00:01:09Se você gosta de ferramentas de codificação que agilizam seu fluxo de trabalho, não deixe de se inscrever.
00:01:13Temos vídeos sendo lançados o tempo todo.
00:01:15Agora, aqui no meu terminal, eu digito DuckDB e estou instantaneamente em um prompt SQL.
00:01:20Agora, veja isso.
00:01:21Eu seleciono dados de um arquivo Parquet que está em uma URL na internet.
00:01:27Eu não o baixei.
00:01:28Eu não defini nada nem iniciei um servidor.
00:01:30O DuckDB acessou, transmitiu um arquivo remoto e executou SQL real nele em uma única linha.
00:01:36Isso aí, em cinco segundos, é a razão pela qual as pessoas adoram isso.
00:01:40Mas aqui está o que as pessoas estão entendendo errado.
00:01:43Existem dois lançamentos em jogo aqui, e a internet continua confundindo-os.
00:01:48Os grandes e empolgantes recursos de que todos falam, criptografia AES-256 completa do seu banco de dados,
00:01:54um comando merge-into para upserts estilo Git e a capacidade de gravar tabelas Apache Iceberg,
00:01:59nenhum deles está na versão 1.5.
00:02:02Todos eles foram lançados no DuckDB 1.4 em setembro, que também foi a primeira versão de suporte
00:02:08de longo prazo do DuckDB.
00:02:09Então, na 1.5, em março passado, recebemos a versão atualizada disso.
00:02:14Um bom novo cliente de linha de comando com cores e um pager, um novo tipo variante para dados
00:02:20semi-estruturados confusos e geometria incorporada diretamente ao núcleo.
00:02:24Em vez de apenas uma consulta rápida, deixe-me mostrar como o DuckDB atualizado realmente se sente
00:02:30na prática, os recursos da 1.4, mais a 1.5 além disso.
00:02:34Bem, eu ainda tenho a consulta de parquet que vimos anteriormente bem aqui.
00:02:38Agora, aqui está o novo recurso na 1.5, o tipo variante.
00:02:43Eu crio uma tabela rápida e insiro tipos mistos, inteiros, strings, arrays e objetos, tudo na
00:02:50mesma coluna.
00:02:51Não há esquema, sem análise de JSON, simplesmente funciona.
00:02:54E ele armazena dados binários tipados, que comprimem e consultam melhor do que o JSON simples.
00:02:59Esse é o novo recurso de variante.
00:03:02Em seguida, temos o recurso que realmente mudou o que você pode construir com o DuckDB, o merge into.
00:03:08Isso é da versão 1.4.
00:03:09Não confunda isso.
00:03:10Uma instrução SQL limpa.
00:03:12Não há lógica de aplicativo.
00:03:13Este é o tipo de coisa que costumava exigir Spark ou Python personalizado.
00:03:17Depois, a parte da criptografia também, já que estamos aqui.
00:03:21Agora, posso consultá-lo normalmente, mas se eu tentar abrir o mesmo arquivo em uma nova sessão sem a
00:03:27chave, ele falha exatamente como deveria.
00:03:30AES-256 no nível de página, você traz a chave.
00:03:33O DuckDB não a armazena nem a gerencia.
00:03:36E isso é antes mesmo de entrarmos na escrita de iceberg ou suporte a geometria, que muitos de
00:03:41vocês podem usar espacial em vez de geometria.
00:03:43É por isso que a 1.4 foi a grande atualização.
00:03:45Ele passou de um mecanismo de consulta para algo em que você pode realmente confiar com dados reais
00:03:50em uma única máquina.
00:03:51Arquivos seguros, upserts confiáveis e os formatos modernos de lake house.
00:03:55A 1.5 apenas tornou a experiência muito melhor com um CLI aprimorado e o novo tipo variante.
00:04:00Ok, então como isso é diferente das ferramentas que já estão na sua máquina?
00:04:04Vamos pegar o SQLite.
00:04:05Mesma coisa, um arquivo, sem servidor.
00:04:08Mas o SQLite é um armazenamento de linha construído para transações.
00:04:12E o DuckDB é um armazenamento de coluna construído para análise.
00:04:15Então, poderíamos usar o Pandas.
00:04:17O DuckDB oferece um otimizador SQL real e junções multithread.
00:04:21Então, em um grande grupo, geralmente é um pouco mais rápido.
00:04:24Então, se pegássemos Snowflake ou BigQuery, esses são warehouses em nuvem construídos para equipes inteiras
00:04:30e petabytes de dados.
00:04:32O DuckDB é uma máquina rodando dentro do seu próprio processo gratuitamente.
00:04:35Agora, a reclamação número um, repetidamente, é a memória.
00:04:40Aponte o DuckDB para um bilhão de linhas e ele pode ficar sem memória e cair.
00:04:45Pode ser um pouco instável demais para produção também, se é com isso que você está lidando.
00:04:49A segunda coisa é que este não é um banco de dados transacional.
00:04:53É um escritor único.
00:04:54Um processo grava por vez.
00:04:57Portanto, você não o conecta ao backend do seu aplicativo ou ao armazenamento de sessão.
00:05:01Esse ainda é o trabalho do Postgres ou do SQLite para pequenos MVPs.
00:05:05E toda essa parte de criptografia, é real, é completa, mas é traga sua própria chave.
00:05:10O DuckDB não armazena a chave.
00:05:12Ele não gira a chave.
00:05:14Ele não vigia nada.
00:05:15Você perde a chave.
00:05:16Seus dados se foram.
00:05:17E a gravação em iceberg vive em uma extensão que ainda é muito nova.
00:05:22Se você está fazendo análises, processando parquet e CSV, executando transformações ELT, explorando dados
00:05:28em um notebook, qualquer coisa com alguns megabytes até a escala de uma única máquina, o DuckDB é uma
00:05:33das melhores ferramentas que você pode instalar.
00:05:35E é totalmente gratuito, licenciado sob MIT e sem barreiras de pagamento.
00:05:39Mas se você precisa de um backend transacional para um aplicativo, ou se está rotineiramente processando bilhões
00:05:44de linhas e não quer ajustar manualmente a memória, essa é a ferramenta errada, e tudo bem.
00:05:50O banco de dados certo para o trabalho certo.
00:05:52Se você gosta de dicas e truques de codificação como este, não deixe de se inscrever no BetterStack.
00:05:56Nos vemos em outro vídeo.

핵심 요약

O DuckDB é uma ferramenta de análise de alto desempenho baseada em colunas, ideal para processar dados locais como Parquet e JSON diretamente, mas não substitui bancos de dados transacionais como o Postgres para o backend de aplicações.

하이라이트

  • O DuckDB processa arquivos Parquet, CSV e JSON localmente sem a necessidade de etapas prévias de importação ou carregamento de dados.

  • A versão 1.4 introduziu o comando “merge into” para upserts estilo Git, criptografia AES-256 no nível de página e suporte à escrita de tabelas Apache Iceberg.

  • O novo tipo variante da versão 1.5 armazena dados binários tipados, permitindo colunas com tipos mistos como inteiros, strings e objetos sem um esquema fixo.

  • O DuckDB é um banco de dados de armazenamento de coluna otimizado para análise, contrastando com o SQLite, que é um armazenamento de linha focado em transações.

  • O motor de consulta funciona localmente na máquina, mas carece de gestão automática de memória para volumes na escala de bilhões de linhas.

  • O DuckDB opera como um sistema de escritor único, tornando-o inadequado para o backend transacional de aplicativos onde múltiplos processos gravam simultaneamente.

타임라인

Conceito e Funcionalidade Base

  • O DuckDB é um banco de dados embutido e sem servidor construído especificamente para processamento analítico.
  • A ferramenta permite a leitura direta de arquivos remotos e locais nos formatos Parquet, CSV e JSON via SQL sem importação.
  • Consultas SQL em arquivos remotos ocorrem instantaneamente através do terminal sem a configuração de servidores.

Ao contrário de warehouses tradicionais baseados em nuvem, o DuckDB roda inteiramente no laptop do usuário. O design foca na velocidade de varredura e soma de milhões de linhas, utilizando SQL em vez de exigências de carregamento de dados. A capacidade de acessar arquivos Parquet via URL exemplifica a agilidade do fluxo de trabalho analítico.

Evolução nas Versões 1.4 e 1.5

  • A versão 1.4 estabeleceu a confiança para dados reais com suporte a arquivos seguros, upserts e formatos de lake house.
  • O comando merge-into facilita atualizações complexas que anteriormente exigiam ferramentas como Spark ou scripts Python dedicados.
  • A versão 1.5 trouxe um novo tipo variante que armazena dados semi-estruturados de forma comprimida e eficiente.
  • A criptografia AES-256 no nível de página exige o gerenciamento manual da chave pelo usuário, sem armazenamento interno pelo banco.

A diferenciação entre as atualizações é clara: a versão 1.4 adicionou recursos críticos de confiabilidade e formatos modernos, enquanto a 1.5 refinou a experiência do usuário com melhorias no CLI e tipos de dados mais flexíveis. O tipo variante simplifica a manipulação de dados confusos, superando as limitações do JSON puro ao usar armazenamento binário tipado.

Limitações e Casos de Uso

  • O DuckDB é um sistema de escritor único, sendo inadequado para o backend de aplicativos ou armazenamento de sessão.
  • O processamento de bilhões de linhas pode causar falhas por estouro de memória sem ajustes manuais.
  • A ferramenta é mais eficiente que o Pandas para grandes grupos de dados devido ao otimizador SQL e junções multithread.
  • O Postgres ou SQLite permanecem as opções recomendadas para o backend transacional de MVPs e aplicações.

O posicionamento técnico do DuckDB exclui aplicações transacionais onde múltiplos processos gravam simultaneamente. Embora supere o Pandas em performance analítica devido à execução paralela, ele exige que o usuário tenha conhecimento para gerir a memória em grandes volumes de dados. A ferramenta serve ao propósito de transformar e explorar dados em notebooks ou estações locais, mantendo licença MIT.

커뮤니티 글

모든 글 보기