sqlite_scanner VS go-duckdb

Compare sqlite_scanner vs go-duckdb and see what are their differences.

sqlite_scanner

DuckDB extension to read and write to SQLite databases (by duckdb)

go-duckdb

go-duckdb provides a database/sql driver for the DuckDB database engine. (by marcboeker)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
sqlite_scanner go-duckdb
4 4
184 488
2.2% -
8.3 8.2
8 days ago 14 days ago
C Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

sqlite_scanner

Posts with mentions or reviews of sqlite_scanner. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-13.
  • DuckDB 0.7.0
    2 projects | news.ycombinator.com | 13 Feb 2023
    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

  • Notes on the SQLite DuckDB Paper
    4 projects | news.ycombinator.com | 1 Sep 2022
    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
    8 projects | news.ycombinator.com | 12 May 2022
    Excellent question! I'll jump in - I am a part of the DuckDB team though, so if other users have thoughts it would be great to get other perspectives as well.

    First things first - we really like quite a lot about the SQLite approach. DuckDB is similarly easy to install and is built without dependencies, just like SQLite. It also runs in the same process as your application just like SQLite does. SQLite is excellent as a transactional database - lots of very specific inserts, updates, and deletes (called OLTP workloads). DuckDB can also read directly out of SQLite files as well, so you can mix and match them! (https://github.com/duckdblabs/sqlitescanner)

    DuckDB is much faster than SQLite when doing analytical queries (OLAP) like when calculating summaries or trends over time, or joining large tables together. It can use all of your CPU cores for sometimes ~100x speedup over SQLite.

    DuckDB also has some enhancements with respect to data transfer in and out of it. It can natively read Pandas, R, and Julia dataframes, and can read parquet files directly also (meaning without inserting first!).

    Does that help? Happy to add more details!

  • DuckDB extension to read SQLite databases
    1 project | news.ycombinator.com | 25 Mar 2022

go-duckdb

Posts with mentions or reviews of go-duckdb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-27.
  • Embeddable Database for Go which have Date/Time type
    1 project | /r/golang | 28 Nov 2022
    DuckDB also has date functions and Go bindings
  • Range Joins in DuckDB
    2 projects | news.ycombinator.com | 27 May 2022
    I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps.

    https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

  • Friendlier SQL with DuckDB
    8 projects | news.ycombinator.com | 12 May 2022
    Here is a solved Github Issue related to CGO for the Go bindings! If you have another issue, please feel free to post it on their Github page!

    https://github.com/marcboeker/go-duckdb/issues/4

  • Dsq: Commandline tool for running SQL queries against JSON, CSV, Parquet, etc.
    5 projects | news.ycombinator.com | 11 Jan 2022
    Yeah frankly the q benchmark isn't the best even though dsq compares favorably in it. It isn't well documented and exercises a very limited amount of functionality and isn't very rigorous from what I can see. That said, the caching q does is likely very solid (and not something dsq does).

    The biggest risk I think with octosql (and cube2222 is here somewhere to disagree with me if I'm wrong) is that they have their own entire SQL engine whereas textql, q and dsq use SQLite. But q is also in Python whereas textql, octosql, and dsq are in Go.

    In the next few weeks I'll be posting some benchmarks that I hope are a little fairer (or at least well-documented and reproducible). Though of course it would be appropriate to have independent benchmarks too since I now have a dog in the fight.

    On a tangent, once the go-duckdb binding [0] matures I'd love to offer duckdb as an alternative engine flag within dsq (and DataStation). Would be neat to see.

    [0] https://github.com/marcboeker/go-duckdb

What are some alternatives?

When comparing sqlite_scanner and go-duckdb you can also consider the following projects:

ibis - the portable Python dataframe library

dsq - Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

react-native-quick-sqlite - Fast SQLite for react-native.

textql - Execute SQL against structured text like CSV or TSV

ClickBench - ClickBench: a Benchmark For Analytical Databases

roapi - Create full-fledged APIs for slowly moving datasets without writing a single line of code.

sqlitestudio - A free, open source, multi-platform SQLite database manager.

better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js. [Moved to: https://github.com/WiseLibs/better-sqlite3]

duckdb - DuckDB is an in-process SQL OLAP Database Management System

postgres_scanner

budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀

q - q - Run SQL directly on delimited files and multi-file sqlite databases