DuckDB

@duckdb
576 Followers
20 Following
127 Posts
DuckDB is an analytical in-process SQL database management system. It is simple, feature-rich, fast, extensible, and comes with the permissive MIT open-source license. "DuckDB" and the DuckDB logo are registered trademarks of the DuckDB Foundation.
GitHubhttps://github.com/duckdb/duckdb
Websitehttps://duckdb.org/
We rolled out a fresh look for duckdb.org over the last few weeks. This includes a redesigned landing page, blog posts, media collection, and the Community Extensions repository. And dark mode is now supported on all sites! ๐ŸŒš

๐Ÿ“ฃ New post in the DuckDB tricks series

These tips can save you precious keystrokes and file scans, making both writing and running your queries faster.

https://duckdb.org/2024/11/29/duckdb-tricks-part-3

DuckDB Tricks โ€“ Part 3

In this new installment of the DuckDB Tricks series, we present features for convenient handling of tables and performance optimization tips for Parquet and CSV files.

DuckDB
One of DuckDB's key use cases is data science applications, where it's often used in combination with (or in place of) data frame libraries. These libraries often preserve row order between operations, which is also supported by DuckDB. See which operations preserve order:
https://duckdb.org/docs/sql/dialect/order_preservation
Order Preservation

For many operations, DuckDB preserves the order of rows, similarly to data frame libraries such as Pandas. Example Take the following table for example: CREATE TABLE tbl AS SELECT * FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) t(x, y); SELECT * FROM tbl; x y 1 a 2 b 3 c Let's take the following query that returns the rows where x is an odd number: SELECT * FROM tbl WHERE x % 2 == 1; x y 1 a 3 c Because the row (1, 'a') occurs before (3, 'c') in the original table, it is guaranteed toโ€ฆ

DuckDB

New blog post by Hannes Mรผhleisen and Mark Raasveldt:
Runtime-Extensible SQL Parsers Using PEG

https://duckdb.org/2024/11/22/runtime-extensible-parsers

This post, a shortened version of a CIDR 2025 paper, discusses how parsers in DBMSs could be re-designed using Parser Expression Grammars for extensibility and improved error reporting.

Runtime-Extensible SQL Parsers Using PEG

Despite their central role in processing queries, parsers have not received any noticeable attention in the data systems space. State-of-the art systems are content with ancient old parser generators. These generators create monolithic, inflexible and unforgiving parsers that hinder innovation in query languages and frustrate users. Instead, parsers should be rewritten using modern abstractions like Parser Expression Grammars (PEG), which allow dynamic changes to the accepted query syntax and better error recovery. In this post, we discuss how parsers could be re-designed using PEG, and validate our recommendations using experiments for both effectiveness and efficiency.

DuckDB

We finalized the schedule for the sixth edition of DuckCon!

We want to emphasize that DuckCon is a ๐Ÿ๐ซ๐ž๐ž event, and registration is required to attend in person. If you can't join us in person, the event will be streamed through a public stream (no registration required to watch).

Check out all the details about #DuckCon on our website: https://lnkd.in/dCE2_k5m

LinkedIn

This link will take you to a page thatโ€™s not on LinkedIn

If you're curious about DuckCon, here is a talk from our previous edition, which took place in Seattle: https://www.youtube.com/watch?v=pY3fDhZiPDk

Find more info about the upcoming as well as previous DuckCon events on our website: https://duckdb.org/2025/01/31/duckcon6.html

dbverse: Composable database libraries for larger-than-memory scientific analytics (DuckCon #5)

YouTube

๐—ก๐—ฒ๐˜„ ๐—ฟ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ

We released DuckDB version 1.1.3, which is a bug fix release. You can find the change log here: https://github.com/duckdb/duckdb/releases/tag/v1.1.3

Follow our documentation for instructions on installing or upgrading: https://duckdb.org/docs/installation

Release v1.1.3 Bugfix Release ยท duckdb/duckdb

This is a bug fix release for various issues discovered after we released 1.1.2. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9....

GitHub
Interested in finding out more about data wrangling with DuckDB? Be sure to watch the keynote from posit::conf, where Hannes Mรผhleisen talks about "Data Wrangling [for Python or R] Like a Boss With DuckDB": https://www.youtube.com/watch?v=GELhdezYmP0
Data Wrangling [for Python or R] Like a Boss With DuckDB - posit conf 2024

YouTube

๐—–๐—ผ๐—ป๐—ฐ๐˜‚๐—ฟ๐—ฟ๐—ฒ๐—ป๐—ฐ๐˜† ๐—ฐ๐—ผ๐—ป๐˜๐—ฟ๐—ผ๐—น ๐—ฎ๐—ป๐—ฑ ๐—น๐—ผ๐—ด๐—ด๐—ถ๐—ป๐—ด ๐—ถ๐—ป ๐——๐˜‚๐—ฐ๐—ธ๐——๐—•

Have you ever wondered what the .wal file is when working with DuckDB? Time to find out!

This week, the co-creators of DuckDB, Hannes Mรผhleisen and Mark Raasveldt, wrote a blog post about the Multi-Version Concurrency Control and Write-Ahead-Logging schemes designed to ensure transactional guarantees: https://duckdb.org/2024/10/30/analytics-optimized-concurrent-transactions

Analytics-Optimized Concurrent Transactions

DuckDB employs unique analytics-optimized optimistic multi-version concurrency control techniques. These allow DuckDB to perform large-scale in-place updates efficiently.

DuckDB
3 more months until the sixth edition of DuckCon, taking place in Amsterdam! Check out our event: https://www.linkedin.com/events/duckcon-67257738718894034946/
DuckCon #6 | LinkedIn

We are excited to hold DuckCon #6, DuckDB's next user group meeting in Amsterdam, the Netherlands.