I’ve had very good experience with it last year. I used it at large scale with data that had been in iceberg previously and it worked flawlessly. It’s only improved since. Highly recommend.
I use them both depending on which feels more natural for the task, often within the same project. The interop is easy and very high performance thanks to Apache Arrow: `df = duckdb.sql(sql).pl()` and `result = duckdb.sql("SELECT * FROM df")`.
Data inlining is also currently limited to only the DuckDB catalog (ie it doesn't work with Postgres cataglogs)[0]. It's improving very quickly though and I'm sure this will be expanded soon.
IANAL but I believe "the rule against perpetuities" is one of the sticking points in using something like a trust as an institutional solution to this problem.
Also, I recently started looking into olake[0] to serve the same purpose. What would you say differentiates Streambed?
[0] https://github.com/datazip-inc/olake