Skip to content

Commit d5c21c3

Browse files
Add GlareDB
1 parent d878476 commit d5c21c3

File tree

4 files changed

+173
-0
lines changed

4 files changed

+173
-0
lines changed

glaredb/benchmark.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
# Install
4+
5+
sudo apt-get install -y unzip
6+
curl https://glaredb.com/install.sh | sh
7+
8+
wget https://clickhouse-public-datasets.s3.eu-central-1.amazonaws.com/hits_compatible/athena/hits.parquet
9+
10+
cat queries.sql | while read query
11+
do
12+
sync
13+
echo 3 | sudo tee /proc/sys/vm/drop_caches
14+
15+
for i in $(seq 1 3); do
16+
./glaredb --timing --query "${query}"
17+
done;
18+
done 2>&1 | tee log.txt
19+
20+
cat log.txt | grep -oP 'Time: \d+\.\d+s|Error' | sed -r -e 's/Time: ([0-9]+\.[0-9]+)s/\1/; s/Error/null/' | awk '{ if (i % 3 == 0) { printf "[" }; printf $1; if (i % 3 != 2) { printf "," } else { print "]," }; ++i; }'

glaredb/queries.sql

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
SELECT COUNT(*) FROM 'hits.parquet';
2+
SELECT COUNT(*) FROM 'hits.parquet' WHERE "AdvEngineID" <> 0;
3+
SELECT SUM("AdvEngineID"), COUNT(*), AVG("ResolutionWidth") FROM 'hits.parquet';
4+
SELECT AVG("UserID") FROM 'hits.parquet';
5+
SELECT COUNT(DISTINCT "UserID") FROM 'hits.parquet';
6+
SELECT COUNT(DISTINCT "SearchPhrase") FROM 'hits.parquet';
7+
SELECT MIN("EventDate"), MAX("EventDate") FROM 'hits.parquet';
8+
SELECT "AdvEngineID", COUNT(*) FROM 'hits.parquet' WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY COUNT(*) DESC;
9+
SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM 'hits.parquet' GROUP BY "RegionID" ORDER BY u DESC LIMIT 10;
10+
SELECT "RegionID", SUM("AdvEngineID"), COUNT(*) AS c, AVG("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM 'hits.parquet' GROUP BY "RegionID" ORDER BY c DESC LIMIT 10;
11+
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM 'hits.parquet' WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
12+
SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM 'hits.parquet' WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
13+
SELECT "SearchPhrase", COUNT(*) AS c FROM 'hits.parquet' WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
14+
SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM 'hits.parquet' WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10;
15+
SELECT "SearchEngineID", "SearchPhrase", COUNT(*) AS c FROM 'hits.parquet' WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10;
16+
SELECT "UserID", COUNT(*) FROM 'hits.parquet' GROUP BY "UserID" ORDER BY COUNT(*) DESC LIMIT 10;
17+
SELECT "UserID", "SearchPhrase", COUNT(*) FROM 'hits.parquet' GROUP BY "UserID", "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT 10;
18+
SELECT "UserID", "SearchPhrase", COUNT(*) FROM 'hits.parquet' GROUP BY "UserID", "SearchPhrase" LIMIT 10;
19+
SELECT "UserID", extract(minute FROM "EventTime"::TIMESTAMP) AS m, "SearchPhrase", COUNT(*) FROM 'hits.parquet' GROUP BY "UserID", m, "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT 10;
20+
SELECT "UserID" FROM 'hits.parquet' WHERE "UserID" = 435090932899640449;
21+
SELECT COUNT(*) FROM 'hits.parquet' WHERE "URL" LIKE '%google%';
22+
SELECT "SearchPhrase", MIN("URL"), COUNT(*) AS c FROM 'hits.parquet' 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.parquet' WHERE "Title" LIKE '%Google%' AND "URL" NOT LIKE '%.google.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
24+
SELECT * FROM 'hits.parquet' WHERE "URL" LIKE '%google%' ORDER BY "EventTime" LIMIT 10;
25+
SELECT "SearchPhrase" FROM 'hits.parquet' WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10;
26+
SELECT "SearchPhrase" FROM 'hits.parquet' WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
27+
SELECT "SearchPhrase" FROM 'hits.parquet' WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10;
28+
SELECT "CounterID", AVG(length("URL")) AS l, COUNT(*) AS c FROM 'hits.parquet' 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.parquet' 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.parquet';
31+
SELECT "SearchEngineID", "ClientIP", COUNT(*) AS c, SUM("IsRefresh"), AVG("ResolutionWidth") FROM 'hits.parquet' 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.parquet' 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.parquet' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
34+
SELECT "URL", COUNT(*) AS c FROM 'hits.parquet' GROUP BY "URL" ORDER BY c DESC LIMIT 10;
35+
SELECT 1, "URL", COUNT(*) AS c FROM 'hits.parquet' GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10;
36+
SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, COUNT(*) AS c FROM 'hits.parquet' GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10;
37+
SELECT "URL", COUNT(*) AS "PageViews" FROM 'hits.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' 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.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' 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.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' 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.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "IsRefresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", Src, Dst ORDER BY "PageViews" DESC LIMIT 10 OFFSET 1000;
41+
SELECT "URLHash", "EventDate", COUNT(*) AS "PageViews" FROM 'hits.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "IsRefresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 3594120000172545465 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 10 OFFSET 100;
42+
SELECT "WindowClientWidth", "WindowClientHeight", COUNT(*) AS "PageViews" FROM 'hits.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' 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', "EventTime"::TIMESTAMP) AS M, COUNT(*) AS "PageViews" FROM 'hits.parquet' WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-14' AND "EventDate" <= '2013-07-15' AND "IsRefresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime"::TIMESTAMP) ORDER BY DATE_TRUNC('minute', "EventTime"::TIMESTAMP) LIMIT 10 OFFSET 1000;

glaredb/results/c6a.4xlarge.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"system": "GlareDB",
3+
"date": "2024-02-02",
4+
"machine": "c6a.4xlarge, 500gb gp2",
5+
"cluster_size": 1,
6+
"comment": "",
7+
"tags": ["Rust", "serverless"],
8+
"load_time": 0,
9+
"data_size": 14779976446,
10+
"result": [
11+
[0.212,0.068,0.069],
12+
[0.497,0.432,0.427],
13+
[0.561,0.481,0.468],
14+
[0.790,0.479,0.488],
15+
[1.305,1.242,1.218],
16+
[1.832,1.643,1.673],
17+
[0.478,0.426,0.425],
18+
[0.584,0.428,0.433],
19+
[2.121,1.899,1.945],
20+
[3.331,3.193,3.184],
21+
[0.950,0.712,0.697],
22+
[0.887,0.738,0.732],
23+
[1.782,1.668,1.621],
24+
[4.062,3.115,2.985],
25+
[1.904,1.775,1.788],
26+
[1.521,1.387,1.327],
27+
[3.860,3.246,3.309],
28+
[3.582,3.124,2.986],
29+
[7.795,6.466,6.406],
30+
[0.734,0.481,0.477],
31+
[9.874,1.941,1.938],
32+
[11.558,2.170,2.170],
33+
[22.431,4.418,4.392],
34+
[56.434,11.752,11.878],
35+
[3.021,0.908,0.921],
36+
[1.133,0.857,0.860],
37+
[2.953,0.973,0.993],
38+
[9.939,2.696,2.679],
39+
[9.516,5.651,5.663],
40+
[0.916,0.849,0.837],
41+
[2.629,1.481,1.475],
42+
[6.168,1.965,1.991],
43+
[9.628,9.584,9.216],
44+
[12.323,7.058,7.066],
45+
[12.660,7.637,7.675],
46+
[2.407,2.231,2.202],
47+
[9.977,2.080,2.087],
48+
[9.502,2.838,2.798],
49+
[10.046,2.059,2.074],
50+
[18.824,3.298,3.319],
51+
[2.963,0.947,0.951],
52+
[2.168,0.931,0.928],
53+
[null,null,null]
54+
]
55+
}

glaredb/results/c6a.metal.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"system": "GlareDB",
3+
"date": "2024-02-02",
4+
"machine": "c6a.metal, 500gb gp2",
5+
"cluster_size": 1,
6+
"comment": "",
7+
"tags": ["Rust", "serverless"],
8+
"load_time": 0,
9+
"data_size": 14779976446,
10+
"result": [
11+
[0.126,0.071,0.071],
12+
[4.173,4.056,4.053],
13+
[4.124,4.050,4.084],
14+
[4.401,4.156,4.205],
15+
[6.208,6.459,6.423],
16+
[5.439,5.417,5.453],
17+
[4.066,4.144,4.048],
18+
[4.135,4.042,4.097],
19+
[6.918,7.092,6.909],
20+
[5.804,5.632,5.691],
21+
[4.642,4.634,4.511],
22+
[4.664,4.671,4.725],
23+
[5.363,5.393,5.256],
24+
[6.736,6.464,6.541],
25+
[5.452,5.481,5.554],
26+
[6.241,6.508,6.388],
27+
[7.812,7.323,7.794],
28+
[7.311,7.738,7.600],
29+
[12.490,11.207,11.319],
30+
[4.404,4.151,4.117],
31+
[13.242,4.580,4.618],
32+
[15.032,4.689,4.610],
33+
[26.028,5.314,5.199],
34+
[59.771,8.805,8.617],
35+
[6.261,4.256,4.309],
36+
[4.503,4.245,4.435],
37+
[6.187,4.398,4.423],
38+
[13.294,4.730,4.807],
39+
[11.947,5.259,5.294],
40+
[4.310,4.210,4.229],
41+
[5.886,5.490,5.467],
42+
[9.690,6.028,6.107],
43+
[16.371,15.427,15.454],
44+
[14.420,8.996,9.194],
45+
[14.486,9.360,9.039],
46+
[6.616,6.838,6.601],
47+
[13.353,4.634,4.655],
48+
[12.745,4.769,4.711],
49+
[13.438,4.669,4.715],
50+
[22.180,5.008,4.988],
51+
[6.279,4.431,4.363],
52+
[5.515,4.420,4.315],
53+
[null,null,null]
54+
]
55+
}

0 commit comments

Comments
 (0)