diff --git a/questdb-partitioned/benchmark.sh b/questdb-partitioned/benchmark.sh deleted file mode 100755 index bfea67ab7..000000000 --- a/questdb-partitioned/benchmark.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# Install - -wget https://github.com/questdb/questdb/releases/download/8.1.2/questdb-8.1.2-rt-linux-x86-64.tar.gz -tar xf questdb*.tar.gz --one-top-level=questdb --strip-components 1 -questdb/bin/questdb.sh start - -while ! nc -z localhost 9000; do - sleep 0.1 -done - -sed -i 's/query.timeout.sec=60/query.timeout.sec=500/' ~/.questdb/conf/server.conf -sed -i "s|cairo.sql.copy.root=import|cairo.sql.copy.root=$PWD|" ~/.questdb/conf/server.conf -questdb/bin/questdb.sh stop -questdb/bin/questdb.sh start - -# Import the data - -wget --no-verbose --continue 'https://datasets.clickhouse.com/hits_compatible/hits.csv.gz' -gzip -d hits.csv.gz - -curl -G --data-urlencode "query=$(cat create.sql)" 'http://localhost:9000/exec' -curl -G --data-urlencode "query=copy hits from 'hits.csv' with timestamp 'EventTime' format 'yyyy-MM-dd HH:mm:ss';" 'http://localhost:9000/exec' - -echo 'waiting for import to finish...' -until [ "$(curl -s -G --data-urlencode "query=select * from sys.text_import_log where phase is null and status='finished';" 'http://localhost:9000/exec' | grep -c '"count":1')" -ge 1 ]; do - echo '.' - sleep 5 -done - -curl -s -G --data-urlencode "query=select datediff('s', start, finish) took_secs from (select min(ts) start, max(ts) finish from sys.text_import_log where phase is null);" 'http://localhost:9000/exec' - -# Run queries - -./run.sh 2>&1 | tee log.txt - -du -bcs ~/.questdb/db/hits* - -cat log.txt | grep -P '"timings"|"error"|null' | sed -r -e 's/^.*"error".*$/null/; s/^.*"execute":([0-9]*),.*$/\1/' | - awk '{ print ($1) / 1000000000 }' | sed -r -e 's/^0$/null/' | - awk '{ if (i % 3 == 0) { printf "[" }; printf $1; if (i % 3 != 2) { printf "," } else { print "]," }; ++i; }' diff --git a/questdb-partitioned/create.sql b/questdb-partitioned/create.sql deleted file mode 100644 index 50e156ef6..000000000 --- a/questdb-partitioned/create.sql +++ /dev/null @@ -1,108 +0,0 @@ -CREATE TABLE hits -( - WatchID long, - JavaEnable byte, - Title varchar, - GoodEvent byte, - EventTime timestamp, - Eventdate timestamp, - CounterID int, - ClientIP int, - RegionID int, - UserID long, - CounterClass byte, - OS short, - UserAgent short, - URL varchar, - Referer varchar, - IsRefresh byte, - RefererCategoryID short, - RefererRegionID int, - URLCategoryID short, - URLRegionID int, - ResolutionWidth short, - ResolutionHeight short, - ResolutionDepth short, - FlashMajor byte, - FlashMinor byte, - FlashMinor2 symbol, - NetMajor byte, - NetMinor byte, - UserAgentMajor short, - UserAgentMinor symbol, - CookieEnable byte, - JavascriptEnable byte, - IsMobile byte, - MobilePhone short, - MobilePhoneModel symbol, - Params symbol, - IPNetworkID int, - TraficSourceID int, - SearchEngineID short, - SearchPhrase varchar, - AdvEngineID short, - IsArtifical byte, - WindowClientWidth short, - WindowClientHeight short, - ClientTimeZone short, - ClientEventTime timestamp, - SilverlightVersion1 byte, - SilverlightVersion2 byte, - SilverlightVersion3 short, - SilverlightVersion4 byte, - PageCharset symbol, - CodeVersion short, - IsLink byte, - IsDownload byte, - IsNotBounce byte, - FUniqID long, - OriginalURL varchar, - HID int, - IsOldCounter byte, - IsEvent byte, - IsParameter byte, - DontCountHits byte, - WithHash byte, - HitColor char, - LocalEventTime timestamp, - Age byte, - Sex byte, - Income byte, - Interests short, - Robotness short, - RemoteIP int, - WindowName int, - OpenerName int, - HistoryLength short, - BrowserLanguage symbol, - BrowserCountry symbol, - SocialNetwork symbol, - SocialAction symbol, - HTTPError byte, - SendTiming int, - DNSTiming int, - ConnectTiming int, - ResponseStartTiming int, - ResponseEndTiming int, - FetchTiming int, - SocialSourceNetworkID short, - SocialSourcePage varchar, - ParamPrice long, - ParamOrderID symbol, - ParamCurrency symbol, - ParamCurrencyID short, - OpenstatServiceName symbol, - OpenstatCampaignID symbol, - OpenstatAdID varchar, - OpenstatSourceID symbol, - UTMSource symbol, - UTMMedium symbol, - UTMCampaign symbol, - UTMContent symbol, - UTMTerm symbol, - FromTag symbol, - HasGCLID byte, - RefererHash long, - URLHash long, - CLID int -) TIMESTAMP(EventTime) PARTITION BY DAY; diff --git a/questdb-partitioned/queries.sql b/questdb-partitioned/queries.sql deleted file mode 100644 index eefa11f41..000000000 --- a/questdb-partitioned/queries.sql +++ /dev/null @@ -1,43 +0,0 @@ -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(*) AS c FROM hits WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY c 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 IS NOT NULL GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT MobilePhone, MobilePhoneModel, count_distinct(UserID) AS u FROM hits WHERE MobilePhoneModel IS NOT NULL GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10; -SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase IS NOT NULL GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT SearchPhrase, count_distinct(UserID) AS u FROM hits WHERE SearchPhrase IS NOT NULL GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10; -SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase IS NOT NULL GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10; -SELECT UserID, COUNT(*) AS c FROM hits GROUP BY UserID ORDER BY c DESC LIMIT 10; -SELECT UserID, SearchPhrase, COUNT(*) AS c FROM hits GROUP BY UserID, SearchPhrase ORDER BY c 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(*) AS c FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY c 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 IS NOT NULL 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 IS NOT NULL 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 IS NOT NULL ORDER BY EventTime LIMIT 10; -SELECT SearchPhrase FROM hits WHERE SearchPhrase IS NOT NULL ORDER BY SearchPhrase LIMIT 10; -SELECT SearchPhrase FROM hits WHERE SearchPhrase IS NOT NULL ORDER BY EventTime, SearchPhrase LIMIT 10; -SELECT * FROM (SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL IS NOT NULL GROUP BY CounterID) WHERE c > 100000 ORDER BY l DESC LIMIT 25; -SELECT * FROM (SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer IS NOT NULL GROUP BY k) WHERE c > 100000 ORDER BY l DESC LIMIT 25; -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; -SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase IS NOT NULL GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10; -SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase IS NOT NULL 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 ORDER BY c DESC LIMIT 10; -SELECT 1, URL, COUNT(*) AS c FROM hits 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 EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND DontCountHits = 0 AND IsRefresh = 0 AND URL IS NOT NULL GROUP BY URL ORDER BY PageViews DESC LIMIT 10; -SELECT Title, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND DontCountHits = 0 AND IsRefresh = 0 AND Title IS NOT NULL GROUP BY Title ORDER BY PageViews DESC LIMIT 10; -SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 AND IsLink <> 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 1000, 1010; -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 EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000, 1010; -SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 3594120000172545465 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100, 110; -SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 AND DontCountHits = 0 AND URLHash = 2868770270353813622 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000, 10010; -SELECT EventTime AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-14T00:00:00Z' AND EventTime <= '2013-07-15T23:59:59Z' AND IsRefresh = 0 AND DontCountHits = 0 SAMPLE BY 1m ALIGN TO CALENDAR ORDER BY M LIMIT 1000, 1010; diff --git a/questdb-partitioned/results/c6a.metal.json b/questdb-partitioned/results/c6a.metal.json deleted file mode 100644 index a4357c396..000000000 --- a/questdb-partitioned/results/c6a.metal.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "system": "QuestDB (partitioned)", - "date": "2024-10-09", - "machine": "c6a.metal, 500gb gp2", - "cluster_size": 1, - "comment": "Data load for partitioned tables is multi-threaded and thus more efficient.", - "tags": ["Java", "time-series"], - "load_time": 151, - "data_size": 72847067281, - "result": [ - [0.0301054,0.000351946,0.00060261], - [0.446941,0.0199322,0.0194012], - [0.186355,0.0152413,0.0140531], - [2.85062,0.011467,0.0101999], - [3.80858,0.313625,0.883023], - [9.92775,0.124323,0.555829], - [2.06007,0.0188749,0.0266775], - [0.202483,0.0895518,0.025696], - [2.8891,1.87386,1.84415], - [2.53436,1.96201,1.96031], - [0.614345,0.113815,0.0951987], - [0.279108,0.108026,0.111274], - [0.551378,0.322649,0.281151], - [0.482721,0.360012,0.356998], - [1.59179,0.421437,0.3468], - [1.99645,0.683289,0.713084], - [1.88586,1.25238,1.25662], - [1.17893,0.646347,0.633041], - [5.08589,3.36238,3.34523], - [0.0119212,0.0102671,0.013652], - [40.0805,0.106967,0.105679], - [0.48243,0.106175,0.110229], - [42.0307,0.100622,0.101532], - [8.37013,0.0272795,0.0236258], - [0.209459,0.00516386,0.00439012], - [0.517174,0.569395,0.58406], - [0.00895085,0.00308301,0.00208701], - [0.528715,0.216628,0.164235], - [30.4188,1.98834,2.09702], - [0.017533,0.00582928,0.00530268], - [1.54283,0.385097,0.378116], - [2.57918,0.588727,0.529359], - [5.62132,4.9124,4.84574], - [1.5214,1.32526,1.28921], - [1.65806,1.49697,1.49461], - [0.904108,0.810532,0.840865], - [0.161399,0.0710863,0.0784365], - [0.0638774,0.0471584,0.0522615], - [0.297413,0.0174379,0.0197405], - [0.299174,0.197702,0.203304], - [3.684,0.0246324,0.0223985], - [1.81513,0.0205352,0.0190106], - [0.0249853,0.00569712,0.0055805] - ] -} diff --git a/questdb-partitioned/run.sh b/questdb-partitioned/run.sh deleted file mode 100755 index 0159343fd..000000000 --- a/questdb-partitioned/run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -TRIES=3 - -questdb/bin/questdb.sh stop -questdb/bin/questdb.sh start -sleep 5 - -cat queries.sql | while read -r query; do - sync - echo 3 | sudo tee /proc/sys/vm/drop_caches - - echo "$query"; - for i in $(seq 1 $TRIES); do - curl -sS --max-time 600 -G --data-urlencode "query=${query}" 'http://localhost:9000/exec?timings=true' 2>&1 | grep '"timings"' - echo - done; -done; - -questdb/bin/questdb.sh stop diff --git a/questdb/benchmark.sh b/questdb/benchmark.sh index 5efdd675b..a3dc0229d 100755 --- a/questdb/benchmark.sh +++ b/questdb/benchmark.sh @@ -2,7 +2,7 @@ # Install -wget https://github.com/questdb/questdb/releases/download/8.1.2/questdb-8.1.2-rt-linux-x86-64.tar.gz +wget https://github.com/questdb/questdb/releases/download/8.2.0/questdb-8.2.0-rt-linux-x86-64.tar.gz tar xf questdb*.tar.gz --one-top-level=questdb --strip-components 1 questdb/bin/questdb.sh start @@ -11,6 +11,7 @@ while ! nc -z localhost 9000; do done sed -i 's/query.timeout.sec=60/query.timeout.sec=500/' ~/.questdb/conf/server.conf +sed -i "s|cairo.sql.copy.root=import|cairo.sql.copy.root=$PWD|" ~/.questdb/conf/server.conf questdb/bin/questdb.sh stop questdb/bin/questdb.sh start @@ -19,8 +20,32 @@ questdb/bin/questdb.sh start wget --no-verbose --continue 'https://datasets.clickhouse.com/hits_compatible/hits.csv.gz' gzip -d hits.csv.gz -curl -G --data-urlencode "query=$(cat create.sql)" 'http://localhost:9000/exec?timings=true' -time curl -F data=@hits.csv 'http://localhost:9000/imp?name=hits' +curl -G --data-urlencode "query=$(cat create.sql)" 'http://localhost:9000/exec' + +# SQL COPY works best on metal instances: +curl -G --data-urlencode "query=copy hits from 'hits.csv' with timestamp 'EventTime' format 'yyyy-MM-dd HH:mm:ss';" 'http://localhost:9000/exec' + +echo 'waiting for import to finish...' +until [ "$(curl -s -G --data-urlencode "query=select * from sys.text_import_log where phase is null and status='finished';" 'http://localhost:9000/exec' | grep -c '"count":1')" -ge 1 ]; do + echo '.' + sleep 5 +done + +curl -s -G --data-urlencode "query=select datediff('s', start, finish) took_secs from (select min(ts) start, max(ts) finish from sys.text_import_log where phase is null);" 'http://localhost:9000/exec' + +# On smaller instances use this: +# start=$(date +%s) + +# curl -F data=@hits.csv 'http://localhost:9000/imp?name=hits' + +# echo 'waiting for rows to become readable...' +# until [ "$(curl -s -G --data-urlencode "query=select 1 from (select count() c from hits) where c = 99997497;" 'http://localhost:9000/exec' | grep -c '"count":1')" -ge 1 ]; do +# echo '.' +# sleep 1 +# done + +# end=$(date +%s) +# echo "import took: $(($end-$start)) secs" # Run queries diff --git a/questdb/create.sql b/questdb/create.sql index 35ad7de88..50e156ef6 100644 --- a/questdb/create.sql +++ b/questdb/create.sql @@ -105,4 +105,4 @@ CREATE TABLE hits RefererHash long, URLHash long, CLID int -); +) TIMESTAMP(EventTime) PARTITION BY DAY; diff --git a/questdb/queries.sql b/questdb/queries.sql index 364f3c158..eefa11f41 100644 --- a/questdb/queries.sql +++ b/questdb/queries.sql @@ -40,4 +40,4 @@ SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime > 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 EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000, 1010; SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 3594120000172545465 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100, 110; SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-01T00:00:00Z' AND EventTime <= '2013-07-31T23:59:59Z' AND IsRefresh = 0 AND DontCountHits = 0 AND URLHash = 2868770270353813622 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000, 10010; -SELECT DATE_TRUNC('minute', EventTime) AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-14T00:00:00Z' AND EventTime <= '2013-07-15T23:59:59Z' AND IsRefresh = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY M LIMIT 1000, 1010; +SELECT EventTime AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventTime >= '2013-07-14T00:00:00Z' AND EventTime <= '2013-07-15T23:59:59Z' AND IsRefresh = 0 AND DontCountHits = 0 SAMPLE BY 1m ALIGN TO CALENDAR ORDER BY M LIMIT 1000, 1010; diff --git a/questdb/results/c6a.4xlarge.json b/questdb/results/c6a.4xlarge.json index 23354fa1f..784514e38 100644 --- a/questdb/results/c6a.4xlarge.json +++ b/questdb/results/c6a.4xlarge.json @@ -1,55 +1,55 @@ { "system": "QuestDB", - "date": "2024-10-09", + "date": "2024-11-25", "machine": "c6a.4xlarge, 500gb gp2", "cluster_size": 1, "comment": "", "tags": ["Java", "time-series"], - "load_time": 917, - "data_size": 72842076197, + "load_time": 24242, + "data_size": 72842143269, "result": [ - [0.0267469,0.000315648,0.000204292], - [0.243935,0.0584394,0.0571544], - [0.164447,0.0405866,0.0419158], - [2.78843,0.0447992,0.0400407], - [1.03294,0.632231,0.649037], - [8.27164,0.416001,0.41234], - [2.05855,0.0283982,0.0249849], - [0.0970105,0.0603002,0.0586619], - [1.75664,1.28013,1.34165], - [1.64103,1.46646,1.45583], - [0.587983,0.111085,0.114858], - [0.333805,0.125956,0.120254], - [0.76897,0.641986,0.629848], - [1.07711,0.831999,0.816635], - [1.01584,0.661145,0.663255], - [1.36517,1.13413,1.12393], - [2.45814,2.12409,2.10695], - [1.68721,1.41751,1.43044], - [5.82957,5.03722,5.0558], - [0.0227488,0.0216856,0.0209847], - [39.6222,0.425181,0.41306], - [0.443867,0.411984,0.484265], - [41.2987,0.348628,0.343631], - [1.71851,0.453748,0.424465], - [0.27521,0.261101,0.258651], - [0.471864,0.458261,0.463149], - [0.237869,0.233076,0.241666], - [1.14559,0.775777,0.731655], - [30.8611,3.46115,3.46739], - [0.18659,0.00649302,0.00694743], - [8.21033,0.662991,0.650421], - [2.78398,1.11266,1.1099], - [10.0182,7.88371,7.94421], - [26.4142,2.34115,2.32238], - [2.90635,2.60528,2.5653], - [1.65078,1.64873,1.62161], - [2.51176,0.171884,0.17744], - [5.32861,0.12111,0.121409], - [0.157613,0.0618055,0.0640424], - [0.377184,0.252364,0.255961], - [3.62222,0.0749138,0.0768184], - [2.22908,0.0655021,0.0674176], - [0.0818814,0.0708637,0.0649365] + [0.0301523,0.000399672,0.00035346], + [0.340349,0.0711348,0.0654685], + [0.142629,0.0418586,0.0381232], + [2.83804,0.0389059,0.0367508], + [1.57599,0.934631,0.900006], + [8.32727,0.408056,0.413712], + [2.05637,0.0248844,0.0253207], + [0.103945,0.0648036,0.073453], + [1.94479,3.74838,2.23398], + [2.0944,2.85359,2.82201], + [0.604576,0.123307,0.119552], + [0.389356,0.208764,0.161648], + [0.774007,0.534844,0.598104], + [1.09489,0.84554,0.757063], + [0.937218,0.598815,0.634964], + [1.53859,1.18744,1.21831], + [2.40578,2.05239,2.0539], + [2.46647,2.05941,2.24186], + [4.72497,4.1731,4.25716], + [0.0235599,0.0212555,0.021611], + [39.7502,0.39254,0.408446], + [0.416408,0.432117,0.409492], + [41.3523,0.399073,0.376821], + [3.63036,0.449108,3.97423], + [0.164976,0.0050424,0.00951375], + [1.57419,0.537325,0.543412], + [0.0097821,0.00605552,0.00765497], + [0.818744,0.6491,0.672319], + [30.7081,3.75207,3.6541], + [0.17048,0.0086783,0.00666406], + [4.26629,0.464846,0.425472], + [2.38261,0.634679,0.555063], + [6.91333,5.07254,4.95686], + [40.4039,2.50914,2.49106], + [3.41351,2.93732,3.0192], + [1.95141,1.84562,1.88294], + [0.208233,0.107843,0.107626], + [8.55,0.0892884,0.0840766], + [0.174542,0.0333317,0.0312589], + [0.407265,0.206369,0.208538], + [4.02831,0.0577751,0.0595618], + [1.81794,0.0561061,0.0471556], + [0.0602994,0.0129245,0.0124271] ] } diff --git a/questdb/results/c6a.metal.json b/questdb/results/c6a.metal.json new file mode 100644 index 000000000..cecb90b12 --- /dev/null +++ b/questdb/results/c6a.metal.json @@ -0,0 +1,55 @@ +{ + "system": "QuestDB", + "date": "2024-11-25", + "machine": "c6a.metal, 500gb gp2", + "cluster_size": 1, + "comment": "Uses multi-threaded COPY SQL for data load.", + "tags": ["Java", "time-series"], + "load_time": 157, + "data_size": 72847067281, + "result": [ + [0.0323418,0.000373117,0.000316026], + [0.405897,0.0176376,0.0189908], + [0.196972,0.00875954,0.0121589], + [2.84858,0.00990652,0.00964798], + [3.65385,0.868621,0.28155], + [10.0394,0.128148,0.556058], + [2.05939,0.0178227,0.0266545], + [0.183689,0.104233,0.0238391], + [2.73898,2.07865,1.94679], + [3.50027,3.05187,1.96717], + [0.62268,0.120031,0.114269], + [0.27275,0.117602,0.101706], + [0.570896,0.222099,0.206467], + [0.538652,0.266935,0.274751], + [1.3791,0.202023,0.198083], + [1.77055,0.455148,0.420661], + [1.35354,0.776437,0.77167], + [1.06873,0.645224,0.631648], + [4.05837,2.32653,2.35128], + [0.0107696,0.00949552,0.0122987], + [42.2675,0.110542,0.103974], + [0.432218,0.104707,0.111373], + [41.8729,0.0967203,0.096764], + [7.34808,0.0273921,0.024409], + [0.142433,0.00638777,0.00628249], + [0.647533,0.564688,0.619923], + [0.00763151,0.0055377,0.00481322], + [2.35406,0.160524,0.203362], + [30.6928,1.95978,1.99487], + [0.0134887,0.00524368,0.00576496], + [1.32851,0.146259,0.148717], + [2.13425,0.209991,0.201226], + [2.99459,2.18321,2.2327], + [0.916855,0.78342,0.790688], + [1.37038,1.25708,1.22052], + [0.692217,0.700072,0.701395], + [0.130426,0.076809,0.0840367], + [0.0693143,0.0467668,0.0525845], + [0.103856,0.0159479,0.0192862], + [0.29997,0.206557,0.194927], + [3.68661,0.0254169,0.025341], + [1.82222,0.0185072,0.0237479], + [0.0251629,0.00612199,0.00513122] + ] +}