Skip to content

Commit c1a816e

Browse files
Merge pull request #800 from ClickHouse/add-firebolt-parquet-benchmarks
Add firebolt parquet benchmarks
2 parents 0e471bf + 47478a9 commit c1a816e

26 files changed

+1389
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/bash
2+
3+
# Download the partitioned hits parquet files
4+
echo "Downloading dataset..."
5+
rm -rf data
6+
mkdir -p data
7+
seq 0 99 | xargs -P100 -I{} bash -c 'wget -P data --continue --progress=dot:giga https://datasets.clickhouse.com/hits_compatible/athena_partitioned/hits_{}.parquet'
8+
9+
# Start the container
10+
sudo apt-get install -y docker.io jq
11+
sudo docker run -dit --name firebolt-core --rm \
12+
--ulimit memlock=8589934592:8589934592 \
13+
--security-opt seccomp=unconfined \
14+
-p 127.0.0.1:3473:3473 \
15+
-v /firebolt-core/volume \
16+
-v ./data/:/firebolt-core/clickbench \
17+
ghcr.io/firebolt-db/firebolt-core:preview-rc
18+
19+
# Wait until Firebolt is ready
20+
for _ in {1..600}
21+
do
22+
curl -sS "http://localhost:3473/" --data-binary "SELECT 'Firebolt is ready';" > /dev/null && break
23+
sleep 1
24+
done
25+
26+
# Create the database and external table
27+
echo "Creating external table..."
28+
curl -sS "http://localhost:3473/?enable_multi_query_requests=true" --data-binary "DROP DATABASE IF EXISTS clickbench;CREATE DATABASE clickbench;"
29+
curl -sS "http://localhost:3473/?database=clickbench&enable_multi_query_requests=true" --data-binary @create.sql
30+
31+
# Print statistics
32+
DATA_SIZE=$(du -bcs data/hits_*.parquet 2>/dev/null | grep total | awk '{print $1}')
33+
if [ -z "$DATA_SIZE" ]; then
34+
DATA_SIZE=$(du -cs data/hits_*.parquet | grep total | awk '{print $1}')
35+
fi
36+
echo "Load time: 0"
37+
echo "Data size: $DATA_SIZE"
38+
39+
# Run the benchmark
40+
echo "Running the benchmark..."
41+
./run.sh
42+
43+
# Stop the container and remove the data
44+
sudo docker container stop firebolt-core
45+
rm -rf data
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
-- External table reading directly from partitioned Parquet files
2+
-- No data ingestion, queries run directly on Parquet
3+
CREATE EXTERNAL TABLE hits
4+
(
5+
"WatchID" BIGINT NOT NULL,
6+
"JavaEnable" INTEGER NOT NULL,
7+
"Title" TEXT NOT NULL,
8+
"GoodEvent" INTEGER NOT NULL,
9+
"EventTime" BIGINT NOT NULL,
10+
"EventDate" INTEGER NOT NULL,
11+
"CounterID" INTEGER NOT NULL,
12+
"ClientIP" INTEGER NOT NULL,
13+
"RegionID" INTEGER NOT NULL,
14+
"UserID" BIGINT NOT NULL,
15+
"CounterClass" INTEGER NOT NULL,
16+
"OS" INTEGER NOT NULL,
17+
"UserAgent" INTEGER NOT NULL,
18+
"URL" TEXT NOT NULL,
19+
"Referer" TEXT NOT NULL,
20+
"IsRefresh" INTEGER NOT NULL,
21+
"RefererCategoryID" INTEGER NOT NULL,
22+
"RefererRegionID" INTEGER NOT NULL,
23+
"URLCategoryID" INTEGER NOT NULL,
24+
"URLRegionID" INTEGER NOT NULL,
25+
"ResolutionWidth" INTEGER NOT NULL,
26+
"ResolutionHeight" INTEGER NOT NULL,
27+
"ResolutionDepth" INTEGER NOT NULL,
28+
"FlashMajor" INTEGER NOT NULL,
29+
"FlashMinor" INTEGER NOT NULL,
30+
"FlashMinor2" TEXT NOT NULL,
31+
"NetMajor" INTEGER NOT NULL,
32+
"NetMinor" INTEGER NOT NULL,
33+
"UserAgentMajor" INTEGER NOT NULL,
34+
"UserAgentMinor" VARCHAR(255) NOT NULL,
35+
"CookieEnable" INTEGER NOT NULL,
36+
"JavascriptEnable" INTEGER NOT NULL,
37+
"IsMobile" INTEGER NOT NULL,
38+
"MobilePhone" INTEGER NOT NULL,
39+
"MobilePhoneModel" TEXT NOT NULL,
40+
"Params" TEXT NOT NULL,
41+
"IPNetworkID" INTEGER NOT NULL,
42+
"TraficSourceID" INTEGER NOT NULL,
43+
"SearchEngineID" INTEGER NOT NULL,
44+
"SearchPhrase" TEXT NOT NULL,
45+
"AdvEngineID" INTEGER NOT NULL,
46+
"IsArtifical" INTEGER NOT NULL,
47+
"WindowClientWidth" INTEGER NOT NULL,
48+
"WindowClientHeight" INTEGER NOT NULL,
49+
"ClientTimeZone" INTEGER NOT NULL,
50+
"ClientEventTime" BIGINT NOT NULL,
51+
"SilverlightVersion1" INTEGER NOT NULL,
52+
"SilverlightVersion2" INTEGER NOT NULL,
53+
"SilverlightVersion3" INTEGER NOT NULL,
54+
"SilverlightVersion4" INTEGER NOT NULL,
55+
"PageCharset" TEXT NOT NULL,
56+
"CodeVersion" INTEGER NOT NULL,
57+
"IsLink" INTEGER NOT NULL,
58+
"IsDownload" INTEGER NOT NULL,
59+
"IsNotBounce" INTEGER NOT NULL,
60+
"FUniqID" BIGINT NOT NULL,
61+
"OriginalURL" TEXT NOT NULL,
62+
"HID" INTEGER NOT NULL,
63+
"IsOldCounter" INTEGER NOT NULL,
64+
"IsEvent" INTEGER NOT NULL,
65+
"IsParameter" INTEGER NOT NULL,
66+
"DontCountHits" INTEGER NOT NULL,
67+
"WithHash" INTEGER NOT NULL,
68+
"HitColor" CHAR NOT NULL,
69+
"LocalEventTime" BIGINT NOT NULL,
70+
"Age" INTEGER NOT NULL,
71+
"Sex" INTEGER NOT NULL,
72+
"Income" INTEGER NOT NULL,
73+
"Interests" INTEGER NOT NULL,
74+
"Robotness" INTEGER NOT NULL,
75+
"RemoteIP" INTEGER NOT NULL,
76+
"WindowName" INTEGER NOT NULL,
77+
"OpenerName" INTEGER NOT NULL,
78+
"HistoryLength" INTEGER NOT NULL,
79+
"BrowserLanguage" TEXT NOT NULL,
80+
"BrowserCountry" TEXT NOT NULL,
81+
"SocialNetwork" TEXT NOT NULL,
82+
"SocialAction" TEXT NOT NULL,
83+
"HTTPError" INTEGER NOT NULL,
84+
"SendTiming" INTEGER NOT NULL,
85+
"DNSTiming" INTEGER NOT NULL,
86+
"ConnectTiming" INTEGER NOT NULL,
87+
"ResponseStartTiming" INTEGER NOT NULL,
88+
"ResponseEndTiming" INTEGER NOT NULL,
89+
"FetchTiming" INTEGER NOT NULL,
90+
"SocialSourceNetworkID" INTEGER NOT NULL,
91+
"SocialSourcePage" TEXT NOT NULL,
92+
"ParamPrice" BIGINT NOT NULL,
93+
"ParamOrderID" TEXT NOT NULL,
94+
"ParamCurrency" TEXT NOT NULL,
95+
"ParamCurrencyID" INTEGER NOT NULL,
96+
"OpenstatServiceName" TEXT NOT NULL,
97+
"OpenstatCampaignID" TEXT NOT NULL,
98+
"OpenstatAdID" TEXT NOT NULL,
99+
"OpenstatSourceID" TEXT NOT NULL,
100+
"UTMSource" TEXT NOT NULL,
101+
"UTMMedium" TEXT NOT NULL,
102+
"UTMCampaign" TEXT NOT NULL,
103+
"UTMContent" TEXT NOT NULL,
104+
"UTMTerm" TEXT NOT NULL,
105+
"FromTag" TEXT NOT NULL,
106+
"HasGCLID" INTEGER NOT NULL,
107+
"RefererHash" BIGINT NOT NULL,
108+
"URLHash" BIGINT NOT NULL,
109+
"CLID" INTEGER NOT NULL
110+
)
111+
URL = 'file:///firebolt-core/clickbench'
112+
OBJECT_PATTERN = 'hits_*.parquet'
113+
TYPE = PARQUET;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
SELECT COUNT(*) FROM hits;
2+
SELECT COUNT(*) FROM hits WHERE "AdvEngineID" <> 0;
3+
SELECT SUM("AdvEngineID"), COUNT(*), AVG("ResolutionWidth") FROM hits;
4+
SELECT AVG("UserID") FROM hits;
5+
SELECT COUNT(DISTINCT "UserID") FROM hits;
6+
SELECT COUNT(DISTINCT "SearchPhrase") FROM hits;
7+
SELECT MIN(DATE '1970-01-01' + "EventDate"), MAX(DATE '1970-01-01' + "EventDate") FROM hits;
8+
SELECT "AdvEngineID", COUNT(*) FROM hits WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY COUNT(*) DESC;
9+
SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM hits GROUP BY "RegionID" ORDER BY u DESC LIMIT 10;
10+
SELECT "RegionID", SUM("AdvEngineID"), COUNT(*) AS c, AVG("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM hits GROUP BY "RegionID" ORDER BY c DESC LIMIT 10;
11+
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
12+
SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
13+
SELECT "SearchPhrase", COUNT(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
14+
SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10;
15+
SELECT "SearchEngineID", "SearchPhrase", COUNT(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10;
16+
SELECT "UserID", COUNT(*) FROM hits GROUP BY "UserID" ORDER BY COUNT(*) DESC LIMIT 10;
17+
SELECT "UserID", "SearchPhrase", COUNT(*) FROM hits GROUP BY "UserID", "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT 10;
18+
SELECT "UserID", "SearchPhrase", COUNT(*) FROM hits GROUP BY "UserID", "SearchPhrase" LIMIT 10;
19+
SELECT "UserID", extract(minute FROM to_timestamp("EventTime") AT TIME ZONE 'UTC') AS m, "SearchPhrase", COUNT(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT 10;
20+
SELECT "UserID" FROM hits WHERE "UserID" = 435090932899640449;
21+
SELECT COUNT(*) FROM hits WHERE "URL" LIKE '%google%';
22+
SELECT "SearchPhrase", MIN("URL"), COUNT(*) AS c FROM hits WHERE "URL" LIKE '%google%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
23+
SELECT "SearchPhrase", MIN("URL"), MIN("Title"), COUNT(*) AS c, COUNT(DISTINCT "UserID") FROM hits WHERE "Title" LIKE '%Google%' AND "URL" NOT LIKE '%.google.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
24+
SELECT * FROM hits WHERE "URL" LIKE '%google%' ORDER BY "EventTime" LIMIT 10;
25+
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10;
26+
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
27+
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10;
28+
SELECT "CounterID", AVG(length("URL")) AS l, COUNT(*) AS c FROM hits WHERE "URL" <> '' GROUP BY "CounterID" HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
29+
SELECT REGEXP_REPLACE("Referer", '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length("Referer")) AS l, COUNT(*) AS c, MIN("Referer") FROM hits WHERE "Referer" <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
30+
SELECT SUM("ResolutionWidth"), SUM("ResolutionWidth" + 1), SUM("ResolutionWidth" + 2), SUM("ResolutionWidth" + 3), SUM("ResolutionWidth" + 4), SUM("ResolutionWidth" + 5), SUM("ResolutionWidth" + 6), SUM("ResolutionWidth" + 7), SUM("ResolutionWidth" + 8), SUM("ResolutionWidth" + 9), SUM("ResolutionWidth" + 10), SUM("ResolutionWidth" + 11), SUM("ResolutionWidth" + 12), SUM("ResolutionWidth" + 13), SUM("ResolutionWidth" + 14), SUM("ResolutionWidth" + 15), SUM("ResolutionWidth" + 16), SUM("ResolutionWidth" + 17), SUM("ResolutionWidth" + 18), SUM("ResolutionWidth" + 19), SUM("ResolutionWidth" + 20), SUM("ResolutionWidth" + 21), SUM("ResolutionWidth" + 22), SUM("ResolutionWidth" + 23), SUM("ResolutionWidth" + 24), SUM("ResolutionWidth" + 25), SUM("ResolutionWidth" + 26), SUM("ResolutionWidth" + 27), SUM("ResolutionWidth" + 28), SUM("ResolutionWidth" + 29), SUM("ResolutionWidth" + 30), SUM("ResolutionWidth" + 31), SUM("ResolutionWidth" + 32), SUM("ResolutionWidth" + 33), SUM("ResolutionWidth" + 34), SUM("ResolutionWidth" + 35), SUM("ResolutionWidth" + 36), SUM("ResolutionWidth" + 37), SUM("ResolutionWidth" + 38), SUM("ResolutionWidth" + 39), SUM("ResolutionWidth" + 40), SUM("ResolutionWidth" + 41), SUM("ResolutionWidth" + 42), SUM("ResolutionWidth" + 43), SUM("ResolutionWidth" + 44), SUM("ResolutionWidth" + 45), SUM("ResolutionWidth" + 46), SUM("ResolutionWidth" + 47), SUM("ResolutionWidth" + 48), SUM("ResolutionWidth" + 49), SUM("ResolutionWidth" + 50), SUM("ResolutionWidth" + 51), SUM("ResolutionWidth" + 52), SUM("ResolutionWidth" + 53), SUM("ResolutionWidth" + 54), SUM("ResolutionWidth" + 55), SUM("ResolutionWidth" + 56), SUM("ResolutionWidth" + 57), SUM("ResolutionWidth" + 58), SUM("ResolutionWidth" + 59), SUM("ResolutionWidth" + 60), SUM("ResolutionWidth" + 61), SUM("ResolutionWidth" + 62), SUM("ResolutionWidth" + 63), SUM("ResolutionWidth" + 64), SUM("ResolutionWidth" + 65), SUM("ResolutionWidth" + 66), SUM("ResolutionWidth" + 67), SUM("ResolutionWidth" + 68), SUM("ResolutionWidth" + 69), SUM("ResolutionWidth" + 70), SUM("ResolutionWidth" + 71), SUM("ResolutionWidth" + 72), SUM("ResolutionWidth" + 73), SUM("ResolutionWidth" + 74), SUM("ResolutionWidth" + 75), SUM("ResolutionWidth" + 76), SUM("ResolutionWidth" + 77), SUM("ResolutionWidth" + 78), SUM("ResolutionWidth" + 79), SUM("ResolutionWidth" + 80), SUM("ResolutionWidth" + 81), SUM("ResolutionWidth" + 82), SUM("ResolutionWidth" + 83), SUM("ResolutionWidth" + 84), SUM("ResolutionWidth" + 85), SUM("ResolutionWidth" + 86), SUM("ResolutionWidth" + 87), SUM("ResolutionWidth" + 88), SUM("ResolutionWidth" + 89) FROM hits;
31+
SELECT "SearchEngineID", "ClientIP", COUNT(*) AS c, SUM("IsRefresh"), AVG("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10;
32+
SELECT "WatchID", "ClientIP", COUNT(*) AS c, SUM("IsRefresh"), AVG("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
33+
SELECT "WatchID", "ClientIP", COUNT(*) AS c, SUM("IsRefresh"), AVG("ResolutionWidth") FROM hits GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
34+
SELECT "URL", COUNT(*) AS c FROM hits GROUP BY "URL" ORDER BY c DESC LIMIT 10;
35+
SELECT 1, "URL", COUNT(*) AS c FROM hits GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10;
36+
SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, COUNT(*) AS c FROM hits GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10;
37+
SELECT "URL", COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "DontCountHits" = 0 AND "IsRefresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY PageViews DESC LIMIT 10;
38+
SELECT "Title", COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "DontCountHits" = 0 AND "IsRefresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY PageViews DESC LIMIT 10;
39+
SELECT "URL", COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "IsRefresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY PageViews DESC LIMIT 10 OFFSET 1000;
40+
SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "IsRefresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", Src, Dst ORDER BY PageViews DESC LIMIT 10 OFFSET 1000;
41+
SELECT "URLHash", DATE '1970-01-01' + "EventDate" AS d, COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "IsRefresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 3594120000172545465 GROUP BY "URLHash", d ORDER BY PageViews DESC LIMIT 10 OFFSET 100;
42+
SELECT "WindowClientWidth", "WindowClientHeight", COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16617 AND "EventDate" <= 16647 AND "IsRefresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 2868770270353813622 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY PageViews DESC LIMIT 10 OFFSET 10000;
43+
SELECT DATE_TRUNC('minute', to_timestamp("EventTime") AT TIME ZONE 'UTC') AS M, COUNT(*) AS PageViews FROM hits WHERE "CounterID" = 62 AND "EventDate" >= 16630 AND "EventDate" <= 16631 AND "IsRefresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', to_timestamp("EventTime") AT TIME ZONE 'UTC') ORDER BY DATE_TRUNC('minute', to_timestamp("EventTime") AT TIME ZONE 'UTC') LIMIT 10 OFFSET 1000;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"system": "Firebolt (Parquet, partitioned)",
3+
"date": "2026-02-21",
4+
"machine": "c6a.2xlarge",
5+
"cluster_size": 1,
6+
"proprietary": "yes",
7+
"hardware": "cpu",
8+
"tuned": "no",
9+
"tags": ["C++","column-oriented","PostgreSQL compatible","ClickHouse derivative","stateless"],
10+
"load_time": 0,
11+
"data_size": 14737666736,
12+
"result": [
13+
[0.126, 0.035, 0.032],
14+
[2.767, 0.21, 0.17],
15+
[5, 0.385, 0.407],
16+
[3.795, 0.322, 0.344],
17+
[4.019, 0.823, 0.832],
18+
[4.035, 1.284, 1.22],
19+
[2.375, 0.248, 0.242],
20+
[2.978, 0.204, 0.203],
21+
[4.58, 1.058, 1.057],
22+
[8.548, 1.571, 1.533],
23+
[6.067, 0.708, 0.726],
24+
[6.15, 0.843, 0.815],
25+
[3.889, 1.148, 1.112],
26+
[8.002, 1.83, 1.831],
27+
[4.045, 1.331, 1.339],
28+
[3.55, 0.88, 0.85],
29+
[7.865, 2.318, 2.339],
30+
[7.68, 2.062, 2.061],
31+
[11.135, 5.985, 5.868],
32+
[2.638, 0.239, 0.244],
33+
[13.354, 3.622, 3.514],
34+
[16.79, 4.136, 4.246],
35+
[29.131, 7.152, 7.384],
36+
[56.78, 26.975, 28.113],
37+
[8.12, 1.139, 1.122],
38+
[3.756, 0.876, 0.853],
39+
[8.105, 1.162, 1.188],
40+
[14.327, 4.552, 4.393],
41+
[11.282, 5.92, 6.268],
42+
[2.473, 0.281, 0.268],
43+
[9.257, 1.604, 1.603],
44+
[14.437, 1.898, 1.874],
45+
[12.969, 3.877, 3.947],
46+
[13.089, 4.926, 6.605],
47+
[12.991, 5.209, 5.07],
48+
[3.279, 1.16, 1.13],
49+
[0.081, 0.007, 0.007],
50+
[0.01, 0.007, 0.013],
51+
[0.076, 0.007, 0.009],
52+
[0.01, 0.009, 0.008],
53+
[0.091, 0.01, 0.009],
54+
[0.112, 0.008, 0.007],
55+
[0.014, 0.006, 0.008]
56+
]
57+
}
58+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"system": "Firebolt (Parquet, partitioned)",
3+
"date": "2026-02-21",
4+
"machine": "c6a.4xlarge",
5+
"cluster_size": 1,
6+
"proprietary": "yes",
7+
"hardware": "cpu",
8+
"tuned": "no",
9+
"tags": ["C++","column-oriented","PostgreSQL compatible","ClickHouse derivative","stateless"],
10+
"load_time": 0,
11+
"data_size": 14737666736,
12+
"result": [
13+
[0.095, 0.021, 0.022],
14+
[2.625, 0.141, 0.13],
15+
[4.897, 0.263, 0.256],
16+
[3.678, 0.257, 0.254],
17+
[3.794, 0.534, 0.533],
18+
[3.926, 0.88, 0.871],
19+
[2.347, 0.168, 0.161],
20+
[2.881, 0.144, 0.135],
21+
[4.332, 0.677, 0.633],
22+
[8.407, 0.952, 0.938],
23+
[6.081, 0.495, 0.467],
24+
[6.101, 0.537, 0.535],
25+
[3.858, 0.747, 0.757],
26+
[7.817, 1.188, 1.174],
27+
[3.987, 0.851, 0.891],
28+
[3.444, 0.674, 0.528],
29+
[7.756, 1.439, 1.348],
30+
[7.592, 1.241, 1.297],
31+
[10.67, 3.12, 3.109],
32+
[2.62, 0.212, 0.21],
33+
[13.042, 3.176, 3.148],
34+
[16.628, 3.496, 3.48],
35+
[28.996, 6.472, 6.497],
36+
[56.151, 16.802, 17.43],
37+
[8.208, 0.83, 0.825],
38+
[3.793, 0.584, 0.601],
39+
[8.202, 0.841, 0.842],
40+
[14.347, 3.874, 3.881],
41+
[11.219, 4.394, 4.39],
42+
[2.508, 0.195, 0.179],
43+
[9.475, 1.07, 1.011],
44+
[14.535, 1.293, 1.288],
45+
[12.514, 2.331, 2.219],
46+
[12.937, 4.11, 4.093],
47+
[12.914, 4.086, 3.975],
48+
[3.249, 0.691, 0.699],
49+
[0.093, 0.009, 0.008],
50+
[0.013, 0.009, 0.006],
51+
[0.066, 0.007, 0.007],
52+
[0.012, 0.008, 0.007],
53+
[0.103, 0.009, 0.01],
54+
[0.154, 0.007, 0.007],
55+
[0.009, 0.006, 0.007]
56+
]
57+
}
58+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"system": "Firebolt (Parquet, partitioned)",
3+
"date": "2026-02-21",
4+
"machine": "c6a.large",
5+
"cluster_size": 1,
6+
"proprietary": "yes",
7+
"hardware": "cpu",
8+
"tuned": "no",
9+
"tags": ["C++","column-oriented","PostgreSQL compatible","ClickHouse derivative","stateless"],
10+
"load_time": 0,
11+
"data_size": 14737666736,
12+
"result": [
13+
[0.188, 0.119, 0.117],
14+
[2.757, 0.636, 0.651],
15+
[4.744, 1.288, 1.175],
16+
[3.614, 1.03, 1.06],
17+
[4.829, 4.127, 3.446],
18+
[6.139, 4.659, 4.618],
19+
[2.764, 0.933, 0.984],
20+
[2.557, 0.868, 0.712],
21+
[6.128, 4.83, 5.133],
22+
[14.435, 13.821, 14.073],
23+
[7.356, 2.526, 2.253],
24+
[6.587, 2.972, 2.841],
25+
[6.032, 4.142, 4.016],
26+
[14.871, 13.488, 14.391],
27+
[6.201, 5.777, 5.391],
28+
[4.484, 3.943, 3.798],
29+
[15.492, 12.855, 14.973],
30+
[12.501, 12.097, 12.091],
31+
[31.548, 31.264, 31.055],
32+
[2.591, 0.696, 0.671],
33+
[13.663, 15.33, 17.546],
34+
[20.59, 20.592, 19.15],
35+
[32.476, 28.058, 28.966],
36+
[100.714, 100.629, 100.349],
37+
[8.182, 5.176, 4.401],
38+
[3.799, 3.476, 3.521],
39+
[8.22, 4.051, 4.216],
40+
[22.756, 22.879, 18.617],
41+
[31.159, 26.677, 19.493],
42+
[2.478, 0.788, 0.802],
43+
[9.91, 7.034, 6.25],
44+
[18.295, 18.419, 18.142],
45+
[50.51, 49.577, 48.871],
46+
[46.359, 5.844, 8.007],
47+
[46.659, 5.828, 45.294],
48+
[4.419, 3.538, 3.516],
49+
[0.152, 0.01, 0.01],
50+
[0.014, 0.01, 0.009],
51+
[0.144, 0.011, 0.01],
52+
[0.014, 0.009, 0.009],
53+
[0.148, 0.013, 0.012],
54+
[0.14, 0.011, 0.012],
55+
[0.018, 0.01, 0.01]
56+
]
57+
}
58+

0 commit comments

Comments
 (0)