news.volyx.in

DuckDB – An embeddable SQL database like SQLite, but supports Postgres features (duckdb.org)

801 points by goranmoomin · 2201 days ago · 160 comments on HN

Article summary

DuckDB is an embeddable SQL database that supports Postgres features and can be deployed anywhere from edge devices to servers. It has a PostgreSQL-inspired query language and offers idiomatic and performant APIs for major programming languages. DuckDB can read and write popular formats such as CSV, JSON, Parquet, and Iceberg, and is MIT-licensed. The database is designed to be simple, fast, and portable.

Main themes

  • DuckDB features
  • in-memory databases
  • testing and optimization
  • Postgres compatibility
  • foreign key support
  • database design and trade-offs

What commenters say

  • Some commenters would like to see DuckDB support in-memory databases for testing purposes, similar to SQLite's in-memory mode, but with Postgres compatibility.
  • Others argue that using the actual database system being tested, such as Postgres, is preferable to using an in-memory alternative.
  • There is a need for a database that supports foreign keys by default, as SQLite's foreign key support is disabled by default and DuckDB currently does not support foreign keys.
  • Some commenters suggest using existing solutions such as Docker or template databases to optimize database testing.
  • The lack of support for certain Postgres features, such as arrays and row types, is a limitation of DuckDB.
  • Some argue that strict typing and foreign key support are essential features that DuckDB should prioritize.
  • The use of an in-memory database for testing can be beneficial for performance and convenience, but may not accurately reflect the behavior of the production database.