<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DuckDB on josiete.com</title><link>https://www.josiete.com/en/tags/duckdb/</link><description>Recent content in DuckDB on josiete.com</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 24 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.josiete.com/en/tags/duckdb/index.xml" rel="self" type="application/rss+xml"/><item><title>DBeaver: the data engineer's Swiss Army knife</title><link>https://www.josiete.com/en/posts/dbeaver/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate><guid>https://www.josiete.com/en/posts/dbeaver/</guid><description>&lt;p&gt;&lt;img src="https://www.josiete.com/images/dbeaver-beaver.webp" alt="A beaver working with Parquet data and DuckDB in DBeaver"&gt;&lt;/p&gt;&#10;&lt;p&gt;Some tools solve one specific task. Others eventually become the whole toolbox. DBeaver belongs to the second category: it is a cross-platform database client for connecting to, querying, exploring, editing, and exporting data without changing applications. For a data engineer, it feels a lot like a graphical Swiss Army knife.&lt;/p&gt;&#10;&lt;h2 id="what-is-dbeaver"&gt;What is DBeaver?&lt;/h2&gt;&#10;&lt;p&gt;DBeaver is a desktop application for working with databases and other data sources. It supports JDBC connections, schema and table browsing, SQL with autocomplete, execution-plan inspection, record editing, and data export.&lt;/p&gt;&#10;&lt;p&gt;Its main advantage is bringing together tasks that would otherwise be split between a console, an IDE, a spreadsheet, and several vendor tools. The metadata browser helps us understand a database quickly; the SQL editor lets us test a query; and the results view lets us filter, sort, copy, or export information.&lt;/p&gt;&#10;&lt;p&gt;DBeaver Community is open source, while the Enterprise edition adds features for teams and particular data sources. The company behind the product is &lt;strong&gt;DBeaver Corp&lt;/strong&gt;, based in the United States. The project grew around the open-source community, and the company maintains both the Community edition and commercial variants.&lt;/p&gt;&#10;&lt;h2 id="one-client-many-databases"&gt;One client, many databases&lt;/h2&gt;&#10;&lt;p&gt;DBeaver is not a database engine: it is the client that connects to databases. That distinction matters. It does not replace PostgreSQL, MySQL, SQL Server, Oracle, MariaDB, SQLite, or Snowflake; it provides a common experience for working with them.&lt;/p&gt;&#10;&lt;p&gt;Depending on the driver and edition, we can connect to relational databases, analytical warehouses, cloud services, and sources exposing a JDBC driver. We can also configure SSH tunnels, manage credentials, save connections, and open several sessions in parallel. The interface does not remove engine-specific differences, but it reduces the mental cost of switching between them.&lt;/p&gt;&#10;&lt;p&gt;It is available for &lt;strong&gt;Linux, Windows, and macOS&lt;/strong&gt;. On Linux it is useful for people moving between servers, containers, and a development laptop; on Windows it fits teams working with SQL Server, PostgreSQL, cloud services, and corporate tooling. The same idea and much of the workflow travel with us between operating systems.&lt;/p&gt;&#10;&lt;h2 id="parquet-when-a-table-does-not-live-in-a-database"&gt;Parquet: when a table does not live in a database&lt;/h2&gt;&#10;&lt;p&gt;Parquet is a columnar storage format, not a database. It stores data by column and keeps metadata that allows readers to fetch only the necessary parts. That is why it is common in data lakes and analytical pipelines: it is compact, compresses well, and works with many engines.&lt;/p&gt;&#10;&lt;p&gt;DBeaver can explore Parquet files directly through compatible engines and connections instead of forcing us to load them into a traditional database first. This is useful for inspecting a dataset received from another team, checking column types, finding nulls, or validating a partition before building a pipeline.&lt;/p&gt;&#10;&lt;p&gt;Two operations should be distinguished. &lt;strong&gt;Viewing&lt;/strong&gt; a Parquet file tells us what it contains; &lt;strong&gt;querying&lt;/strong&gt; it with SQL requires an engine that can read it. That is where DuckDB comes in: DBeaver provides the interface and DuckDB provides the analytical engine.&lt;/p&gt;&#10;&lt;h2 id="dbeaver-and-duckdb-a-practical-pairing"&gt;DBeaver and DuckDB: a practical pairing&lt;/h2&gt;&#10;&lt;p&gt;DuckDB is an embedded analytical database that can query Parquet, CSV, and JSON without starting a server. DBeaver can connect to DuckDB and become its visual environment: we write SQL in the editor, inspect plans and results in tables, and browse objects through a familiar interface.&lt;/p&gt;&#10;&lt;p&gt;A typical query can be as simple as:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; customer_id, &lt;span style="color:#66d9ef"&gt;sum&lt;/span&gt;(amount) &lt;span style="color:#66d9ef"&gt;AS&lt;/span&gt; total&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;data/sales/*.parquet&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GROUP&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; customer_id&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ORDER&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; total &lt;span style="color:#66d9ef"&gt;DESC&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;LIMIT&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The file remains Parquet and DuckDB reads it directly; there is no need to import it into a server database before starting analysis. This combination is particularly comfortable for exploration, data-quality checks, and prototypes: DBeaver makes investigation visual and DuckDB provides fast, portable SQL.&lt;/p&gt;&#10;&lt;p&gt;It can also create a local DuckDB database, join several files, materialize intermediate results, and export them again. The workflow lands in a very useful space between a spreadsheet and a full data platform.&lt;/p&gt;&#10;&lt;h2 id="why-call-it-a-swiss-army-knife"&gt;Why call it a Swiss Army knife?&lt;/h2&gt;&#10;&lt;p&gt;The metaphor does not mean DBeaver does everything better than specialized tools. It means it covers many needs with surprisingly little friction:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;explore schemas, indexes, views, and permissions;&lt;/li&gt;&#10;&lt;li&gt;write and save SQL queries;&lt;/li&gt;&#10;&lt;li&gt;compare results and inspect execution plans;&lt;/li&gt;&#10;&lt;li&gt;edit individual records carefully;&lt;/li&gt;&#10;&lt;li&gt;import and export CSV, JSON, and other formats;&lt;/li&gt;&#10;&lt;li&gt;work with multiple connections and tabs;&lt;/li&gt;&#10;&lt;li&gt;document queries and share configurations with the team;&lt;/li&gt;&#10;&lt;li&gt;connect to classic engines, cloud services, and embedded databases.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;For someone learning SQL, the data view provides immediate feedback. For an experienced user, the value is having context, queries, and results in one place. For a data engineer, the mix of heterogeneous connections, Parquet, and DuckDB greatly shortens the path from “I was given these files” to “I know what they contain.”&lt;/p&gt;&#10;&lt;h2 id="things-to-keep-in-mind"&gt;Things to keep in mind&lt;/h2&gt;&#10;&lt;p&gt;Convenience does not remove responsibility. A production connection should be protected with suitable credentials, least-privilege permissions, and care when running &lt;code&gt;UPDATE&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, or migrations. A graphical interface can also hide SQL-dialect differences, query costs, and access policies.&lt;/p&gt;&#10;&lt;p&gt;DBeaver is not an orchestrator or a data-governance system. It does not replace a versioned pipeline, automated tests, change control, or observability. Its role is more focused and, for that reason, valuable: it is a flexible workstation for understanding and operating on data.&lt;/p&gt;&#10;&lt;h2 id="a-small-tool-for-varied-problems"&gt;A small tool for varied problems&lt;/h2&gt;&#10;&lt;p&gt;The best way to understand DBeaver is as a common work layer. One day it can be a PostgreSQL client; the next, the window through which we inspect a Parquet file with DuckDB; later, a browser for a local SQLite database or a console for an analytical warehouse.&lt;/p&gt;&#10;&lt;p&gt;That versatility explains its popularity. DBeaver does not try to decide where data should live: it helps us see it, ask questions of it, and move between systems. And when the logo&amp;rsquo;s beaver appears next to a Parquet file and a DuckDB query, the joke is more than visual: it captures a modern, pragmatic way of working with data.&lt;/p&gt;&#10;</description></item><item><title>DuckDB: the analytical duck that just landed at AWS</title><link>https://www.josiete.com/en/posts/duckdb/</link><pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate><guid>https://www.josiete.com/en/posts/duckdb/</guid><description>&lt;p&gt;&lt;img src="https://www.josiete.com/images/duckdb-amazon.webp" alt="Illustration of DuckDB connected to Amazon Web Services infrastructure"&gt;&lt;/p&gt;&#10;&lt;p&gt;Some tools appear in data pipelines because a large company imposes them. Others spread because they solve an everyday problem with an elegance that is hard to ignore. DuckDB belongs to the second category. It is a small, fast, embeddable analytical database that can query local or remote files with SQL. In recent years it has become a common part of Data Engineering, Data Science, and Analytics Engineering workflows.&lt;/p&gt;&#10;&lt;p&gt;It is now at the center of important news: &lt;a href="https://www.aboutamazon.com/news/company-news/aws-ducklabs"&gt;Amazon has brought DuckLabs into AWS&lt;/a&gt;, the Amsterdam company built around the team developing DuckDB. The deal was announced in August 2026 and &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;DuckLabs confirmed that it closed on August 31&lt;/a&gt;. The important point for users is that Amazon did not buy the open-source project itself: DuckDB remains under the independent &lt;a href="https://duckdb.foundation/"&gt;DuckDB Foundation&lt;/a&gt; and under the MIT license.&lt;/p&gt;&#10;&lt;h2 id="what-is-duckdb"&gt;What is DuckDB?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB is a relational database management system designed for analytical workloads—OLAP. Unlike a traditional server database, it runs inside the application process: it can be imported as a library from Python, R, Go, Java, Rust, Node.js, or C++, or used through its CLI.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; country, &lt;span style="color:#66d9ef"&gt;sum&lt;/span&gt;(amount) &lt;span style="color:#66d9ef"&gt;AS&lt;/span&gt; total&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;sales/*.parquet&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GROUP&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; country&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ORDER&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; total &lt;span style="color:#66d9ef"&gt;DESC&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There is no need to start a cluster or create an intermediate table first. DuckDB can query CSV, Parquet, JSON, and other formats directly, including data accessible through HTTP(S) or S3. Its vectorized engine processes batches of values per operation and is optimized for scanning, filtering, aggregating, and joining large datasets.&lt;/p&gt;&#10;&lt;p&gt;The comparison that explains it best is SQLite: both are simple, embedded, and portable, but SQLite is primarily designed for transactional workloads while DuckDB is designed for analytics. It is not a universal replacement for PostgreSQL, an event queue, or a distributed warehouse. Its strength is occupying a specific niche and doing it exceptionally well.&lt;/p&gt;&#10;&lt;h2 id="who-maintains-it"&gt;Who maintains it?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB started in the database architecture group at &lt;a href="https://www.cwi.nl/en/news/2021/new-cwi-spin-off-company-duckdb-labs-solutions-for-fast-database-analytics/"&gt;CWI Amsterdam&lt;/a&gt;, with Hannes Mühleisen and Mark Raasveldt among its creators. Professional development was organized in DuckDB Labs, later renamed DuckLabs.&lt;/p&gt;&#10;&lt;p&gt;The key governance piece is the DuckDB Foundation, a Dutch non-profit foundation that owns the intellectual property and trademarks of the Duck Stack. Its board includes DuckDB&amp;rsquo;s creators and Peter Boncz, a database-systems researcher. DuckLabs provides the engineering team; the Foundation protects the project and its open license.&lt;/p&gt;&#10;&lt;h2 id="why-is-it-open-source"&gt;Why is it open source?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB is distributed under the &lt;a href="https://github.com/duckdb/duckdb/blob/main/LICENSE"&gt;MIT license&lt;/a&gt;, a permissive license that allows people to use, study, modify, and redistribute the software, including inside commercial products. DuckDB&amp;rsquo;s own documentation explains that the project began in a Dutch public research environment and that its authors see making the results freely available as a responsibility to society.&lt;/p&gt;&#10;&lt;p&gt;That freedom is not only a moral or academic matter. For a tool placed in the middle of a pipeline, being able to inspect the engine, compile it for different architectures, and add extensions reduces lock-in risk. It also lets universities, companies, tool vendors, and individual users work from the same foundation.&lt;/p&gt;&#10;&lt;h2 id="why-has-it-become-so-popular-in-data-engineering"&gt;Why has it become so popular in Data Engineering?&lt;/h2&gt;&#10;&lt;p&gt;DuckDB&amp;rsquo;s popularity is not explained by one feature, but by how several of them fit together:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;No infrastructure to get started&lt;/strong&gt;: it installs as a library and requires no server administration.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;SQL over files&lt;/strong&gt;: a directory of Parquet or CSV files becomes queryable without first loading it into a central system.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Analytical speed&lt;/strong&gt;: columnar, vectorized execution fits aggregations, joins, and full scans.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Portability&lt;/strong&gt;: it works on a laptop, in a container, in a function, in a browser through WebAssembly, or on a large server.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;A strong Python and R fit&lt;/strong&gt;: it connects DataFrames and SQL without unnecessary data movement.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Interoperability&lt;/strong&gt;: Parquet, JSON, HTTP(S), S3, extensions, and lakehouse formats are part of its ecosystem.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Reproducibility&lt;/strong&gt;: a database file or SQL script can travel with a project and run in CI, locally, or in a notebook.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This changes the order of some traditional workflows. Instead of uploading every dataset to a warehouse before exploring it, an engineer can run an initial transformation locally over lake objects, validate a hypothesis, and materialize only what deserves to become a permanent process. DuckDB does not eliminate the warehouse; it makes the work before, beside, or between warehouse queries cheaper and faster.&lt;/p&gt;&#10;&lt;h2 id="amazons-acquisition-what-actually-happened"&gt;Amazon&amp;rsquo;s acquisition: what actually happened&lt;/h2&gt;&#10;&lt;p&gt;The terminology matters. AWS acquired DuckLabs, not the DuckDB project as if it were a closed application. According to &lt;a href="https://www.aboutamazon.com/news/company-news/aws-ducklabs"&gt;Amazon&lt;/a&gt;, Hannes Mühleisen and Mark Raasveldt will continue leading the team and the project&amp;rsquo;s technical direction. According to &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;DuckLabs&amp;rsquo; announcement&lt;/a&gt;, the team remains together in Amsterdam, DuckDB, DuckLake, and Quack remain under the Foundation, and the software remains under the MIT license.&lt;/p&gt;&#10;&lt;p&gt;AWS&amp;rsquo;s interest is easy to understand: DuckDB is an effective layer for working close to data, especially in S3, and can connect files, notebooks, applications, lakehouses, and analytical services. The combination gives AWS access to specialized talent and gives the project much greater resources, infrastructure, and commercial reach.&lt;/p&gt;&#10;&lt;h2 id="will-duckdbs-design-change"&gt;Will DuckDB&amp;rsquo;s design change?&lt;/h2&gt;&#10;&lt;p&gt;It is too early to state which concrete design decisions will change. Public announcements say that the license, governance, and immediate roadmap do not change. We can still outline reasonable hypotheses:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Deeper cloud ecosystem integration&lt;/strong&gt;. We may see more work around S3, lakehouse formats, catalogs, permissions, and AWS services. The challenge will be improving that integration without turning DuckDB into a privileged client for one provider.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;More investment in remote operation&lt;/strong&gt;. DuckDB began as an embedded engine, but its ecosystem is already exploring protocols and distributed scenarios. AWS may accelerate features that move from local exploration to remote data without losing the simplicity of the model.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;More pressure on extensions and compatibility&lt;/strong&gt;. The Foundation and DuckLabs have indicated that they want to grow the community and extension system. That can bring more connectors and formats, but it also requires stable APIs, security, and a coherent user experience.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Vendor neutrality as a strategic design decision&lt;/strong&gt;. Paradoxically, for AWS to gain long-term value, DuckDB must remain useful outside AWS. The adoption that made it valuable depends on working locally, in other clouds, in notebooks, and inside third-party products.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;These are inferences, not published commitments. The test will be whether new integrations are designed as open extensions and whether the community retains a real voice in the roadmap. &lt;a href="https://ducklabs.com/news/2026/08/26/ducklabs-to-join-aws"&gt;The Foundation has announced a technical advisory board with community participation&lt;/a&gt;, which could help turn that openness into a design practice.&lt;/p&gt;&#10;&lt;h2 id="the-interesting-question"&gt;The interesting question&lt;/h2&gt;&#10;&lt;p&gt;The acquisition is not only about whether Amazon can benefit from DuckDB. The more interesting question is whether a cloud company can fund an infrastructure component that remains neutral, small, and pleasant to use—even when that component makes it easier to work outside its own cloud.&lt;/p&gt;&#10;&lt;p&gt;For now, the official answer is reassuring: DuckDB remains free, the MIT license stays in place, and the Foundation retains stewardship. The future will depend on less visible decisions: what gets prioritized, what stays out of the core, how extensions are accepted, how portability is protected, and who gets a voice when community interests and AWS interests diverge.&lt;/p&gt;&#10;&lt;p&gt;DuckDB became popular because it shortened the distance between a question and an answer about data. Its next chapter will be interesting if it can also shorten the distance between local and cloud analytics without forcing us to choose only one of them.&lt;/p&gt;&#10;</description></item></channel></rss>