~/questoes/dados
DuckDB é um banco de dados otimizado para análises OLAP (Online Analytical Processing) com armazenamento colunares, enquanto SQLite é mais adequado para aplicações transacionais. Essa diferença arquitetural faz o DuckDB ser muito mais eficiente em agregações e filtros sobre grandes volumes de dados.
DuckDB foi especificamente projetado para queries analíticas em dados colunares, oferecendo performance superior em operações como agregações e filtros. Isso é muito diferente do SQLite, que é um banco generalista pensado para aplicações transacionais pequenas e médias.
Essa é a vantagem real do DuckDB. Seu design colunares permite ler apenas as colunas necessárias para uma query, reduzindo drasticamente o uso de memória e acelerando análises. Em um Data Lake, onde você faz muitas agregações e filtros, essa é uma diferença gigante.
SQLite também integra com Python nativamente. A vantagem do DuckDB não está na integração com Python (ambos conseguem fazer isso), mas na forma como processa dados analíticos de forma otimizada.
Essa informação está invertida. DuckDB é in-process (roda no mesmo processo que seu código Python), assim como SQLite. Nenhum dos dois é cliente-servidor. O PostgreSQL é um exemplo de banco cliente-servidor.
SQLite suporta totalmente a linguagem SQL. Tanto SQLite quanto DuckDB usam SQL como interface principal. Essa alternativa está completamente incorreta.