Show HN: ClickBench Playground – a playground for 110 database systems

Posted by zX41ZdbW 1 day ago

Counter21Comment5OpenOriginal

I created it mostly for testing and exploration, but the main reason was that it became possible after previous work.

Comments

Comment by eterm 1 day ago

That's actually neat, I can finally do a full sweep of something I found after the recent post about Lobsters migration, I came across a query that evaluates differently in MariaDB and SQLite.

    SELECT CASE WHEN 1 / 5 * 100.0 = 1 * 100.0 / 5 THEN 1 ELSE 0 END AS Huh
In some engines that evaluates to 1 and in some it evaluates to 0.

In some ( oracle ), it doesn't evaluate at all without a trick to bind it to a table.

Comment by cvince 1 day ago

Really cool idea. Skimmed the writeup, but none of this is emulated???

Comment by zX41ZdbW 1 day ago

All databases are hosted in VMs. Most of them only support amd64, so the host machine is also amd64 - this is the only limitation. It uses hardware virtualization, so nothing is emulated.

Comment by jauntywundrkind 1 day ago

Incredible! This is amazing!

README says it downloads onto a host the dataset, (builds if needed then) runs a snapshotted firecracker microvms that exposes a small /query endpoint. A monitor records and posts results.

https://github.com/ClickHouse/ClickBench/tree/main/playgroun...

Was a little hard to find in the changelog myself (unaided) since there has been such a massive flood of results getting added! Salute to that!! Epic work.

Comment by zX41ZdbW 1 day ago

Thanks! There is a write-up: https://clickhouse.com/blog/clickbench-playground A lot of interesting things around hosting it.