clickhouse
https://github.com/yandex/clickhouse
C++
ClickHouse is a free analytic DBMS for big data.
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
C++ not yet supported66 Subscribers
View all SubscribersAdd a CodeTriage badge to clickhouse
Help out
- Issues
- Support data skipping indices in projections
- Experiment: BOLT release builds with a weekly profile from benchmarks
- Use primary-key proofs to skip filter column reads in aggregations
- Parquet: String columns grow one row at a time while decoding dictionary runs and PLAIN pages; sizing them once makes ClickBench q11/q12/q26 13-22% faster
- Parallel parsing starts threads for small text files that fit in one segment; parse the first segment in the reading thread
- Parquet files read with pread: a cold range is read one read-ahead window at a time; advising the whole range first, in 128 KiB pieces, makes cold scans over 100 files 19-23% faster
- Parquet: numeric dictionary columns are decoded with a column resize and two switches per run; sizing the column once makes ClickBench q3, q4 and q30 7-18% faster
- Parquet dictionary filter: INT32/INT64 dictionaries are copied into a new column before hashing; hashing them in place makes ClickBench q20 6% faster
- Parquet ORDER BY ... LIMIT: row groups admitted before the top-K threshold tightens are still decoded; rechecking the threshold when their data is scheduled makes ORDER BY WatchID LIMIT 10 32% faster
- Parquet over S3: each stream requests the footer of an object only when it opens it; prefetching the next footers into the metadata cache makes short ClickBench queries over 100 objects more than 2x faster
- Docs
- C++ not yet supported