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
- 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
- Parquet ORDER BY ... LIMIT over a glob of files: files are read in directory order, so the top-K threshold tightens late; starting with the files whose statistics hold the best values makes ClickBench Q24 18% faster
- Parquet: local files read 1% of their size to fetch the footer (since #115686) and cold reads wait for each footer in turn; a 64 KiB tail plus bounded prefetch of the next footers makes short ClickBench queries up to 24% faster, cold 2-12x
- A failed `CREATE TABLE ... ENGINE = TimeSeries` leaves the inner tables it already created
- `FileLog`: a direct `SELECT` that fails to parse a record loses that record
- Keep the buckets of timeSeries*ToGrid states in a plain array when they are dense
- High constant overhead per block: 13-27 µs per block makes blocks smaller than ~8K rows inefficient (ClickBench with small max_block_size)
- Advise the whole cold Parquet byte range to the kernel before reading a local file with pread
- S3 engine glob listing path intermittently sends unsigned ListObjects when table uses extra_credentials(role_arn=...)
- Optimize Q7 from ClickBench for datalakes
- Docs
- C++ not yet supported