2022-07-07 03:24:26 +00:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "UTF-8" >
< title > ClickBench — a Benchmark For Analytical DBMS< / title >
< link rel = "preconnect" href = "https://fonts.googleapis.com" >
< link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin >
< link href = "https://fonts.googleapis.com/css2?family=Inter&display=swap" rel = "stylesheet" >
< style >
html, body {
width: 100%;
height: 100%;
margin: 0;
overflow: auto;
box-sizing: border-box;
}
body {
font-family: 'Inter', sans-serif;
padding: 1% 3% 0 3%;
}
2022-07-07 04:45:39 +00:00
table {
border-spacing: 1px;
}
2022-07-07 03:24:26 +00:00
.stick-left {
position: sticky;
left: 0px;
}
.selectors-container {
padding: 2rem 0 2rem 0;
user-select: none;
}
.selectors-container th {
text-align: left;
vertical-align: top;
white-space: nowrap;
padding-top: 0.5rem;
padding-right: 1rem;
}
.selector {
display: inline-block;
margin-left: 0.1rem;
padding: 0.2rem 0.5rem 0.2rem 0.5rem;
background: #EEE;
color: black;
border: 0.2rem solid white;
border-radius: 0.5rem;
}
.selector-active {
background: #FFCB80;
}
a, a:visited {
text-decoration: none;
color: #08F;
2022-07-07 05:54:09 +00:00
cursor: pointer;
2022-07-07 03:24:26 +00:00
}
a:hover {
color: #F40;
font-weight: bold;
}
.selector:hover {
background: #EEE;
}
.selector-active:hover {
background: #FDB;
}
#summary tr:nth-child(odd) {
background: #F8F8F8;
}
.summary-name {
white-space: nowrap;
text-align: right;
padding-right: 1rem;
}
.summary-bar-cell {
width: 100%;
}
.summary-bar {
height: 1rem;
background: #FFCB80;
border-radius: 0 0.2rem 0.2rem 0;
}
.summary-number {
font-family: monospace;
text-align: right;
padding-left: 1rem;
2022-07-07 09:51:46 +00:00
white-space: nowrap;
2022-07-07 03:24:26 +00:00
}
th {
padding-bottom: 0.5rem;
}
.summary-row:hover {
background: #EEE !important;
font-weight: bold;
}
#details {
padding-bottom: 1rem;
}
#details th {
vertical-align: bottom;
white-space: pre;
}
#details td {
white-space: pre;
font-family: monospace;
text-align: right;
padding: 0.1rem 0.5rem 0.1rem 0.5rem;
}
.shadow:hover {
box-shadow: 0 0 1rem gray;
2022-07-07 04:45:39 +00:00
position: relative;
2022-07-07 03:24:26 +00:00
}
#legend {
font-family: monospace;
min-height: 4rem;
padding: 0.5rem;
margin-bottom: 1rem;
background: #FED;
border: 1px solid #FFCB80;
}
2022-07-07 04:45:39 +00:00
#nothing-selected {
display: none;
font-size: 32pt;
font-weight: bold;
color: #CCC;
}
2022-07-07 03:24:26 +00:00
< / style >
< script type = "text/javascript" >
const queries = [
"SELECT COUNT(*) FROM hits;",
"SELECT COUNT(*) FROM hits WHERE AdvEngineID < > 0;",
"SELECT SUM(AdvEngineID), COUNT(*), AVG(ResolutionWidth) FROM hits;",
"SELECT AVG(UserID) FROM hits;",
"SELECT COUNT(DISTINCT UserID) FROM hits;",
"SELECT COUNT(DISTINCT SearchPhrase) FROM hits;",
"SELECT MIN(EventDate), MAX(EventDate) FROM hits;",
"SELECT AdvEngineID, COUNT(*) FROM hits WHERE AdvEngineID < > 0 GROUP BY AdvEngineID ORDER BY COUNT(*) DESC;",
"SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10;",
"SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;",
"SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel < > '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;",
"SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel < > '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;",
"SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase < > '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;",
"SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase < > '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;",
"SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase < > '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;",
"SELECT UserID, COUNT(*) FROM hits GROUP BY UserID ORDER BY COUNT(*) DESC LIMIT 10;",
"SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;",
"SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10;",
"SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;",
"SELECT UserID FROM hits WHERE UserID = 435090932899640449;",
"SELECT COUNT(*) FROM hits WHERE URL LIKE '%google%';",
"SELECT SearchPhrase, MIN(URL), COUNT(*) AS c FROM hits WHERE URL LIKE '%google%' AND SearchPhrase < > '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;",
"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;",
"SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10;",
"SELECT SearchPhrase FROM hits WHERE SearchPhrase < > '' ORDER BY EventTime LIMIT 10;",
"SELECT SearchPhrase FROM hits WHERE SearchPhrase < > '' ORDER BY SearchPhrase LIMIT 10;",
"SELECT SearchPhrase FROM hits WHERE SearchPhrase < > '' ORDER BY EventTime, SearchPhrase LIMIT 10;",
"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;",
"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;",
"SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), ..., SUM(ResolutionWidth + 89) FROM hits;",
"SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase < > '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;",
"SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase < > '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;",
"SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;",
"SELECT URL, COUNT(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10;",
"SELECT 1, URL, COUNT(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10;",
"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;",
"SELECT URL, COUNT(*) AS PageViews FROM hits 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;",
"SELECT Title, COUNT(*) AS PageViews FROM hits 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;",
"SELECT URL, COUNT(*) AS PageViews FROM hits 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;",
"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 >= '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;",
"SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits 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;",
"SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits 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;",
"SELECT DATE_TRUNC('minute', EventTime) AS M, COUNT(*) AS PageViews FROM hits 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) ORDER BY DATE_TRUNC('minute', EventTime) LIMIT 10 OFFSET 1000;",
];
const data = [
{
2022-07-07 07:19:07 +00:00
"system": "Athena (partitioned)",
"date": "2022-07-01",
"machine": "serverless",
"cluster_size": "serverless",
"comment": "",
2022-07-07 03:24:26 +00:00
2022-07-07 07:19:07 +00:00
"tags": ["stateless", "managed", "SQL", "Java", "column-oriented"],
2022-07-07 03:24:26 +00:00
2022-07-07 07:19:07 +00:00
"load_time": 0,
"data_size": 13800000000,
2022-07-07 07:15:24 +00:00
2022-07-07 03:24:26 +00:00
"result": [
[2.777,3.275,2.925],
[1.503,3.136,4.003],
[4.544,3.833,3.64],
[3.9,2.514,3.522],
[3.46,2.186,3.244],
[3.624,2.742,3.185],
[2.21,1.984,3.123],
[3.207,2.403,2.685],
[2.936,2.014,3.869],
[8.333,7.102,4.434],
[7.401,4.697,3.155],
[4.214,3.065,4.748],
[6.207,4.213,2.576],
[3.428,3.085,3.401],
[2.92,3.3,3.278],
[2.205,2.558,2.419],
[4.641,3.888,2.155],
[3.219,2.822,3.292],
[3.23,3.579,4.31],
[2.288,3.543,3.95],
[3.032,2.859,2.807],
[3.926,3.247,2.928],
[4.477,4.048,4.392],
[7.407,6.375,6.123],
[2.611,2.872,2.827],
[2.566,2.567,3.6],
[3.673,3.733,2.925],
[2.426,3.218,2.78],
[5.125,3.778,4.25],
[4.565,4.03,4.066],
[3.628,3.219,2.953],
[6.207,5.973,3.158],
[4.339,5.601,4.234],
[2.618,3.107,3.433],
[4.661,2.79,2.846],
[2.373,1.629,2.734],
[2.721,2.15,1.962],
[3.207,2.154,2.186],
[2.453,2.477,3.217],
[2.691,4.732,3.584],
[2.589,2.613,3.231],
[1.926,3.617,1.82],
[1.506,2.404,2.343]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Athena (single)",
"date": "2022-07-01",
"machine": "serverless",
"cluster_size": "serverless",
"comment": "",
"tags": ["stateless", "managed", "SQL", "Java", "column-oriented"],
"load_time": 0,
"data_size": 13800000000,
"result": [
2022-07-07 03:24:26 +00:00
[2.268,1.327,2.137],
[3.427,2.248,3.605],
[3.254,2.548,2.316],
[3.025,2.314,3.003],
[2.264,2.876,4.213],
[3.044,2.745,2.698],
[2.732,2.199,2.659],
[2.022,3.692,3.072],
[2.746,2.477,2.785],
[3.53,2.782,4.031],
[2.709,2.047,2.853],
[2.318,1.969,3.4],
[2.635,1.935,2.707],
[3.049,3.38,3.071],
[3.661,2.387,2.476],
[2.479,2.591,2.21],
[3.093,3.698,4.351],
[3.479,3.236,2.274],
[4.36,2.97,3.457],
[2.525,2.384,3.328],
[3.34,3.174,3.409],
[3.163,2.971,3.034],
[2.999,3.539,2.906],
[6.454,7.597,7.858],
[2.754,1.951,2.645],
[2.852,3.018,2.718],
[2.513,2.678,2.417],
[3.293,2.521,2.771],
[4.392,3.863,3.981],
[3.658,4.246,4.027],
[3.028,3.87,2.337],
[2.923,3.635,3.591],
[3.142,4.105,3.15],
[3.66,3.187,4.745],
[2.652,2.695,2.742],
[2.262,2.776,1.815],
[1.881,2.212,2.053],
[1.934,2.551,1.524],
[2.069,2.26,1.805],
[2.626,2.902,2.793],
[1.791,2.082,2.481],
[3.757,2.6,1.946],
[2.608,1.994,3.967]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Aurora for MySQL",
"date": "2022-07-01",
"machine": "16acu",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Some queries cannot run due to ERROR 1114 (HY000) at line 1: The table '/rdsdbdata/tmp/#sqlaff_e5_0' is full",
"tags": ["managed", "SQL", "C++", "MySQL compatible", "row-oriented"],
"load_time": 7687.318,
"data_size": 89614492631,
"result": [
2022-07-07 03:24:26 +00:00
[740.42,739.91,746.65],
[828.2,835.67,832.87],
[830.08,830.98,832.38],
[829.88,832.83,830.87],
[845.99,842.4,843.21],
[869.51,870.69,869.75],
[823.77,829.08,825.54],
[827.74,832.87,829.25],
[916.26,909.46,929.17],
[946.49,939.27,932.32],
[852.37,857.69,854.74],
[857.99,864.05,825.14],
[null,null,null],
[863.37,860.2,865.62],
[null,null,null],
[891.84,895.28,893.68],
[null,null,null],
[null,null,null],
[1420.12,1419.34,1445.08],
[28.94,0.21,0.21],
[917.64,917.56,916.92],
[923.47,921.7,923.82],
[919.95,918.37,920.17],
[1002.19,1002.07,1001.2],
[902.23,902.65,901.8],
[901.17,900.02,898.3],
[900.04,898.89,903.35],
[901.78,902.71,901.28],
[null,null,null],
[1153.29,1154,1156.46],
[862.57,863.35,859.69],
[923.14,921.1,923.92],
[1370.78,1401.72,1401.44],
[1454.67,1455.55,1458.79],
[1463.31,1466.75,1461.83],
[941.03,944.07,937.23],
[7.42,2.80,2.77],
[2.57,2.52,2.59],
[1.50,1.52,1.59],
[3.62,3.57,3.61],
[0.95,0.94,0.94],
[0.90,0.92,0.91],
[1.69,1.72,1.69]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Aurora for PostgreSQL",
"date": "2022-07-01",
"machine": "16acu",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["managed", "SQL", "C", "PostgreSQL compatible", "row-oriented"],
"load_time": 2127,
"data_size": 52183852646,
"result": [
2022-07-07 03:24:26 +00:00
[12.8361,5.71812,5.8241],
[61.2565,62.1402,63.7173],
[68.0578,68.1218,67.609],
[7.83207,5.90193,6.0461],
[48.7194,48.0233,48.2198],
[289.492,304.639,282.436],
[6.30572,6.31857,6.21598],
[53.644,53.8931,53.5307],
[131.526,131.45,131.102],
[137.724,136.921,137.758],
[57.2079,56.2775,56.2152],
[56.5349,56.2048,55.9569],
[82.3897,82.8866,83.534],
[97.0569,97.1392,96.4731],
[85.6557,86.7783,86.2804],
[49.4325,42.4309,42.5743],
[111.537,114.59,111.807],
[88.4322,89.3756,87.7899],
[160.781,163.866,161.394],
[1025.04,2.10165,2.10065],
[106.741,56.2731,56.1535],
[59.2681,59.5272,59.536],
[58.6083,57.6054,57.3935],
[54.8271,55.1397,56.3487],
[54.718,52.469,53.271],
[53.5387,53.1926,52.4008],
[52.0042,51.9581,52.2453],
[60.1317,59.9695,59.2187],
[244.608,242.954,243.815],
[91.8674,92.4165,91.5884],
[63.7122,64.277,64.2783],
[69.2596,68.9535,69.4508],
[234.222,241.138,240.316],
[488.169,462.257,460.466],
[472.929,471.809,476.635],
[103.664,116.131,103.467],
[16.8124,3.34058,3.37782],
[0.852414,0.832073,0.859857],
[0.305464,0.31166,0.306694],
[4.55625,4.54098,4.58501],
[0.299746,0.297532,0.30334],
[0.275732,0.279817,0.27766],
[0.332107,0.324387,0.320099]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "BigQuery",
"date": "2022-07-01",
"machine": "serverless",
"cluster_size": "serverless",
"comment": "Looks like it shows uncompressed (billable) data size, and it is higher than CSV size",
"tags": ["managed", "SQL", "column-oriented"],
"load_time": 519.485,
"data_size": 94410000000,
"result": [
2022-07-07 03:24:26 +00:00
[1.451,1.284,1.272],
[1.462,1.23,1.318],
[1.394,1.338,1.248],
[1.248,1.41,1.377],
[1.506,1.661,1.538],
[1.581,1.709,1.639],
[1.39,1.195,1.274],
[1.431,1.362,1.378],
[2.012,1.92,3.148],
[3.104,3.118,3.111],
[1.342,1.355,1.489],
[1.374,1.443,1.349],
[1.659,1.707,1.649],
[3.086,3.123,4.189],
[1.684,1.98,1.823],
[1.899,1.654,1.704],
[3.097,2.872,3.09],
[3.193,3.091,3.073],
[5.162,4.125,4.121],
[1.362,1.183,1.171],
[1.508,1.624,1.578],
[1.537,1.554,1.484],
[1.931,1.977,2.024],
[3.135,3.141,3.182],
[1.494,1.377,1.321],
[1.342,1.49,1.348],
[1.397,1.377,1.482],
[3.084,3.115,3.11],
[4.144,3.41,4.131],
[3.086,3.129,3.094],
[1.887,1.861,1.783],
[2.068,1.837,1.938],
[4.126,4.14,4.173],
[3.103,3.106,3.117],
[4.149,4.136,4.172],
[3.111,3.127,1.988],
[1.539,1.443,1.412],
[1.213,1.202,1.252],
[1.16,1.213,1.174],
[1.723,1.747,1.764],
[1.173,1.122,1.124],
[1.164,1.162,1.098],
[1.292,1.226,1.274]
2022-07-07 07:19:07 +00:00
]
}
,
{
2022-07-07 07:38:11 +00:00
"system": "Citus",
2022-07-07 07:19:07 +00:00
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C", "PostgreSQL compatible", "column-oriented"],
"load_time": 1579,
"data_size": 18980918899,
"result": [
2022-07-07 03:24:26 +00:00
[7.58503,6.70447,6.52499],
[6.33941,5.06063,5.00238],
[11.7488,9.86417,9.93223],
[12.6306,9.36305,9.17061],
[40.6101,39.0803,38.1187],
[117.654,113.912,113.441],
[10.3404,8.08936,7.70732],
[6.31542,4.72821,4.72989],
[82.5425,77.2124,76.9219],
[91.1776,83.4492,82.4727],
[14.5474,10.0815,10.3873],
[15.4899,11.2922,11.1877],
[19.9794,15.5002,17.4492],
[76.9216,72.5172,72.7915],
[21.5446,17.5691,18.561],
[56.9438,54.6387,53.5745],
[75.0977,69.7842,70.0259],
[31.3299,27.0267,26.3216],
[129.417,122.956,121.182],
[3.73386,2.14148,2.12737],
[34.6021,27.9727,28.6878],
[37.152,29.6193,29.2966],
[52.2157,37.8589,37.6994],
[181.955,149.08,148.471],
[15.4687,11.3138,10.3856],
[10.2779,8.46868,8.8324],
[14.4687,10.4076,11.4263],
[47.009,40.2969,39.6888],
[749.946,742.979,744.461],
[69.4383,67.5636,67.2128],
[27.0317,21.4008,20.9524],
[36.6675,25.6347,26.4408],
[140.424,130.546,129.738],
[106.959,92.033,90.1609],
[110.98,94.4787,96.2656],
[64.4474,60.1853,60.6816],
[6.17549,6.25376,5.87004],
[1.99153,1.81776,1.80596],
[1.00141,0.800271,0.801975],
[7.91778,7.70928,8.33299],
[0.929845,0.642076,0.638478],
[0.866536,0.683567,0.680218],
[0.937823,0.784747,0.765929]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "clickhouse-local (partitioned)",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
2022-07-07 07:44:17 +00:00
"tags": ["SQL", "C++", "column-oriented", "embedded", "stateless", "ClickHouse derivative"],
2022-07-07 07:19:07 +00:00
"load_time": 0,
"data_size": 14737666736,
"result": [
2022-07-07 03:24:26 +00:00
[0.850, 0.102, 0.114],
[1.342, 0.090, 0.099],
[2.547, 0.179, 0.189],
[1.681, 0.245, 0.252],
[2.704, 1.680, 1.648],
[2.194, 1.460, 1.489],
[0.832, 0.113, 0.102],
[1.371, 0.106, 0.101],
[2.240, 0.790, 0.825],
[4.548, 1.021, 1.026],
[3.094, 0.552, 0.552],
[3.088, 0.623, 0.630],
[2.017, 1.170, 1.165],
[4.319, 1.677, 1.708],
[2.157, 1.496, 1.500],
[1.629, 1.138, 1.139],
[5.026, 3.267, 3.241],
[4.142, 2.303, 2.319],
[8.295, 5.569, 5.629],
[1.331, 0.255, 0.252],
[10.712, 3.668, 3.786],
[13.053, 4.185, 4.202],
[24.170, 7.935, 8.008],
[55.965, 23.933, 23.071],
[4.417, 0.947, 0.974],
[1.793, 0.698, 0.690],
[4.376, 0.955, 0.956],
[11.731, 4.385, 4.321],
[11.403, 8.549, 8.288],
[2.764, 2.754, 2.735],
[5.096, 1.262, 1.273],
[9.515, 1.682, 1.688],
[10.325, 6.745, 6.608],
[11.686, 6.261, 6.242],
[11.769, 6.301, 6.364],
[1.675, 1.490, 1.495],
[14.937, 3.631, 3.604],
[14.187, 3.609, 3.631],
[14.842, 3.769, 3.741],
[22.222, 6.355, 6.263],
[7.212, 0.836, 0.838],
[7.863, 0.716, 0.718],
[5.120, 0.587, 0.574]
2022-07-07 07:19:07 +00:00
]
}
,
{
2022-07-07 09:51:46 +00:00
"system": "clickhouse-local (single)",
2022-07-07 07:19:07 +00:00
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 09:51:46 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
2022-07-07 07:44:17 +00:00
"tags": ["SQL", "C++", "column-oriented", "embedded", "stateless", "ClickHouse derivative"],
2022-07-07 07:19:07 +00:00
"load_time": 0,
"data_size": 14779976446,
"result": [
2022-07-07 03:24:26 +00:00
[1.176, 0.251, 0.249],
[1.037, 0.134, 0.111],
[1.609, 0.403, 0.369],
[1.616, 0.372, 0.370],
[3.008, 2.338, 2.266],
[9.061, 7.537, 7.535],
[1.206, 0.191, 0.187],
[0.882, 0.144, 0.135],
[4.610, 3.406, 3.256],
[6.712, 4.479, 4.469],
[4.081, 2.413, 2.394],
[3.894, 2.719, 2.691],
[7.651, 6.436, 6.243],
[10.765, 8.043, 7.894],
[9.860, 8.945, 8.235],
[7.159, 5.815, 5.814],
[20.916, 18.159, 18.013],
[20.952, 17.862, 17.850],
[37.585, 32.649, 32.487],
[1.767, 0.401, 0.393],
[23.713, 15.687, 15.755],
[28.700, 19.241, 19.198],
[50.740, 33.161, 33.011],
[152.485, 117.417, 118.178],
[7.606, 4.491, 5.326],
[4.331, 4.214, 3.587],
[6.743, 4.486, 5.357],
[22.910, 15.043, 15.183],
[43.342, 37.167, 36.842],
[11.807, 4.490, 4.546],
[9.557, 6.349, 6.263],
[13.964, 8.493, 8.464],
[38.110, 33.642, 33.996],
[41.266, 35.080, 27.073],
[34.056, 26.814, 26.902],
[8.855, 7.548, 7.475],
[22.596, 12.615, 12.669],
[23.217, 13.956, 13.831],
[22.528, 21.601, 13.207],
[37.890, 23.115, 22.955],
[6.490, 1.548, 1.522],
[6.413, 1.474, 1.416],
[3.796, 1.339, 1.316]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "ClickHouse",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
2022-07-07 07:44:17 +00:00
"tags": ["SQL", "C++", "column-oriented", "ClickHouse derivative"],
2022-07-07 07:19:07 +00:00
"load_time": 475.529,
"data_size": 14345515782,
"result": [
2022-07-07 03:24:26 +00:00
[0.027, 0.001, 0.001],
[0.035, 0.015, 0.021],
[0.083, 0.034, 0.033],
[0.171, 0.044, 0.045],
[1.552, 1.495, 1.574],
[1.270, 1.075, 1.063],
[0.045, 0.026, 0.025],
[0.032, 0.016, 0.015],
[0.717, 0.615, 0.607],
[0.843, 0.821, 0.747],
[0.293, 0.219, 0.216],
[0.312, 0.226, 0.235],
[0.804, 0.694, 0.702],
[1.476, 1.047, 1.029],
[1.013, 0.898, 0.911],
[1.043, 0.964, 1.453],
[3.632, 2.715, 2.711],
[1.867, 1.750, 1.714],
[5.187, 4.797, 4.953],
[0.112, 0.068, 0.041],
[8.637, 1.761, 1.212],
[9.902, 0.902, 0.869],
[18.831, 2.067, 1.829],
[41.903, 4.476, 3.486],
[1.801, 0.254, 0.238],
[0.627, 0.214, 0.207],
[2.181, 0.241, 0.246],
[8.868, 0.748, 0.733],
[9.674, 6.891, 5.770],
[2.620, 2.355, 2.368],
[1.395, 0.533, 0.525],
[4.454, 0.730, 0.712],
[5.453, 4.990, 5.922],
[9.955, 3.968, 4.096],
[9.987, 4.035, 4.476],
[1.695, 1.236, 1.241],
[0.142, 0.079, 0.103],
[0.066, 0.033, 0.040],
[0.065, 0.030, 0.033],
[0.246, 0.207, 0.192],
[0.044, 0.019, 0.020],
[0.030, 0.023, 0.012],
[0.030, 0.018, 0.013]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "ClickHouse",
"date": "2022-07-01",
"machine": "c6a.metal, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
2022-07-07 07:44:17 +00:00
"tags": ["SQL", "C++", "column-oriented", "ClickHouse derivative"],
2022-07-07 07:19:07 +00:00
"load_time": 136.869,
"data_size": 14571706777,
"result": [
2022-07-07 03:24:26 +00:00
[0.011, 0.001, 0.001],
[0.040, 0.015, 0.013],
[0.045, 0.021, 0.023],
[0.090, 0.023, 0.023],
[1.922, 1.565, 1.576],
[0.961, 0.737, 0.739],
[0.040, 0.023, 0.018],
[0.032, 0.028, 0.028],
[0.321, 0.287, 0.275],
[0.632, 0.284, 0.287],
[0.166, 0.124, 0.118],
[0.235, 0.100, 0.102],
[1.006, 0.182, 0.159],
[1.637, 0.216, 0.213],
[0.871, 0.174, 0.177],
[0.258, 0.148, 0.148],
[1.804, 0.370, 0.358],
[1.235, 0.275, 0.278],
[3.143, 0.854, 0.815],
[0.071, 0.024, 0.016],
[8.816, 0.215, 0.155],
[10.239, 0.203, 0.173],
[19.179, 0.388, 0.357],
[43.152, 0.824, 0.823],
[1.821, 0.059, 0.052],
[0.992, 0.045, 0.051],
[2.539, 0.063, 0.058],
[9.258, 0.300, 0.278],
[7.923, 0.961, 0.936],
[0.445, 0.431, 0.428],
[1.367, 0.131, 0.113],
[4.819, 0.205, 0.175],
[3.808, 0.739, 0.726],
[8.935, 0.607, 0.600],
[8.988, 0.634, 0.615],
[0.242, 0.220, 0.226],
[0.075, 0.058, 0.056],
[0.038, 0.028, 0.026],
[0.043, 0.028, 0.021],
[0.172, 0.127, 0.119],
[0.028, 0.018, 0.017],
[0.027, 0.019, 0.014],
[0.018, 0.026, 0.015]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "CrateDB",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "For some queries it gives \"Data too large\".",
"tags": ["SQL", "Java", "column-oriented"],
"load_time": 10687,
"data_size": 109636633416,
"result": [
2022-07-07 03:24:26 +00:00
[0.008162,0.005118,0.002553],
[0.350014,0.39977,0.133775],
[2.58426,2.47192,2.59779],
[2.12939,0.532981,0.507246],
[null,null,null],
[null,null,null],
[1.18488,1.06603,1.07219],
[0.209264,0.073284,0.067912],
[null,null,null],
[null,null,null],
[1.68892,1.2866,1.47428],
[1.62976,1.43073,1.26904],
[12.7517,13.0334,13.2685],
[18.8587,null,18.6951],
[11.2982,11.2108,11.577],
[20.2964,20.4035,19.1076],
[null,null,null],
[null,null,null],
[null,null,null],
[0.202044,0.010009,0.005566],
[9.22964,4.54606,0.774149],
[1.41673,1.09885,0.789775],
[12.3933,8.06911,1.69671],
[1.45018,0.969528,0.979718],
[0.357589,0.14887,0.153326],
[0.189282,0.133963,0.130279],
[0.153222,0.140756,0.139861],
[27.5195,19.6862,20.1825],
[72.7575,68.2,67.1238],
[144.533,146.579,152.144],
[8.76866,9.00563,8.46917],
[17.6652,16.6755,16.0558],
[null,null,null],
[null,null,null],
[null,null,null],
[42.2967,44.9621,44.4386],
[0.786911,0.4904,0.508416],
[0.602075,0.226261,0.182399],
[0.131407,0.058958,0.054518],
[0.954736,1.1361,1.14233],
[0.23764,0.139109,0.134472],
[0.110253,0.057695,0.056073],
[0.124285,0.150479,0.066226]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Databend",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Only 90% of data successfully loaded. For some queries it gives \"Data too large\".",
"tags": ["SQL", "Rust", "column-oriented", "ClickHouse derivative"],
"load_time": 484,
"data_size": 43016643271,
"result": [
2022-07-07 03:24:26 +00:00
[0.010087, 0.002961, 0.003271],
[0.127964, 0.080012, 0.075741],
[0.162388, 0.143967, 0.144762],
[0.252904, 0.217471, 0.217369],
[34.281026, 34.844158, 34.526942],
[25.290307, 25.793068, 25.620563],
[0.112484, 0.093867, 0.090891],
[0.086604, 0.07796, 0.076448],
[20.723203, 20.7483, 20.354869],
[20.81994, 20.72446, 20.696573],
[1.964378, 1.93559, 1.893824],
[1.846866, 1.789111, 1.763664],
[4.468158, 4.407959, 4.438036],
[19.947276, 19.8859, 19.853514],
[5.478573, 5.474461, 5.460604],
[5.509521, 5.513413, 5.363123],
[15.430359, 15.5406, 15.461211],
[14.905998, 15.029721, 15.019642],
[31.069663, 30.811763, 30.737336],
[0.281067, 0.220021, 0.217741],
[8.89374, 4.12692, 4.131689],
[10.38448, 4.603694, 4.571757],
[19.980572, 8.836322, 8.892694],
[59.786474, 52.452881, 39.941988],
[2.804019, 0.994794, 0.958224],
[0.765299, 0.730434, 0.723964],
[2.784648, 0.94665, 0.936684],
[8.905027, 5.418438, 5.386109],
[12.187652, 12.230066, 12.164123],
[3.35748, 3.395991, 3.319434],
[4.309389, 3.854977, 3.772506],
[9.958201, 7.027432, 6.888253],
[50.200569, 50.535126, 50.283066],
[24.469412, 21.222713, 21.010188],
[26.115852, 23.93507, 24.835342],
[7.511517, 7.296179, 7.324549],
[2.156784, 1.298258, 1.278441],
[2.155447, 1.314499, 1.331237],
[2.007053, 1.181676, 1.155612],
[null, null, null],
[0.485363, 0.420291, 0.416819],
[0.372131, 0.322068, 0.323578],
[null, null, null]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Druid",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "Java", "column-oriented"],
2022-07-07 09:51:46 +00:00
"load_time": 19620,
"data_size": 45188608472,
2022-07-07 07:19:07 +00:00
"result": [
2022-07-07 03:24:26 +00:00
[0.179351, 0.040782, 0.026180],
[0.305672, 0.123548, 0.112512],
[0.187141, 0.072973, 0.071330],
[1.451711, 0.060012, 0.056498],
[1.819509, 1.405169, 1.377259],
[2.993129, 2.383569, 2.725656],
[0.061959, 0.016261, 0.010215],
[0.285995, 0.143307, 0.131404],
[3.561017, 2.008080, 2.019541],
[2.549107, 2.432374, 2.419320],
[0.302380, 0.235096, 0.178124],
[0.404714, 0.227526, 0.209203],
[0.866275, 0.745312, 0.715667],
[2.929871, 2.943361, 2.793336],
[2.031640, 1.839312, 1.598095],
[5.304266, 5.124386, 5.266312],
[4.370606, 3.720471, 3.679889],
[3.603636, 3.407057, 3.503119],
[0.030800, 0.004050, 0.003638],
[0.963703, 0.898970, 0.902731],
[18.642888, 18.434240, 18.451905],
[0.053461, 0.014235, 0.015694],
[0.040045, 0.020073, 0.021030],
[7.561157, 6.471910, 6.453816],
[0.111474, 0.019374, 0.027832],
[0.016728, 0.015407, 0.013660],
[0.013881, 0.012076, 0.012084],
2022-07-07 07:19:07 +00:00
[null, null, null],
2022-07-07 03:24:26 +00:00
[0.006903, 0.004498, 0.003752],
[1.758529, 1.328889, 1.393226],
[2.106015, 1.906621, 1.653751],
[2.708141, 2.064777, 1.868830],
[7.690441, 7.650803, 7.350766],
[17.321933, 18.088249, 18.109673],
2022-07-07 07:19:07 +00:00
[null, null, null],
2022-07-07 03:24:26 +00:00
[4.378734, 3.495874, 3.754953],
[0.623633, 0.603495, 0.580749],
[0.551690, 0.483025, 0.494859],
[0.516076, 0.189721, 0.184861],
[0.005613, 0.005072, 0.004628],
[0.375339, 0.276121, 0.264940],
[0.207965, 0.187909, 0.183420],
[0.176383, 0.107790, 0.106120]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "DuckDB",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Many queries triggered OOM",
"tags": ["SQL", "C", "column-oriented", "embedded"],
"load_time": 4217,
"data_size": 27241492480,
"result": [
2022-07-07 03:24:26 +00:00
[0.005694353996659629,0.003944558004150167,0.003837226002360694],
[0.16991353100456763,0.03919722700084094,0.03835860399703961],
[0.44898432699847035,0.04947217500011902,0.04852217998995911],
[0.07586832098604646,0.07051395199960098,0.07007493599667214],
[9.554053236002801,8.153356187991449,8.73448242500308],
[7.66042533799191,6.931124911992811,7.103380946995458],
[0.030703739990713075,0.027668555994750932,0.027583695002249442],
[0.1778664360026596,0.03942437999648973,0.03882004099432379],
[8.53439180701389,8.869582625004114,9.020313234999776],
[10.40215514000738,11.125320470004226,8.941559945000336],
[1.1747649609897053,1.04221136700653,1.004799570000614],
[1.2380354650085792,1.1211603130068397,2.4278587239969056],
[3.1751541379926493,0.9360461989999749,0.8868292279948946],
[6.855684430003748,7.300301584007684,5.712960822012974],
[3.70588762400439,1.0249276379909134,0.9473389159975341],
[2.1037107890006155,1.6215517020027619,1.5671920729946578],
[null,null,null],
[null,null,null],
[null,null,null],
[0.0002772739971987903,0.00016792300448287278,0.0001574420020915568],
[null,null,null],
[null,null,null],
[null,null,null],
[null,null,null],
[2.9310110910009826,0.19020285899750888,0.1736805049877148],
[2.939304119994631,0.18754731099761557,0.18073286200524308],
[2.8706370779982535,0.18822155400994234,0.17905898999015335],
[null,null,null],
[null,null,null],
[0.884408778991201,0.714329167996766,0.7135983259940986],
[5.3762675570033025,0.8803737630078103,0.8728962720051641],
[7.249190265996731,2.9648747390019707,2.866687831003219],
[null,null,null],
[null,null,null],
[null,null,null],
[4.515183198003797,4.030519469000865,4.014251719010645],
[0.11604027298744768,0.040539135996368714,0.04280066800129134],
[0.0457908230018802,0.021069509006338194,0.019683108999743126],
[0.0680370800109813,0.011889394998434,0.01056639499438461],
[0.22029169600864407,0.08547276000899728,0.09095505000732373],
[0.03759863799496088,0.008373684002435766,0.007633563989656977],
[0.025631797994719818,0.008081699008471332,0.007858585988287814],
[0.034359957004198804,0.025543516996549442,0.02533275399764534]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Greenplum",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C", "column-oriented", "PostgreSQL compatible"],
"load_time": 1080,
"data_size": 42000000000,
"result": [
2022-07-07 03:24:26 +00:00
[2.20009,1.45883,1.13573],
[1.28661,1.07897,1.01856],
[2.2582,2.42193,2.59693],
[1.89371,1.9246,1.73866],
[9.54471,9.71956,10.0357],
[4.55957,4.10112,4.70458],
[1.65167,1.89767,1.97051],
[1.02537,0.999323,1.00524],
[7.89792,7.75718,8.01219],
[11.3779,11.6003,11.2552],
[2.11955,2.05003,1.9553],
[2.01997,1.97932,1.98284],
[2.88666,2.92828,2.96822],
[4.06272,4.01771,4.03011],
[3.46303,3.24779,3.06475],
[8.43717,8.18641,7.99202],
[9.02176,8.91572,8.92748],
[8.66982,8.39332,8.62497],
[15.1321,14.9502,15.2344],
[1.00877,0.934589,0.975342],
[11.0582,3.25807,3.17687],
[12.2634,3.5188,3.93705],
[24.1522,4.86328,4.88764],
[67.1517,20.4,20.261],
[2.5799,1.66114,1.90432],
[1.72831,1.89536,1.2515],
[2.44154,1.46595,1.88238],
[11.1175,6.09551,6.02292],
[83.041,82.9784,82.8678],
[82.5441,82.5427,83.9836],
[3.0962,3.22225,3.19431],
[5.77576,4.05973,4.00366],
[43.6826,40.4375,40.1076],
[18.0978,13.2741,12.8894],
[17.3187,13.5411,13.5927],
[9.72405,9.90029,10.0177],
[0.294344,0.169606,0.173804],
[0.162524,0.117489,0.115532],
[0.145205,0.098342,0.097275],
[0.334809,0.275365,0.265053],
[0.154522,0.107654,0.10529],
[0.158957,0.117284,0.119068],
[0.193756,0.144787,0.145485]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "HeavyAI",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Previous names: OmniSci, mapD. Many queries cannot run due to errors and limitations.",
"tags": ["SQL", "C++", "column-oriented"],
"load_time": 572.633,
"data_size": 50887437386,
"result": [
2022-07-07 03:24:26 +00:00
[6.525,0.022,0.029],
[0.301,0.042,0.04],
[0.287,0.095,0.093],
[2.572,0.039,0.04],
[null,null,null],
[null,null,null],
[7.327,0.093,0.097],
[0.244,0.043,0.038],
[null,null,null],
[null,null,null],
[null,null,null],
[null,null,null],
[2.939,0.295,0.294],
[null,null,null],
[null,null,null],
[null,null,null],
[null,null,null],
[4.716,3.91,3.955],
[null,null,null],
[0.154,0.083,0.106],
[14.426,0.07,0.071],
[null,null,null],
[null,null,null],
[null,null,null],
[2.276,0.258,0.272],
[null,null,null],
[null,null,null],
[null,null,null],
[null,null,null],
[1.832,1.64,1.602],
[null,null,null],
[null,null,null],
[null,null,null],
[14.811,0.494,0.497],
[null,null,null],
[null,null,null],
[1.941,0.255,0.255],
[5.457,0.172,0.283],
[0.476,0.269,0.256],
[14.239,0.179,0.178],
[3.992,0.112,0.112],
[1.031,0.116,0.116],
[1.365,0.089,0.088]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Infobright",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Only 90% of data successfully loaded. Some queries run for days.",
"tags": ["SQL", "C++", "column-oriented", "MySQL compatible"],
"load_time": 2317,
"data_size": 13760341294,
"result": [
[0.01, 0, 0],
[2.39, 2.4, 2.44],
[0, 0, 0],
[7.21, 6.04, 6.91],
[16.09, 16.86, 15.69],
[48.8, 42.37, 48.63],
[0, 0, 0],
[3.48, 2.42, 2.42],
[23.56, 24.78, 22.21],
[32.87, 31.71, 34.48],
[14.8, 14.83, 14.11],
[16.7, 16.53, 17.37],
[1752.91, 1999.88, 1961.4],
[1193.43, 1167, 1220.47],
[2184.81, 2316.12, 2224.14],
[32.58, 30.69, 31.58],
[300.17, 16221.33, 16168.44],
[122.4, 120.49, 124.67],
[78927.44, 79250.44, 78504.89],
[3.38, 1.22, 1.21],
[289.73, 302.3, 285.83],
[415.82, 389.23, 403.28],
[573.82, 590.81, 575.06],
[300.13, 293.96, 285.64],
[41.42, 37.48, 39.64],
[75.2, 75.37, 72.07],
[39.22, 41.52, 40.11],
[449.56, 445.03, 448.68],
[null, null, null],
[450.87, 488.3, 453.83],
[58.69, 59.29, 58.07],
[84.47, 78.92, 79.38],
[517.97, 520.29, 504.96],
[182468.89, 182468.89, 182468.89],
[182468.89, 182468.89, 182468.89],
[68.43, 66.93, 67.68],
[8.3, 3.62, 3.61],
[1.04, 0.62, 0.62],
[0.22, 0.18, 0.18],
[567.78, 566.52, 563.02],
[0.29, 0.14, 0.11],
[0.17, 0.08, 0.08],
[1.37, 1.34, 1.32]
]
}
,
{
"system": "MariaDB ColumnStore",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Previous name: InfiniDB.",
"tags": ["SQL", "C++", "column-oriented", "MySQL compatible"],
"load_time": 2507.8,
"data_size": 19712857022,
"result": [
2022-07-07 03:24:26 +00:00
[0.151,0.158,0.148],
[0.100,0.101,0.106],
[1.221,1.233,1.226],
[0.739,0.736,0.741],
[2.025,2.046,2.004],
[3.725,4.801,3.755],
[0.871,0.749,0.736],
[0.118,0.108,0.103],
[2.108,2.029,2.029],
[4.225,4.271,4.288],
[1.711,1.402,1.407],
[1.526,1.435,1.420],
[5.339,4.172,3.610],
[4.692,4.729,4.960],
[4.013,3.860,3.918],
[3.236,2.680,2.629],
[null,null,null],
[null,null,null],
[null,null,null],
[0.137,0.109,0.147],
[12.331,6.069,8.619],
[2.162,2.178,2.192],
[16.849,30.463,26.639],
[92,90.208,92.814],
[3.042,1.763,1.791],
[1.779,1.772,1.749],
[1.793,1.821,1.888],
[13.036,10.747,9.590],
[null,null,null],
[78.224,79.141,77.806],
[2.837,2.654,2.675],
[5.833,4.552,3.678],
[null,null,null],
[null,null,null],
[null,null,null],
[3.626,3.546,3.709],
[1.719,1.787,1.876],
[1.345,0.906,0.910],
[0.117,0.091,0.093],
[1.217,1.133,1.133],
[0.114,0.063,0.062],
[0.100,0.062,0.061],
[null,null,null]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "MonetDB",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C", "column-oriented"],
"load_time": 939,
"data_size": 49696606499,
"result": [
2022-07-07 03:24:26 +00:00
[0.000218,0.000157,0.000155],
[0.101903,0.019908,0.018439],
[0.282431,0.035987,0.034938],
[2.868,0.029387,0.029207],
[4.675,4.515,4.511],
[6.584,4.269,4.650],
[0.528827,0.063135,0.065742],
[0.506863,0.020966,0.021687],
[8.343,4.457,4.408],
[7.224,6.548,7.576],
[0.267003,0.233353,0.230444],
[0.347206,0.28358,0.266085],
[5.389,3.099,3.074],
[7.653,7.759,8.596],
[3.276,3.326,3.292],
[5.310,3.465,3.578],
[9.341,9.143,9.536],
[9.584,9.604,9.419],
[19.539,19.783,19.611],
[0.004509,0.000702,0.000643],
[20.801,1.570,1.603],
[2.752,0.418221,0.395884],
[14.717,0.800894,0.395477],
[14.429,1.804,1.869],
[1.386,0.159602,0.156426],
[0.189736,0.167664,0.168781],
[0.164681,0.176666,0.17126],
[3.005,3.113,3.882],
[null,null,null],
[2.751,2.846,2.676],
[7.937,2.579,2.447],
[5.120,3.492,3.467],
[22.862,22.567,23.211],
[33.437,18.889,19.043],
[18.898,19.583,19.047],
[14.774,12.984,13.803],
[3.865,0.322143,0.323117],
[0.192149,0.177791,0.175984],
[0.194173,0.159398,0.165201],
[0.680778,0.592252,0.560738],
[0.106465,0.10638,0.102692],
[0.154871,0.153752,0.155782],
[0.11459,0.09639,0.095594]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "MySQL (MyISAM)",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C++", "row-oriented", "MySQL compatible"],
"load_time": 2512,
"data_size": 121588958061,
"result": [
2022-07-07 03:24:26 +00:00
[0.00,0.00,0.00],
[283.32,276.83,274.52],
[276.93,278.29,283.27],
[28.83,23.63,21.55],
[46.41,40.81,40.93],
[467.04,467.39,469.08],
[31.02,25.89,24.20],
[277.89,275.3,277.3],
[329.34,325.8,325.35],
[342.86,338.43,336.95],
[282.03,279.87,281.22],
[277.74,282.68,282],
[335.66,334.83,336.44],
[305.24,310.39,307.3],
[337.41,338.52,342.94],
[308.66,307.34,306.27],
[738.38,748.44,740.75],
[738.75,734.01,738.25],
[867.01,872.92,868.84],
[25.65,20.61,18.46],
[312.39,313.67,306.66],
[301.66,305.12,308.01],
[298.12,298.44,312.4],
[311.34,309.9,311.85],
[281.87,278.5,275],
[277.46,277.46,277.46],
[280.75,278.04,281.76],
[263.9,417.39,406.88],
[707.21,711.96,705],
[668.1,668.33,665.96],
[330.31,333.36,331.94],
[506.57,506.18,500.53],
[2604.49,2681.96,2703.12],
[830.65,832.88,831.14],
[831.98,830.46,833.41],
[608.49,608.51,613.68],
[4.56,4.13,4.16],
[3.80,3.80,3.70],
[1.65,1.45,1.46],
[6.33,5.14,6.15],
[1.60,1.41,1.41],
[1.56,1.42,1.39],
[7.04,1.17,1.13]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "MySQL",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C++", "row-oriented", "MySQL compatible"],
"load_time": 9472,
"data_size": 171953585825,
"result": [
2022-07-07 03:24:26 +00:00
[339.77,339.88,339.77],
[364.91,371.86,367.55],
[366.2,368.91,389.66],
[364.39,377.53,571.45],
[377.69,390.02,384.86],
[569.48,576.51,574.68],
[367.4,368.23,370.41],
[371.29,384.02,613.22],
[478.85,683.22,495.68],
[489.9,635.96,662.43],
[386.07,396.49,640.15],
[389.13,412.55,444.12],
[447.97,455.54,448.06],
[423.22,845.44,813.6],
[452.48,460.07,453.98],
[577.54,623.21,586.49],
[852.07,856.36,862.66],
[838.09,848.92,851.12],
[1006.37,1011.16,1023.17],
[369.76,375.61,415.28],
[412.45,419.9,456.62],
[411.65,432.88,482.2],
[412.73,420.73,429.5],
[551.16,577.62,545.45],
[382.89,394.76,386.37],
[380.9,391.4,385.05],
[385.3,394.67,460.32],
[388.95,394.7,387.21],
[800.33,807.90,807.11],
[706.03,745.27,718.9],
[450.9,489.59,530.97],
[625.5,651.93,647.32],
[2721.13,2792.12,2819.26],
[945.9,954.94,957.54],
[945.42,953.78,965.16],
[684.36,716.29,708.75],
[10.01,3.79,3.77],
[7.48,3.32,3.27],
[5.09,0.98,0.96],
[8.70,4.77,4.68],
[4.82,0.76,0.74],
[4.46,0.77,0.75],
[7.04,1.17,1.13]
2022-07-07 07:19:07 +00:00
]
}
,
2022-07-08 04:42:56 +00:00
{
"system": "Pinot",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "It successfully loaded only 94465149 out of 99997497 records. Some queries returned NullPointerException. The loading process is painful - splitting to 100 pieces required. It does not correctly report errors on data loading, the results may be incorrect.",
"tags": ["SQL", "Java", "column-oriented"],
"load_time": 2032,
"data_size": 9245538172,
"result": [
[0.002, 0.001, 0.001],
[0.186, 0.186, 0.185],
[0.251, 0.276, 0.258],
[0.475, 0.281, 0.238],
[3.907, 3.655, 3.633],
[30.471, 14.687, 14.93],
[null, null, null],
[0.135, 0.134, 0.148],
[3.039, 2.902, 2.938],
[3.159, 3.212, 3.225],
[4.217, 4.197, 4.384],
[4.145, 4.124, 4.121],
[2.989, 3.145, 3.18],
[6.402, 6.886, 6.374],
[3.245, 3.35, 3.129],
[5.112, 5.027, 5.141],
[5.509, 5.279, 5.257],
[0.865, 0.856, 0.829],
[null, null, null],
[0.017, 0.015, 0.015],
[54.348, 19.562, 19.128],
[null, null, null],
[76.596, 74.719, 14.228],
[7.441, 5.77, 5.87],
[0.376, 0.327, 0.286],
[7.689, 0.395, 1.281],
[3.434, 0.499, 0.5],
[27.679, 2.378, 2.393],
[null, null, null],
[2.221, 2.227, 2.167],
[4.941, 4.639, 4.565],
[5.641, 5.37, 5.007],
[5.295, 5.006, 5.357],
[5.28, 5.21, 5.105],
[6.231, 6.238, 6.385],
[5.918, 5.933, 5.934],
[0.26, 0.202, 0.21],
[0.364, 0.072, 0.069],
[0.042, 0.034, 0.035],
[1.483, 0.686, 0.651],
[0.113, 0.071, 0.079],
[0.042, 0.051, 0.037],
[null, null, null]
]
}
,
2022-07-07 07:19:07 +00:00
{
"system": "PostgreSQL",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "C", "row-oriented", "PostgreSQL compatible"],
"load_time": 2342,
"data_size": 77797067741,
"result": [
2022-07-07 03:24:26 +00:00
[439.753,309.785,282.017],
[317.874,254.238,254.941],
[262.883,263.072,263.090],
[32.421,5.310,5.060],
[57.134,42.648,42.334],
[358.423,356.315,358.342],
[31.524,5.350,4.994],
[263.145,263.193,263.165],
[323.659,322.858,321.918],
[327.395,326.170,326.231],
[265.983,265.681,265.912],
[269.984,265.336,265.379],
[284.096,284.560,282.234],
[277.250,279.455,280.035],
[285.660,286.200,283.611],
[66.605,32.023,38.282],
[312.452,304.431,305.391],
[289.209,290.449,287.578],
[331.706,327.485,334.428],
[24.646,2.543,2.263],
[267.561,267.496,267.524],
[267.729,267.690,268.184],
[263.074,263.120,267.040],
[267.602,267.488,267.494],
[263.141,263.859,263.137],
[262.923,263.102,263.113],
[262.885,263.088,263.114],
[267.864,269.127,268.204],
[303.376,306.925,308.664],
[263.221,263.119,263.148],
[270.814,270.575,270.294],
[278.342,275.925,276.224],
[584.599,576.932,591.502],
[462.576,446.962,439.779],
[429.930,417.696,416.704],
[296.875,297.283,295.140],
2022-07-07 07:19:07 +00:00
[3.461,0.842,0.794],
[2.179,0.564,0.558],
[2.258,0.566,0.416],
2022-07-07 03:24:26 +00:00
[2.805,1.311,1.317],
2022-07-07 07:19:07 +00:00
[2.936,0.820,0.615],
[2.197,0.736,0.535],
[1.983,0.320,0.312]
]
}
,
{
"system": "QuestDB",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "Many queries cannot run. It also crashes and hangs.",
"tags": ["SQL", "Java", "time-series"],
"load_time": 1667.5,
"data_size": 126680518680,
"result": [
2022-07-07 03:24:26 +00:00
[0.0155878,0.000283657,0.000328587],
[0.586734,0.0486348,0.0485346],
[6.41881,5.57954,6.25638],
[6.8554,3.11997,3.11813],
[47.8723,54.5425,53.1198],
[null,null,null],
[5.63439,3.70619,3.92043],
[0.699764,0.130462,0.126272],
[55.7179,62.8433,62.0045],
[null,59.6416,64.7753],
[63.7134,null,39.8928],
[46.759,46.8544,null],
[16.7181,10.9064,10.0735],
[79.9885,null,52.5617],
[16.1015,12.1835,13.1469],
[17.0225,11.7342,10.6194],
[24.1167,15.6749,16.8193],
[23.0848,15.3149,17.375],
[42.0965,26.2421,25.7593],
[0.0356335,0.027459,0.0289404],
[70.7679,71.5825,71.4573],
[null,null,null],
[null,null,null],
[77.0625,13.2257,12.7578],
[11.0775,2.90421,2.33398],
[3.31611,3.38837,3.35419],
[3.13233,5.2785,3.07075],
[null,null,null],
[null,null,null],
[186.032,185.627,180.963],
[26.7279,16.4799,18.8758],
[63.8785,32.1097,32.1561],
[64.4635,31.4538,35.654],
[118.897,null,119.015],
[null,null,null],
[19.6853,17.4427,16.7998],
[1.50985,0.877967,0.885536],
[0.805639,0.577352,0.534731],
[0.509284,0.448942,0.467679],
[1.37609,0.966942,0.912858],
[0.567887,0.394619,0.438952],
[0.508977,0.441015,0.40528],
[null,null,null]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Redshift",
"date": "2022-07-01",
"machine": "ra3.xplus",
2022-07-07 07:29:26 +00:00
"cluster_size": 4,
2022-07-07 07:19:07 +00:00
"comment": "One query did not run due to overflow check and another due to missing regexp function.",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2136,
"data_size": 30794579968,
"result": [
2022-07-07 03:24:26 +00:00
[0.081437,0.022376,0.022491],
[2.54868,0.024112,0.024072],
[2.62053,0.049948,0.049768],
[null,null,null],
[0.62714,0.447655,0.43262],
[1.14153,1.09479,1.09441],
[0.153399,0.053941,0.048224],
[3.76153,0.032235,0.030949],
[4.43439,0.746808,0.723719],
[6.13424,2.20458,2.20031],
[4.35338,0.220122,0.228684],
[5.15139,0.231856,0.230993],
[5.00006,1.10841,1.12871],
[5.80125,1.86531,1.90209],
[5.16246,1.21239,1.14848],
[0.579428,0.535859,0.546178],
[6.05764,2.17455,2.18286],
[5.86612,2.52634,2.48672],
[7.80075,3.35512,3.41153],
[2.54112,0.036378,0.035944],
[6.47189,2.26909,2.2673],
[6.95344,2.61929,2.65637],
[12.9508,6.85457,6.99],
[25.3022,11.8857,11.8493],
[4.37592,0.452737,0.452867],
[4.17199,0.469457,0.476302],
[6.24746,0.470935,0.482502],
[6.00065,2.08332,2.08059],
[null,null,null],
[22.2567,18.5376,18.3441],
[5.37492,0.868068,0.849486],
[7.29067,1.06155,1.11209],
[7.7832,4.07132,4.00384],
[8.95385,5.15488,5.21863],
[9.2232,5.32052,5.73207],
[4.99205,0.664347,0.618918],
[6.82279,1.89738,1.89398],
[7.09077,2.19008,2.26612],
[5.29731,0.19626,0.204603],
[6.07138,0.276315,0.267161],
[4.03108,0.054134,0.058568],
[4.35647,0.061157,0.053367],
[5.23605,0.037217,0.036335]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Redshift",
"date": "2022-07-01",
"machine": "serverless",
"cluster_size": "serverless",
"comment": "One query did not run due to overflow check and another due to missing regexp function.",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 1933,
"data_size": 30300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.436955,0.390225,0.387823],
[2.74529,0.280571,0.198074],
[7.24569,0.295612,0.386568],
[null,null,null],
[3.98825,0.488446,0.325645],
[4.24601,0.538891,0.690124],
[7.25492,0.288505,0.207515],
[5.99594,0.212732,0.281278],
[6.17534,0.681868,0.586073],
[6.37779,1.37865,1.31614],
[6.41405,0.549735,0.421345],
[6.64688,0.445678,0.477323],
[4.2294,0.361772,0.520471],
[4.73701,0.788258,0.743465],
[4.49038,0.670446,0.52727],
[6.19886,0.663381,0.583588],
[5.9867,0.679607,0.672772],
[2.76661,0.567555,0.51494],
[6.20219,0.816422,0.760568],
[2.51526,0.053,0.025066],
[2.96003,0.282737,0.226979],
[6.79648,0.57495,0.400798],
[6.37854,0.92746,1.05793],
[25.8462,0.902664,0.905365],
[5.00521,0.247895,0.308836],
[6.38373,0.308781,0.244082],
[4.25427,0.229966,0.247201],
[5.98382,0.398218,0.455249],
[null,null,null],
[6.52367,1.35877,1.30562],
[7.36935,0.536226,0.582304],
[7.05948,0.621982,0.639653],
[4.62901,0.954522,0.908651],
[4.95273,1.03062,1.10289],
[4.71404,1.06378,1.04157],
[4.8201,0.499996,0.575546],
[5.32757,0.566517,0.562058],
[5.37681,0.626458,0.658628],
[5.23137,0.470622,0.540079],
[6.09326,0.561312,0.574978],
[4.86561,0.595546,0.534209],
[4.34256,0.433804,0.414541],
[4.19814,0.288269,0.415328]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "SingleStore",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "Previous name: MemSQL. Some queries did not run due to memory limits",
"tags": ["SQL", "MySQL compatible", "column-oriented"],
"load_time": 690,
"data_size": 29836263469,
"result": [
2022-07-07 03:24:26 +00:00
[0.09,0.00,0.00],
[0.23,0.04,0.01],
[0.47,0.15,0.15],
[0.63,0.09,0.08],
[1.65,1.23,1.20],
[7.96,2.79,2.63],
[0.10,0.00,0.00],
[0.17,0.02,0.02],
[1.90,1.40,1.39],
[4.79,3.52,3.48],
[0.94,0.22,0.23],
[0.89,0.24,0.23],
[5.82,2.26,2.25],
[6.97,4.62,4.66],
[3.05,2.28,2.31],
[3.92,2.70,2.28],
[5.83,4.48,4.42],
[4.76,4.13,4.12],
[14.03,null,null],
[0.57,0.05,0.04],
[18.18,1.74,1.94],
[20.85,2.17,0.98],
[31.98,3.12,1.22],
[78.96,3.35,108.85],
[2.82,0.39,0.32],
[1.83,0.44,0.35],
[2.81,0.33,0.32],
[18.33,2.57,1.15],
[null,null,null],
[3.56,2.40,2.40],
[3.83,1.11,1.11],
[7.35,1.73,1.70],
[null,null,null],
[null,null,null],
[null,null,null],
[2.53,1.92,1.84],
[0.92,0.23,0.19],
[0.84,0.15,0.08],
[0.70,0.05,0.05],
[3.12,0.38,0.36],
[0.29,0.03,0.03],
[0.22,0.06,0.02],
[0.27,0.11,0.12]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "2XL",
2022-07-07 07:29:26 +00:00
"cluster_size": 32,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.177,0.052,0.090],
[0.903,0.324,0.782],
[0.458,2.909,0.275],
[0.881,0.316,0.166],
[0.404,0.257,0.256],
[0.481,0.325,0.339],
[0.056,0.062,0.060],
[0.183,0.324,0.280],
[0.444,0.314,0.320],
[0.408,0.426,0.417],
[0.345,0.241,0.253],
[0.406,0.245,0.235],
[0.521,1.259,0.326],
[0.466,0.493,0.526],
[0.447,0.349,0.362],
[0.327,0.322,0.302],
[0.462,0.508,0.461],
[0.489,0.481,0.455],
[0.731,0.659,0.674],
[0.151,0.156,0.160],
[0.832,0.339,0.312],
[0.289,0.292,0.340],
[0.591,0.484,0.419],
[2.661,0.716,0.696],
[0.190,0.199,0.377],
[0.181,0.182,0.194],
[0.220,0.209,0.195],
[0.368,0.330,0.347],
[0.677,0.645,0.646],
[0.877,0.886,0.871],
[0.415,0.282,0.301],
[1.265,0.404,0.550],
[0.786,0.750,0.757],
[0.905,0.835,0.841],
[0.864,0.865,0.823],
[0.352,0.360,0.364],
[0.201,0.186,0.200],
[0.143,0.137,0.276],
[0.290,0.132,0.146],
[0.310,0.301,0.304],
[0.212,0.197,0.170],
[0.223,0.174,0.177],
[0.172,0.172,0.172]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "3XL",
2022-07-07 07:29:26 +00:00
"cluster_size": 64,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.165,0.061,0.049],
[1.356,1.252,1.502],
[1.287,0.470,0.325],
[0.627,0.331,0.181],
[0.265,0.265,0.483],
[0.887,0.450,0.298],
[0.054,0.066,0.062],
[0.182,0.222,0.194],
[0.408,0.438,0.319],
[0.434,0.462,0.411],
[1.357,0.247,0.412],
[0.343,0.250,0.517],
[0.273,0.289,0.600],
[0.404,0.405,0.392],
[0.379,0.304,0.455],
[0.275,0.271,0.264],
[0.418,0.386,0.388],
[0.417,0.434,0.567],
[0.753,0.759,0.506],
[0.291,0.307,0.400],
[0.954,0.423,0.280],
[0.568,0.562,0.248],
[0.568,0.477,0.496],
[1.458,0.492,0.514],
[0.179,0.300,0.184],
[0.165,0.169,0.176],
[0.197,0.186,0.190],
[0.289,0.547,0.397],
[0.513,0.544,0.632],
[0.766,0.754,0.775],
[0.389,0.374,0.383],
[0.484,0.297,0.286],
[0.505,0.505,0.734],
[0.656,0.598,0.621],
[0.634,0.646,0.609],
[0.309,0.298,0.370],
[0.192,0.219,0.212],
[0.840,0.174,0.139],
[0.172,0.163,0.151],
[0.323,0.296,0.347],
[0.200,0.154,0.144],
[0.191,0.121,0.125],
[0.137,0.233,0.148]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "4XL",
2022-07-07 07:29:26 +00:00
"cluster_size": 128,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.164,0.061,0.078],
[2.471,2.436,1.927],
[1.656,0.222,0.639],
[0.336,1.244,0.206],
[0.435,0.414,0.373],
[0.520,0.495,0.326],
[0.052,0.051,0.057],
[0.244,0.515,0.358],
[0.473,0.477,0.659],
[0.706,0.523,0.499],
[0.619,0.361,0.303],
[0.463,0.367,0.290],
[0.385,0.319,0.376],
[0.661,0.436,0.452],
[0.446,0.317,0.336],
[0.504,0.283,0.395],
[0.478,1.395,0.350],
[0.555,1.041,0.993],
[0.565,0.558,1.473],
[0.310,0.684,0.278],
[0.637,1.202,0.249],
[0.467,0.294,0.436],
[0.671,0.478,0.611],
[6.262,0.449,0.425],
[0.476,0.213,0.184],
[0.552,0.241,0.201],
[0.458,0.415,0.402],
[0.339,0.357,0.322],
[0.732,0.549,0.483],
[0.914,0.757,0.743],
[0.718,0.310,0.606],
[0.605,0.363,0.425],
[0.468,0.860,0.784],
[0.868,1.787,0.713],
[0.807,0.691,0.544],
[0.485,0.338,0.672],
[0.263,0.221,0.230],
[0.147,0.145,0.139],
[0.135,0.239,0.136],
[0.322,0.378,0.348],
[0.236,0.138,0.132],
[0.193,0.124,0.139],
[0.146,0.145,0.139]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "L",
2022-07-07 07:29:26 +00:00
"cluster_size": 8,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.067,0.054,0.051],
[1.158,1.409,0.190],
[1.470,0.566,0.715],
[0.892,0.534,0.264],
[0.474,0.499,0.489],
[0.950,0.650,0.699],
[0.069,0.055,0.110],
[0.317,0.307,0.321],
[0.949,0.593,0.654],
[0.713,1.099,0.860],
[0.622,0.370,0.404],
[0.457,0.369,0.414],
[0.610,0.566,0.653],
[0.970,1.006,0.976],
[1.517,0.636,0.603],
[0.532,0.541,0.533],
[1.018,1.001,1.022],
[0.942,0.996,0.940],
[2.246,1.596,1.560],
[0.181,0.184,0.200],
[1.135,0.788,0.609],
[0.669,0.528,0.524],
[1.164,0.827,0.882],
[3.545,2.214,2.107],
[0.559,0.431,0.426],
[0.340,0.296,0.383],
[0.695,0.314,0.368],
[0.628,0.658,0.637],
[1.511,1.385,1,440],
[1.390,1.418,1.322],
[1.107,0.687,0.537],
[1.026,0.737,0.659],
[1.712,1.681,1.728],
[2.141,2.130,2.225],
[2.163,2.157,2.110],
[0.650,0.619,0.627],
[0.204,0.195,0.225],
[0.159,0.152,0.156],
[0.146,0.136,0.150],
[0.359,0.290,0.364],
[0.196,0.129,0.227],
[0.201,0.128,0.143],
[0.176,0.129,0.146]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "M",
2022-07-07 07:29:26 +00:00
"cluster_size": 4,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.054,0.062,0.064],
[0.698,0.563,0.407],
[0.586,0.412,0.266],
[1.386,0.363,0.301],
[0.814,0.825,0.984],
[1.303,1.024,1.048],
[0.069,0.066,0.062],
[0.334,0.254,0.270],
[1.043,0.952,0.993],
[1.210,1.209,1.171],
[0.667,0.483,0.456],
[0.543,0.495,0.500],
[1.005,0.889,0.888],
[1.644,1.646,1.652],
[1.054,1.044,0.966],
[0.893,0.874,0.907],
[1.737,1.779,1.837],
[1.518,1.539,1.526],
[3.082,2.818,2.842],
[0.309,0.286,0.256],
[1.594,1.017,0.993],
[0.781,0.853,0.735],
[1.461,1.226,1.080],
[5.308,2.974,2.642],
[0.511,0.625,0.467],
[0.405,0.382,0.439],
[0.601,0.535,0.471],
[0.947,1.624,1.192],
[2.631,2.486,2.490],
[1.938,1.960,1.954],
[1.930,0.830,0.835],
[1.359,1.140,1.062],
[3.599,3.623,3.621],
[3.619,3.741,3.663],
[3.725,3.614,3.786],
[1.149,1.126,1.055],
[0.202,0.207,0.196],
[0.152,0.139,0.145],
[0.149,0.144,0.148],
[0.383,0.287,0.294],
[0.203,0.137,0.119],
[0.200,0.312,0.137],
[0.149,0.130,0.214]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "S",
2022-07-07 07:29:26 +00:00
"cluster_size": 2,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.186,0.060,0.062],
[0.980,0.574,0.311],
[0.977,0.554,0.426],
[0.686,0.573,0.404],
[1.386,1.384,1.349],
[1.871,1.697,1.704],
[0.052,0.059,0.227],
[0.309,0.536,0.508],
[1.768,1.631,1.635],
[2.039,2.219,1.908],
[0.807,0.647,0.587],
[0.763,0.690,0.631],
[1.403,1.586,1.404],
[2.593,2.584,2.554],
[1.670,1.538,1.653],
[1.659,1.509,1.514],
[2.875,2.990,2.998],
[2.605,2.549,2.598],
[6.120,5.894,5.766],
[0.320,0.431,0.416],
[2.406,1.703,1.609],
[1.189,1.186,1.163],
[2.104,1.441,1.370],
[7.144,5.174,4.139],
[0.839,0.659,0.641],
[0.527,0.518,0.509],
[0.633,0.621,0.695],
[1.491,1.509,1.514],
[4.848,4.485,4.571],
[3.067,3.106,3.098],
[1.521,1.224,1.236],
[1.839,1.690,1.497],
[5.692,5.751,6.087],
[6.733,6.755,6.712],
[6.722,6.709,6.676],
[1.704,1.686,1.676],
[0.203,0.231,0.218],
[0.151,0.134,0.214],
[0.140,0.156,0.163],
[0.317,0.328,0.319],
[0.166,0.133,0.141],
[0.166,0.120,0.140],
[0.120,0.119,0.126]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "XL",
2022-07-07 07:29:26 +00:00
"cluster_size": 16,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.071,0.053,0.057],
[0.998,0.610,0.240],
[0.420,1.138,1.051],
[0.653,0.264,0.178],
[0.352,0.312,0.349],
[1.126,0.431,0.420],
[0.067,0.057,0.054],
[0.225,0.217,0.200],
[0.617,0.366,0.371],
[1.006,0.541,0.498],
[0.463,0.425,0.293],
[0.431,0.360,0.339],
[0.392,0.371,0.386],
[0.588,0.581,0.590],
[0.634,0.414,0.400],
[0.368,0.410,0.388],
[0.594,0.639,0.663],
[0.616,0.581,0.569],
[1.092,0.933,0.901],
[0.493,0.213,0.160],
[0.886,0.480,0.442],
[0.448,0.337,0.399],
[0.840,0.572,0.505],
[2.251,1.230,0.959],
[0.295,0.253,0.241],
[0.214,0.239,0.278],
[0.261,0.232,0.314],
[0.422,0.429,0.403],
[0.892,0.934,0.883],
[1.041,1.017,1.009],
[0.715,0.442,0.363],
[0.845,0.413,0.461],
[1.101,1.085,1.102],
[1.294,1.272,1.339],
[1.839,1.327,1.241],
[0.439,0.399,0.393],
[0.199,0.211,0.190],
[0.157,0.143,0.140],
[0.145,0.157,0.141],
[0.331,0.291,0.333],
[0.173,0.214,0.138],
[0.189,0.150,0.159],
[0.135,0.149,0.138]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Snowflake",
"date": "2022-07-01",
"machine": "XS",
2022-07-07 07:29:26 +00:00
"cluster_size": 1,
2022-07-07 07:19:07 +00:00
"comment": "",
"tags": ["SQL", "managed", "column-oriented"],
"load_time": 2524,
"data_size": 12300000000,
"result": [
2022-07-07 03:24:26 +00:00
[0.169,0.055,0.056],
[1.184,0.582,0.386],
[1.350,0.560,0.568],
[1.270,0.554,0.538],
[2.516,2.564,2.506],
[2.935,2.649,2.670],
[0.052,0.050,0.064],
[0.383,0.387,0.397],
[3.249,2.993,3.014],
[3.589,3.627,3.887],
[1.243,0.986,0.966],
[1.325,1.080,1.073],
[2.038,2.046,2.035],
[3.738,3.626,3.718],
[2.318,2.159,2.176],
[2.733,2.637,2.668],
[5.607,5.683,5.667],
[3.978,3.923,3.879],
[10.085,9.871,9.844],
[0.450,0.375,0.469],
[5.474,3.103,3.060],
[2.012,1.982,1.971],
[3.365,2.471,2.501],
[11.960,10.619,9.518],
[1.074,1.059,1.026],
[0.856,0.846,0.879],
[1.100,1.085,1.083],
[3.057,3.228,3.117],
[9.406,9.019,9.158],
[6.196,6.243,6.911],
[2.906,2.343,2.017],
[2.954,2.666,2.565],
[9.459,9.565,9.557],
[9.555,9.529,9.368],
[9.409,9.185,9.294],
[2.796,2.880,2.685],
[0.299,0.249,0.262],
[0.156,0.145,0.180],
[0.147,0.146,0.160],
[0.371,0.357,0.356],
[0.166,0.133,0.155],
[0.218,0.140,0.135],
[0.140,0.152,0.158]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "SQLite",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "",
"tags": ["SQL", "C", "embedded", "row-oriented"],
"load_time": 2608,
"data_size": 75776589824,
"result": [
2022-07-07 03:24:26 +00:00
[752.739,2.003,1.2],
[304.302,291.521,286.965],
[293.964,287.619,287.219],
[758.302,5.879,5.65],
[836.393,48.593,48.452],
[362.605,344.884,356.245],
[763.993,11.602,10.795],
[296.348,286.879,287.557],
[365.816,360.339,354.126],
[374.403,365.196,362.261],
[302.989,293.888,298.432],
[303.64,291.729,295.347],
[316.824,298.18,301.006],
[320.665,301.15,305.227],
[313.593,301.021,301.626],
[794.881,47,47.225],
[355.346,344.615,342.442],
[316.499,305.971,305.007],
[398.177,380.383,385.571],
[751.82,5.082,4.913],
[295.522,286.573,287.368],
[298.58,287.182,288.303],
[296.474,288.747,288.638],
[296.579,287.127,287.361],
[304.709,286.865,287.56],
[300.391,290.633,288.587],
[294.605,286.91,287.799],
[305.986,312.111,305.626],
[null,null,null],
[411.225,397.614,394.253],
[307.711,295.181,300.266],
[312.472,299.079,298.19],
[386.674,378.347,376.963],
[409.742,409.554,420.273],
[468.73,453.709,458.149],
[366.015,347.446,346.728],
[2.911,0.781,0.757],
[1.599,0.609,0.587],
[1.288,0.256,0.238],
[2.469,1.582,1.52],
[1.274,0.303,0.283],
[1.322,0.317,0.314],
[1.498,0.602,0.613]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "TimescaleDB (compression)",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "",
"tags": ["SQL", "C", "PostgreSQL compatible", "column-oriented", "time-series"],
"load_time": 4605,
"data_size": 20333747165,
"result": [
2022-07-07 03:24:26 +00:00
[2.28686,1.63642,1.64263],
[32.6848,1.63476,1.40052],
[60.8633,3.70484,3.59342],
[36.4029,2.87091,2.80739],
[110.391,38.9688,38.0549],
[147.379,66.2513,65.6379],
[33.0294,2.92031,2.84375],
[33.0221,1.2984,1.19227],
[115.694,47.4651,47.0125],
[156.347,51.577,51.2694],
[68.3301,4.75521,4.68007],
[77.4356,5.55128,5.56577],
[49.7741,11.2911,11.3265],
[81.1014,14.9111,14.9541],
[82.9569,14.6156,14.6331],
[62.0338,26.399,26.3351],
[103.259,36.4122,36.6076],
[92.8828,26.2395,25.8991],
[144.281,63.5102,63.7661],
[7.00679,0.573073,0.536283],
[75.0203,7.86344,7.90495],
[81.2825,9.15868,9.01775],
[104.084,13.9528,13.8435],
[132.531,81.522,82.1561],
[80.6965,3.28231,3.16574],
[39.7693,2.51443,2.43849],
[80.4245,3.26941,3.13916],
[104.015,13.7044,13.5313],
[307.26,253.127,252.147],
[42.8549,22.4187,22.0325],
[137.601,14.9592,14.6804],
[136.767,22.8007,22.131],
[263.005,168.551,163.355],
[156.919,92.6308,91.702],
[160.842,96.0512,97.1773],
[62.8357,28.0336,28.7397],
[1.75869,0.561604,0.541215],
[0.46607,0.191863,0.19021],
[0.303671,0.137579,0.136615],
[2.32031,1.49223,1.52369],
[0.563764,0.14192,0.138234],
[0.372428,0.122989,0.123709],
[0.448574,0.159092,0.154687]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "TimescaleDB",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "",
"tags": ["SQL", "C", "PostgreSQL compatible", "row-oriented", "time-series"],
"load_time": 1620,
"data_size": 72882392030,
"result": [
2022-07-07 03:24:26 +00:00
[437.700,215.793,176.420],
[327.026,259.568,244.578],
[262.978,263.090,263.083],
[262.807,263.046,266.847],
[337.497,334.964,330.852],
[355.689,356.801,362.894],
[262.762,263.012,262.968],
[263.055,263.016,263.028],
[319.928,319.388,320.704],
[323.584,322.224,322.488],
[265.979,265.465,265.375],
[266.019,265.543,265.462],
[277.018,276.300,276.595],
[280.352,279.251,279.572],
[279.915,279.896,279.674],
[296.377,298.506,297.659],
[314.448,314.605,312.570],
[302.668,302.672,303.039],
[325.810,324.061,324.376],
[262.447,262.698,262.704],
[267.581,267.467,267.482],
[268.085,267.466,267.696],
[263.391,263.097,263.126],
[38.291,0.435,0.335],
[0.127,0.005,0.005],
[263.138,263.100,263.092],
[0.889,0.341,0.339],
[267.586,267.498,267.491],
[289.086,290.012,290.093],
[263.220,263.071,263.109],
[274.780,273.995,273.998],
[282.217,281.390,281.470],
[429.273,426.588,439.431],
[448.808,418.724,418.207],
[455.196,422.750,423.142],
[299.263,296.937,297.261],
[18.693,1.552,1.481],
[18.125,0.945,0.937],
[18.528,1.062,0.902],
[18.268,1.779,1.770],
[19.615,1.965,1.966],
[18.970,1.435,1.430],
[18.330,1.153,0.952]
2022-07-07 07:19:07 +00:00
]
}
,
{
"system": "Vertica",
"date": "2022-07-01",
"machine": "c6a.4xlarge, 500gb gp2",
"cluster_size": 1,
"comment": "",
"tags": ["SQL", "column-oriented"],
"load_time": 12239,
"data_size": 22597367016,
"result": [
2022-07-07 03:24:26 +00:00
[0.031357,0.020759,0.019373],
[0.156612,0.033543,0.032149],
[0.404881,0.124383,0.124252],
[0.220711,0.074036,0.070379],
[2.19663,2.18441,2.1763],
[11.5901,11.4847,11.4573],
[0.160286,0.063093,0.064844],
[0.116135,0.047536,0.046322],
[2.36592,2.15174,2.15675],
[4.42049,4.37322,4.38596],
[1.24771,1.17476,1.21011],
[1.30116,1.24332,1.24521],
[14.0523,13.9236,13.9943],
[39.8961,39.7911,39.771],
[14.6776,14.5524,14.5899],
[2.82581,2.71968,2.72123],
[48.4932,48.4037,48.4298],
[36.8767,36.7432,36.9178],
[108.743,108.81,108.671],
[0.02734,0.018601,0.018892],
[8.98822,4.2958,4.38323],
[10.0097,4.31009,4.26843],
[14.2354,5.48257,5.47171],
[3.29109,0.405847,0.337797],
[0.088318,0.079666,0.091852],
[1.05864,1.26979,1.81786],
[0.087436,0.092269,0.087506],
[15.0424,15.0873,15.2561],
[22.1566,22.1208,21.9509],
[2.59797,2.46053,2.46406],
[3.63938,3.68086,3.68988],
[6.58816,4.84546,4.8853],
[20.7209,20.4806,20.5823],
[77.3779,78.1301,77.4366],
[77.2494,77.646,77.4976],
[6.79571,6.81133,6.67973],
[0.887148,0.782822,0.753053],
[0.369373,0.339676,0.338677],
[0.099038,0.089598,0.099019],
[2.15693,2.01152,2.00868],
[0.096018,0.052062,0.053813],
[0.058647,0.046352,0.045415],
[0.106915,0.077122,0.076134]
2022-07-07 07:19:07 +00:00
]
}
2022-07-08 04:42:56 +00:00
]; // end of data
2022-07-07 03:24:26 +00:00
< / script >
< / head >
< body >
< div class = "header stick-left" >
< h1 > ClickBench — a Benchmark For Analytical DBMS< / h1 >
2022-07-07 09:51:46 +00:00
< a href = "https://github.com/ClickHouse/ClickBench/" > Methodology< / a > | < a href = "https://github.com/ClickHouse/ClickBench/" > Reproduce and Validate the Results< / a > | < a href = "https://github.com/ClickHouse/ClickBench/" > Add a System< / a > | < a href = "https://github.com/ClickHouse/ClickBench/" > Report Mistake< / a > | < a href = "https://clickhouse.com/benchmark/hardware/" > Hardware Benchmark< / a >
2022-07-07 03:24:26 +00:00
< / div >
< table class = "selectors-container stick-left" >
< tr >
< th > System: < / th >
< td id = "selectors_system" >
2022-07-07 04:45:39 +00:00
< a id = "select-all-systems" class = "selector selector-active" > All< / a >
2022-07-07 03:24:26 +00:00
< / td >
< / tr >
< tr >
< th > Type: < / th >
< td id = "selectors_type" >
2022-07-07 04:45:39 +00:00
< a id = "select-all-types" class = "selector selector-active" > All< / a >
2022-07-07 03:24:26 +00:00
< / td >
< / tr >
< tr >
< th > Machine: < / th >
< td id = "selectors_machine" >
2022-07-07 04:45:39 +00:00
< a id = "select-all-machines" class = "selector selector-active" > All< / a >
2022-07-07 03:24:26 +00:00
< / td >
< / tr >
< tr >
< th > Cluster size: < / th >
< td id = "selectors_cluster_size" >
2022-07-07 04:45:39 +00:00
< a id = "select-all-cluster-sizes" class = "selector selector-active" > All< / a >
2022-07-07 03:24:26 +00:00
< / td >
< / tr >
< tr >
< th > Metric: < / th >
< td id = "selectors_run" >
2022-07-07 09:51:46 +00:00
< a class = "selector" id = "selector-metric-cold" > Cold Run< / a >
< a class = "selector" id = "selector-metric-hot" > Hot Run< / a >
< a class = "selector" id = "selector-metric-load" > Load Time< / a >
< a class = "selector" id = "selector-metric-size" > Storage Size< / a >
2022-07-07 03:24:26 +00:00
< / td >
< / tr >
< / table >
2022-07-07 04:45:39 +00:00
< table class = "stick-left comparison" >
2022-07-07 03:24:26 +00:00
< thead >
< tr >
< th class = "summary-name" >
System & Machine
< / th >
< th colspan = "2" >
2022-07-07 09:51:46 +00:00
Relative < span id = "time-or-size" > time< / span > (lower is better)
2022-07-07 03:24:26 +00:00
< / th >
< / tr >
< / thead >
< tbody id = "summary" >
< / tbody >
< / table >
2022-07-07 04:45:39 +00:00
< div id = "nothing-selected" class = "stick-left" > Nothing selected< / div >
< div class = "stick-left comparison" >
2022-07-07 03:24:26 +00:00
< h2 > Detailed Comparison< / h2 >
< / div >
< table id = "details" >
< thead >
< tr id = "details_head" >
< / tr >
< / thead >
< tbody id = "details_body" >
< / tbody >
< / table >
2022-07-07 04:45:39 +00:00
< div id = "legend" class = "stick-left comparison" > < / div >
2022-07-07 03:24:26 +00:00
< script type = "text/javascript" >
2022-07-07 04:45:39 +00:00
const constant_time_add = 0.01;
const missing_result_penalty = 2;
const missing_result_time = 300;
2022-07-07 03:24:26 +00:00
let selectors = {
"system": {},
"type": {},
"machine": {},
"cluster_size": {},
"metric": "hot",
2022-07-07 04:45:39 +00:00
"queries": [],
2022-07-07 03:24:26 +00:00
};
/// Generate selectors
let systems = document.getElementById('selectors_system');
let types = document.getElementById('selectors_type');
let machines = document.getElementById('selectors_machine');
let cluster_sizes = document.getElementById('selectors_cluster_size');
let unique_systems = [... new Set(data.map(elem => elem.system))];
function toggle(e, elem, selectors_map) {
selectors_map[elem] = !selectors_map[elem];
e.target.className = selectors_map[elem] ? 'selector selector-active' : 'selector';
render();
2022-07-07 09:51:46 +00:00
updateHistory();
2022-07-07 03:24:26 +00:00
}
2022-07-07 04:45:39 +00:00
function toggleAll(e, selectors_map) {
const new_value = Object.keys(selectors_map).filter(k => selectors_map[k]).length * 2 < Object.keys ( selectors_map ) . length ;
[...e.target.parentElement.querySelectorAll('a')].map(
elem => { elem.className = new_value ? 'selector selector-active' : 'selector' });
Object.keys(selectors_map).map(k => { selectors_map[k] = new_value });
render();
2022-07-07 09:51:46 +00:00
updateHistory();
2022-07-07 04:45:39 +00:00
}
2022-07-07 03:24:26 +00:00
unique_systems.map(elem => {
let selector = document.createElement('a');
selector.className = 'selector selector-active';
selector.appendChild(document.createTextNode(elem));
systems.appendChild(selector);
if (!(elem in selectors.system)) { selectors.system[elem] = true; }
selector.addEventListener('click', e => toggle(e, elem, selectors.system));
});
[... new Set(data.map(elem => elem.tags).flat())].map(elem => {
let selector = document.createElement('a');
selector.className = 'selector selector-active';
selector.appendChild(document.createTextNode(elem));
types.appendChild(selector);
if (!(elem in selectors.type)) { selectors.type[elem] = true; }
2022-07-07 04:45:39 +00:00
selector.addEventListener('click', e => toggle(e, elem, selectors.type));
2022-07-07 03:24:26 +00:00
});
[... new Set(data.map(elem => elem.machine))].map(elem => {
let selector = document.createElement('a');
selector.className = 'selector selector-active';
selector.appendChild(document.createTextNode(elem));
machines.appendChild(selector);
if (!(elem in selectors.machine)) { selectors.machine[elem] = true; }
selector.addEventListener('click', e => toggle(e, elem, selectors.machine));
});
2022-07-07 07:29:26 +00:00
[... new Set(data.map(elem => elem.cluster_size))].sort(
(a, b) => ((typeof(b) === 'number') - (typeof(a) === 'number')) || (a - b)).map(elem => {
2022-07-07 03:24:26 +00:00
let selector = document.createElement('a');
selector.className = 'selector selector-active';
selector.appendChild(document.createTextNode(elem));
cluster_sizes.appendChild(selector);
if (!(elem in selectors.cluster_size)) { selectors.cluster_size[elem] = true; }
2022-07-07 04:45:39 +00:00
selector.addEventListener('click', e => toggle(e, elem, selectors.cluster_size));
2022-07-07 03:24:26 +00:00
});
2022-07-07 04:45:39 +00:00
document.getElementById('select-all-systems').addEventListener('click', e => toggleAll(e, selectors.system));
document.getElementById('select-all-types').addEventListener('click', e => toggleAll(e, selectors.type));
document.getElementById('select-all-machines').addEventListener('click', e => toggleAll(e, selectors.machine));
document.getElementById('select-all-cluster-sizes').addEventListener('click', e => toggleAll(e, selectors.cluster_size));
2022-07-07 09:51:46 +00:00
[...document.getElementById('selectors_run').querySelectorAll('a')].map(elem => elem.addEventListener('click', e => {
[...e.target.parentElement.querySelectorAll('a')].map(elem => { elem.className = elem == e.target ? 'selector selector-active' : 'selector' });
}));
document.getElementById('selector-metric-cold').addEventListener('click', e => { selectors.metric = 'cold'; render(); updateHistory(); });
document.getElementById('selector-metric-hot').addEventListener('click', e => { selectors.metric = 'hot'; render(); updateHistory(); });
document.getElementById('selector-metric-load').addEventListener('click', e => { selectors.metric = 'load'; render(); updateHistory(); });
document.getElementById('selector-metric-size').addEventListener('click', e => { selectors.metric = 'size'; render(); updateHistory(); });
2022-07-07 04:45:39 +00:00
selectors.queries = [...data[0].result.keys()].map(k => true);
2022-07-07 09:51:46 +00:00
function updateSelectors() {
[...systems.childNodes].map(elem => { elem.className = selectors.system[elem.innerText] ? 'selector selector-active' : 'selector' });
[...types.childNodes].map(elem => { elem.className = selectors.type[elem.innerText] ? 'selector selector-active' : 'selector' });
[...machines.childNodes].map(elem => { elem.className = selectors.machine[elem.innerText] ? 'selector selector-active' : 'selector' });
[...cluster_sizes.childNodes].map(elem => { elem.className = selectors.cluster_size[elem.innerText] ? 'selector selector-active' : 'selector' });
[...document.getElementById('selectors_run').querySelectorAll('a')].map(elem => {
elem.className = elem.id == 'selector-metric-' + selectors.metric ? 'selector selector-active' : 'selector' });
[...document.querySelectorAll('.query-checkbox')].map((elem, i) => { elem.checked = selectors.queries[i] });
}
2022-07-07 03:24:26 +00:00
function clearElement(elem)
{
while (elem.firstChild) {
elem.removeChild(elem.lastChild);
}
}
2022-07-07 04:45:39 +00:00
function selectRun(timings) {
2022-07-07 05:54:09 +00:00
return selectors.metric == 'cold' ? timings[0] : (timings[1] !== null & & timings[2] !== null ? Math.min(timings[1], timings[2]) : null)
2022-07-07 04:45:39 +00:00
}
2022-07-07 03:24:26 +00:00
2022-07-07 04:45:39 +00:00
function renderSummary(filtered_data) {
let table = document.getElementById('summary');
clearElement(table);
2022-07-07 03:24:26 +00:00
/// Generate summary
/// The algorithm: for each of the queries,
/// - if there is a result - take query duration, add 10 ms, and divide it to the corresponding value from the baseline,
/// - if there is no result - take the worse query duration across all query runs for this system and multiply by 2.
/// Take geometric mean across the queries.
let summary = {};
const num_queries = filtered_data[0].result.length;
2022-07-07 04:45:39 +00:00
const baseline_data = [...filtered_data[0].result.keys()].map(query_num =>
2022-07-07 03:24:26 +00:00
[...Array(3).keys()].map(run_num =>
Math.min(...filtered_data.map(elem => elem.result[query_num][run_num]).filter(x => x))));
2022-07-07 09:51:46 +00:00
const min_load_time = Math.min(...filtered_data.map(elem => elem.load_time).filter(x => x));
const min_data_size = Math.min(...filtered_data.map(elem => elem.data_size).filter(x => x));
let summaries;
if (selectors.metric == 'load') {
summaries = filtered_data.map(elem => elem.load_time / min_load_time);
document.getElementById('time-or-size').innerText = 'time';
} else if (selectors.metric == 'size') {
summaries = filtered_data.map(elem => elem.data_size / min_data_size);
document.getElementById('time-or-size').innerText = 'size';
} else {
summaries = filtered_data.map(elem => {
const fallback_timing = missing_result_penalty * Math.max(missing_result_time, ...elem.result.map(timings => selectRun(timings)));
let accumulator = 0;
let used_queries = 0;
const no_queries_selected = selectors.queries.filter(x => x).length == 0;
for (let i = 0; i < num_queries ; + + i ) {
if (no_queries_selected || selectors.queries[i]) {
const curr_timing = selectRun(elem.result[i]) ?? fallback_timing;
const baseline_timing = selectRun(baseline_data[i]);
const ratio = (constant_time_add + curr_timing) / (constant_time_add + baseline_timing);
accumulator += Math.log(ratio);
++used_queries;
}
2022-07-07 04:45:39 +00:00
}
2022-07-07 03:24:26 +00:00
2022-07-07 09:51:46 +00:00
return Math.exp(accumulator / used_queries);
});
document.getElementById('time-or-size').innerText = 'time';
}
2022-07-07 03:24:26 +00:00
const sorted_indices = [...summaries.keys()].sort((a, b) => summaries[a] - summaries[b]);
const max_ratio = summaries[sorted_indices[sorted_indices.length - 1]];
sorted_indices.map(idx => {
const elem = filtered_data[idx];
let tr = document.createElement('tr');
tr.className = 'summary-row';
let td_name = document.createElement('td');
td_name.className = 'summary-name';
let link = document.createElement('a');
link.appendChild(document.createTextNode(`${elem.system} (${elem.machine})`));
link.href = "https://github.com/ClickHouse/ClickBench/" + elem.system;
td_name.appendChild(link);
td_name.appendChild(document.createTextNode(': '));
const ratio = summaries[idx];
const percentage = summaries[idx] / max_ratio * 100;
let td_number = document.createElement('td');
td_number.className = 'summary-number';
2022-07-07 09:51:46 +00:00
const text = selectors.metric == 'load' ? (elem.load_time ? `${Math.round(elem.load_time)}s (× ${ratio.toFixed(2)})` : 'stateless')
: selectors.metric == 'size' ? `${(elem.data_size / 1024 / 1024 / 1024).toFixed(2)} GiB (× ${ratio.toFixed(2)})`
: `× ${ratio.toFixed(2)}`;
td_number.appendChild(document.createTextNode(text));
2022-07-07 03:24:26 +00:00
let td_bar = document.createElement('td');
td_bar.className = 'summary-bar-cell';
let bar = document.createElement('div');
bar.className = `summary-bar`;
bar.style.width = `${percentage}%`;
td_bar.appendChild(bar);
tr.appendChild(td_name);
tr.appendChild(td_bar);
tr.appendChild(td_number);
table.appendChild(tr);
});
2022-07-07 04:45:39 +00:00
return [sorted_indices, baseline_data];
}
2022-07-07 09:51:46 +00:00
function colorize(elem, ratio) {
let [r, g, b] = [0, 0, 0];
/// ratio less than 1 - green
/// ratio from 1 to 10 - green to orange
/// ratio from 10 to 100 - orange to red
/// ratio from 100 to 1000 to infinity - red to brown to black
if (ratio !== null) {
if (ratio < 1 ) {
r = 232;
g = 255;
b = 232;
} else if (ratio < = 1) {
g = 255;
} else if (ratio < = 2) {
g = 255;
r = (ratio - 1) * 255;
} else if (ratio < = 10) {
g = (10 - ratio) / 9 * 255;
r = 255;
} else {
r = (1 - ((ratio - 10) / ((ratio - 10) + 1000))) * 255;
}
}
elem.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
if (ratio === null || ratio > 10) {
elem.style.color = 'white';
}
if (ratio == 1) {
elem.style.fontWeight = 'bold';
}
}
2022-07-07 04:45:39 +00:00
function render() {
let details_head = document.getElementById('details_head');
let details_body = document.getElementById('details_body');
2022-07-07 03:24:26 +00:00
clearElement(details_head);
2022-07-07 04:45:39 +00:00
clearElement(details_body);
let filtered_data = data.filter(elem =>
selectors.system[elem.system] & &
2022-07-07 07:38:11 +00:00
selectors.machine[elem.machine] & &
2022-07-07 04:45:39 +00:00
selectors.cluster_size[elem.cluster_size] & &
2022-07-07 07:38:11 +00:00
elem.tags.filter(type => selectors.type[type]).length > 0);
2022-07-07 04:45:39 +00:00
let nothing_selected_elem = document.getElementById('nothing-selected');
if (filtered_data.length == 0) {
nothing_selected_elem.style.display = 'block';
[...document.querySelectorAll('.comparison')].map(e => e.style.display = 'none');
return;
}
nothing_selected_elem.style.display = 'none';
[...document.querySelectorAll('.comparison')].map(e => e.style.display = 'block');
const [sorted_indices, baseline_data] = renderSummary(filtered_data);
/// Generate details
{
let th_checkbox = document.createElement('th');
let checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.checked = true;
checkbox.addEventListener('change', e => {
[...document.querySelectorAll('.query-checkbox')].map(elem => { elem.checked = e.target.checked });
selectors.queries.map((_, i) => { selectors.queries[i] = e.target.checked });
renderSummary(filtered_data);
2022-07-07 09:51:46 +00:00
updateHistory();
2022-07-07 04:45:39 +00:00
});
th_checkbox.appendChild(checkbox);
details_head.appendChild(th_checkbox);
details_head.appendChild(document.createElement('th'));
}
2022-07-07 03:24:26 +00:00
sorted_indices.map(idx => {
const elem = filtered_data[idx];
let th = document.createElement('th');
th.appendChild(document.createTextNode(`${elem.system}\n(${elem.machine})`));
details_head.appendChild(th);
});
2022-07-07 09:51:46 +00:00
{
let tr = document.createElement('tr');
tr.className = 'shadow';
let td_title = document.createElement('td');
td_title.colSpan = 2;
td_title.appendChild(document.createTextNode('Load time: '));
tr.appendChild(td_title);
sorted_indices.map(idx => {
const curr_timing = filtered_data[idx].load_time;
const baseline_timing = Math.min(...filtered_data.map(elem => elem.load_time).filter(x => x));
const ratio = curr_timing / baseline_timing;
let td = document.createElement('td');
td.appendChild(document.createTextNode(curr_timing ? `${curr_timing.toFixed(2)} (× ${ratio.toFixed(2)})` : '0'));
colorize(td, ratio);
tr.appendChild(td);
});
details_body.appendChild(tr);
}
{
let tr = document.createElement('tr');
tr.className = 'shadow';
let td_title = document.createElement('td');
td_title.colSpan = 2;
td_title.appendChild(document.createTextNode('Data size: '));
tr.appendChild(td_title);
sorted_indices.map(idx => {
const curr_size = filtered_data[idx].data_size;
const baseline_size = Math.min(...filtered_data.map(elem => elem.data_size).filter(x => x));
const ratio = curr_size / baseline_size;
let td = document.createElement('td');
td.appendChild(document.createTextNode(curr_size ? `${(curr_size / 1024 / 1024 / 1024).toFixed(2)} GiB (× ${ratio.toFixed(2)})` : '0'));
colorize(td, ratio);
tr.appendChild(td);
});
details_body.appendChild(tr);
}
2022-07-07 04:45:39 +00:00
const num_queries = filtered_data[0].result.length;
2022-07-07 03:24:26 +00:00
for (let query_num = 0; query_num < num_queries ; + + query_num ) {
let tr = document.createElement('tr');
tr.className = 'shadow';
2022-07-07 04:45:39 +00:00
let td_checkbox = document.createElement('td');
let checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.className = 'query-checkbox';
checkbox.checked = true;
checkbox.addEventListener('change', e => {
selectors.queries[query_num] = e.target.checked;
renderSummary(filtered_data);
2022-07-07 09:51:46 +00:00
updateHistory();
2022-07-07 04:45:39 +00:00
});
td_checkbox.appendChild(checkbox);
tr.appendChild(td_checkbox);
2022-07-07 03:24:26 +00:00
let td_query_num = document.createElement('td');
td_query_num.appendChild(document.createTextNode(`Q${query_num}. `));
tr.appendChild(td_query_num);
sorted_indices.map(idx => {
const curr_timing = selectRun(filtered_data[idx].result[query_num]);
const baseline_timing = selectRun(baseline_data[query_num]);
2022-07-07 09:51:46 +00:00
const ratio = curr_timing !== null ? (constant_time_add + curr_timing) / (constant_time_add + baseline_timing) : null;
2022-07-07 03:24:26 +00:00
let td = document.createElement('td');
2022-07-07 05:54:09 +00:00
td.appendChild(document.createTextNode(curr_timing !== null ? `${curr_timing.toFixed(2)} (× ${ratio.toFixed(2)})` : '☠'));
2022-07-07 03:24:26 +00:00
2022-07-07 09:51:46 +00:00
colorize(td, ratio);
2022-07-07 03:24:26 +00:00
tr.appendChild(td);
});
tr.addEventListener('mouseover', e => {
let legend = document.getElementById('legend');
legend.innerText = `Query ${query_num}: ${queries[query_num]}`;
});
details_body.appendChild(tr);
}
}
2022-07-07 09:51:46 +00:00
function updateHistory() {
history.pushState(selectors, '',
window.location.pathname + (window.location.search || '') + '#' + btoa(JSON.stringify(selectors)));
}
window.onpopstate = function(event) {
if (!event.state) { return; }
selectors = event.state;
render();
updateSelectors();
};
if (window.location.hash) {
try {
selectors = JSON.parse(atob(window.location.hash.substring(1)));
} catch {}
}
2022-07-07 03:24:26 +00:00
render();
2022-07-07 09:51:46 +00:00
updateSelectors();
2022-07-07 03:24:26 +00:00
< / script >
< / body >
< / html >