스크립트
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.