3 ms·
Airport for DuckDB
- blef 1y agoThis is a cool thought exercise to think that everything that we do in the data world can be done in SQL, from SQL. In a sense this is the MCPs but for the DuckDB world.
- rustyconover 1y agoThanks for taking the time to understand the philosophy of the extension.
- simlevesque 1y agolast monday: https://news.ycombinator.com/item?id=44036343 https://news.ycombinator.com/item?id=44036343
- mrbungie 1y agoI was almost going to build a lakehouse* with DuckDB because I low-key love it, easiest and strongest analytical engine I've found yet: scale from laptops to big metal, while being mostly out-of-core when doing sane stuff, and avoiding distributed computing for SQL in the process (looking at you Spark). That is until I found out it does not support Iceberg writes[1], big nono as I would need another engine for inserts, and I want a simple stack :(. What a bummer. [1] https://github.com/duckdb/duckdb_iceberg/issues/37 https://github.com/duckdb/duckdb_iceberg/issues/37 *that is what they are called now aren't they? I just can't follow the terms anymore haha.
- mritchie712 1y agoit's coming. they already have hive style parquet writes. Iceberg is more complicated than that, but it's certainly doable.
- mrbungie 1y agoYeah, it just would be great if it already did so and I hope it supports Iceberg soon, as it would enable me to change expensive (and bad) engines like AWS Athena for something more manageable. Don't get me wrong, I'm just being a tongue-in-check egotistical bastard data engineer from hell. DuckDB is a fine piece of software as it is, and those mantainers deserve heaven.
- jeadie 1y agoThis is one of the ideas behind using DuckDB in github.com/spiceai/spiceai
- mrbungie 1y agoLooks very cool! I will take a look, tysm!
- anentropic 1y agoThat looks like an amazing "swiss army knife"...!
- nicornk 1y agoFivetran tried to upstream write support but it was not accepted https://github.com/duckdb/duckdb-iceberg/pull/95 https://github.com/duckdb/duckdb-iceberg/pull/95
- shakna 1y agoThat sounds less "not accepted" and more "will implement, rewrite required". It was only a couple months ago.
- sukhavati 1y agosame here man, ended up going with trino explicitly for writing and data management and using chdb/duckdb to process data for front-ends etc (mostly ethereum data so chdb "support" for ui256 is quite important)
- buremba 1y agoNot just for building a new one, it can also complement existing data-warehouse/lakehouses: https://github.com/buremba/universql https://github.com/buremba/universql The flight extension is excellent as it removes the need to write C++ extensions and lets you use your favorite language to develop native DuckDB catalogs. It's straightforward to build data lake connectors and plug them in as a flight catalog, thanks to Airport!
- benrutter 1y agoI'm curious, did you consider delta tables? Pretty sure duckdb supports them nicely. If you did, how come you chose not to go with them?
- mrbungie 1y agoAfair (I might be wrong) AWS and a big chunk of the industry is promoting Iceberg over Delta. Delta is mostly backed up by Databricks.
- the_optimist 1y agoWhat’s the situation where this is useful? Seems like ‘replace your remote duckDB instance—used to replace a DB server—with duckDB instance + a flight server (or a bunch of them!)’. Who has a problem for which this is the solution?
- simlevesque 1y agoA Flight server paired with duckdb is a good way to get concurrent writes.
- percevalve 1y agoif I got it correct, it helps connect to a wide array of backends, and even function calling. You can then directly use SQL to work with data from all those at the same time. The working assumptions then becomes that SQL is a dialect that has a wider adoption then python for example... Making an educated guess here.
- r3tr0 1y agoI love duck db. We use it a ton for indexing and organizing system / kernel level metrics exported by eBPF. Check out our sandbox: https://yeet.cx/play https://yeet.cx/play
- rubenvanwyk 1y agoDoes this mean the data source and destination both have to set up flight servers? I imagine then this won’t be useful for integration of third-party services.
- rustyconover 1y agoOnly the data source.
- k_bx 1y agoNot clear. Will this allow loading ipc files in DuckDB finally? That's been my biggest issue, since I use IPC files for append operations before I turn them into parquet files.
- rustyconover 1y agoThat’s possible with the arrow extension today.
- k_bx 1y agoI was sure it supported .arrow but not the streaming .ipc format, but will re-check when I have a chance
- samansmink 1y agoIt was not supported for quite a while indeed, but now there's https://duckdb.org/2025/05/23/arrow-ipc-support-in-duckdb.html https://duckdb.org/2025/05/23/arrow-ipc-support-in-duckdb.ht...
- vkaku 1y agoThis is very nice. I also love the fuzzycomplete and lindel from the same org/authors.
- code_biologist 1y agofuzzycomplete - https://github.com/Query-farm/fuzzycomplete https://github.com/Query-farm/fuzzycomplete "This fuzzycomplete extension serves as an alternative to DuckDB's autocomplete extension, with several key differences: ..." lindel - https://github.com/Query-farm/lindel https://github.com/Query-farm/lindel "This lindel extension adds functions for the linearization and delinearization of numeric arrays in DuckDB. It allows you to order multi-dimensional data using space-filling curves. ... Linearization maps multi-dimensional data into a one-dimensional sequence while preserving locality, enhancing the efficiency of data structures and algorithms for spatial data, such as in databases, GIS, and memory caches."
- rustyconover 1y agoThanks for the compliments!
- deleted 1y ago[deleted]