duckdb
tree-sitter-sql
Our great sponsors
duckdb | tree-sitter-sql | |
---|---|---|
51 | 6 | |
15,710 | 126 | |
10.4% | - | |
10.0 | 8.7 | |
4 days ago | 14 days ago | |
C++ | JavaScript | |
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.
duckdb
-
DuckDB performance improvements with the latest release
I'm not sure if the fix is reassuring or not: https://github.com/duckdb/duckdb/pull/9411/files
Just had a look (https://github.com/duckdb/duckdb/issues/9399). Yeah it's worrying that such a trivial query returned incorrect results - but credit to the Devs for getting it fixed quickly.
To my knowledge the only databases that can be described as "military-grade" in terms of testing are SQLite and Postgres.
-
Building a Distributed Data Warehouse Without Data Lakes
It's an interesting question!
The problem is that the data is spread everywhere - no choice about that. So with that in mind, how do you query that data? Today, the idea is that you HAVE to put it into a central location. With tools like Bacalhau[1] and DuckDB [2], you no longer have to - a single query can be sharded amongst all your data - EFFECTIVELY giving you a lot of what you want from a data lake.
It's not a replacement, but if you can do a few of these items WITHOUT moving the data, you will be able to see really significant cost and time savings.
- DuckDB 0.9.0
-
Push or Pull, is this a question?
[4] Switch to Push-Based Execution Model by Mytherin · Pull Request #2393 · duckdb/duckdb (github.com)
-
Show HN: Hydra 1.0 – open-source column-oriented Postgres
it depends on your query obviously.
In general, I did very deep benchmarking of pg, clickhouse and duckdb, and I sure didn't make stupid mistakes like this: https://news.ycombinator.com/item?id=36990831
My dataset has 50B rows and 2tb of data, and I think columnar dbs are very overhiped and I chose pg because:
- pg performance is acceptable, maybe 2-3x times slower than clickhouse and duckdb on some queries if pg is configured correctly and run on compressed storage
- clickhouse and duckdb start falling apart very fast because they specialized on very narrow type of queries: https://github.com/ClickHouse/ClickHouse/issues/47520 https://github.com/ClickHouse/ClickHouse/issues/47521 https://github.com/duckdb/duckdb/discussions/6696
-
🦆 Effortless Data Quality w/duckdb on GitHub ♾️
This action installs duckdb with the version provided in input.
-
Using SQL inside Python pipelines with Duckdb, Glaredb (and others?)
Duckdb: https://github.com/duckdb/duckdb - seems pretty popular, been keeping an eye on this for close to a year now.
-
CSV or Parquet File Format
The Parquet-Go library is very complex, not yet success to use it. So I ask whether DuckDB can provide API https://github.com/duckdb/duckdb/issues/7776
-
DuckDB 0.8.0
Another cool new feature that's not mentioned in the blog post is function chaining:
https://github.com/duckdb/duckdb/pull/6725
I've been using DuckDB for filtering and post-processing data, specially strings, and this will make writing complex queries easier. By combining nested functions[0] and text functions[1], sometimes I don't even need to go into a Python notebook.
tree-sitter-sql
-
Parsing SQL with Rust
A complete grammar of the SQL language is rather large, as can be seen by this grammar https://github.com/DerekStride/tree-sitter-sql/blob/main/grammar.js that is 2000 lines of code.
-
Writing a SQL LS in Rust - Looking for Coding Companions.
Alternatively, you could use a tree-sitter parser, such as https://github.com/DerekStride/tree-sitter-sql , which would provide fast incremental parses (but may result in a less detailed AST).
- Treesitter Capturing ERROR Nodes
-
Open Source SQL Parsers
I'm using a tree-sitter grammar^1, which category the OP doesn't mention, to index database object references in data access code and process schema migrations^2. The idea is early detection of potentially-dangerous database changes that modify or drop tables/views still used elsewhere, across the entire organization's code. It's already saved my bacon a few times.
^1 specifically https://github.com/DerekStride/tree-sitter-sql , but there are a few others around too
What are some alternatives?
ClickHouse - ClickHouse® is a free analytics DBMS for big data
sqlite-worker - A simple, and persistent, SQLite database for Web and Workers.
datasette - An open source multi-tool for exploring and publishing data
octosql - OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
metabase-clickhouse-driver - ClickHouse database driver for the Metabase business intelligence front-end
arrow-datafusion - Apache Arrow DataFusion SQL Query Engine
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
duckdb-rs - Ergonomic bindings to duckdb for Rust
toydb - Distributed SQL database in Rust, written as a learning project
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
hydra - Hydra: Column-oriented Postgres. Add scalable analytics to your project in minutes.