odbc-scanner-duckdb-extension
postgres_scanner | odbc-scanner-duckdb-extension | |
---|---|---|
6 | 3 | |
177 | 63 | |
4.0% | - | |
9.3 | 6.7 | |
10 days ago | 8 months ago | |
C++ | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgres_scanner
-
Connect ODBC Databases to DuckDB
I've created an ODBC DuckDB extension to query any database that has an ODBC driver. It's modeled after the fantastic official Postgres scanner extension https://github.com/duckdblabs/postgres_scanner.
It supports fetching rowsets in batches to minimize network overhead and defaults to the default DuckDB vector size of 2048.
I've tested it against the IBM DB2 & Postgres ODBC drivers and will continue to test and add support for all major databases. If you've got one you'd like to see let me know in the comments.
I've got plenty of improvements in the pipeline including:
-
DuckDB 0.7.0
It's not a dumb question at all. I'm pretty knowledgeable with DBs and still find it very difficult to understand how many of these front-end/pass-through engines work.
Checkout Postgres Foreign Data Wrappers. That might be the most well known approach for accessing one database through another. The Supabase team wrote an interesting piece about this recently.
https://supabase.com/blog/postgres-foreign-data-wrappers-rus...
You might also want to try out duckdb's approach to reading other DBs (or DB files). They talk about how they can "import" a sqlite DB in the above 0.7.0 announcement, but also have some other examples in their duckdblabs github project. Check out their "...-scanner" repos:
https://github.com/duckdblabs/postgres_scanner
https://github.com/duckdblabs/sqlite_scanner
-
DuckDB – in-process SQL OLAP database management system
Doesn't postgres have a columnar option? If so, you could prob get better performance for your analytical interactions if you switched some tables to columnar.
Otherwise check out postgres scanner. https://github.com/duckdblabs/postgres_scanner
- DuckDB on YugabyteDB
-
Notes on the SQLite DuckDB Paper
DuckDB can actually read SQLite or Postgres directly! In the SQLite case, something like Litestream plus DuckDB could work really well!
Also, with Pyarrow's help, DuckDB can already do this with Delta tables!
https://github.com/duckdblabs/sqlite_scanner
https://github.com/duckdblabs/postgresscanner
-
Friendlier SQL with DuckDB
Interesting thought! I have not tried this yet so I only have a guess as an answer. Could you export the data as SQL statements and then run those statements on DuckDB? That may be easier to set up, but may take longer to run...
DuckDB also has the ability to read Postgres data directly, and there is a Postgres FDW that can read from DuckDB!
https://github.com/duckdblabs/postgresscanner
https://github.com/alitrack/duckdb_fdw
odbc-scanner-duckdb-extension
-
Ask HN: Has anyone here learned COBOL for fun? How did it go?
We're doing Mainframe modernizations/integrations with the cloud @Mechanical Orchard. It's been really fun to see and learn the entomology of how computing got to where it is today.
As other folks have described programming on the mainframe is about learning COBOL + JCL. I would also add that you need to understand how to read/write binary files according to a defined schema (Copybook) and encoding (EBCDIC, COMP, COMP-3, COMP-5). It's also helpful to deeply understand the intricacies of Db2 and different methods of connection (ODBC, JDBC, Db2 CLI).
I've even gone so far as to write an ODBC extension for DuckDB so that we can scan and process queries faster and with less MIPS usage. https://github.com/rupurt/odbc-scanner-duckdb-extension
https://www.mechanical-orchard.com
- Connect ODBC Databases to DuckDB
What are some alternatives?
ClickBench - ClickBench: a Benchmark For Analytical Databases
sqlite_scanner - DuckDB extension to read and write to SQLite databases
budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀
go-duckdb - go-duckdb provides a database/sql driver for the DuckDB database engine.
duckdb - DuckDB is an in-process SQL OLAP Database Management System
db-benchmark - reproducible benchmark of database-like ops
postgres_scanner
ibis - the portable Python dataframe library
splink - Fast, accurate and scalable probabilistic data linkage with support for multiple SQL backends