Skip to content

Commit 755bbc8

Browse files
committed
Merge remote-tracking branch 'origin/main' into doris_main
2 parents 02e8736 + e2f6952 commit 755bbc8

15 files changed

+37
-140
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ You can easily reproduce every test (although for some systems it may take from
2424

2525
Best efforts should be taken to understand the details of every tested system for a fair comparison. It is allowed to apply various [indexing methods](https://clickhouse.com/blog/json-bench-clickhouse-vs-mongodb-elasticsearch-duckdb-postgresql#some-json-paths-can-be-used-for-indexes-and-data-sorting) whenever appropriate.
2626

27-
It is [not allowed](https://clickhouse.com/blog/json-bench-clickhouse-vs-mongodb-elasticsearch-duckdb-postgresql#no-query-results-cache) to use query results caching or flatten JSON into multiple non-JSON colums at insertion type.
27+
It is [not allowed](https://clickhouse.com/blog/json-bench-clickhouse-vs-mongodb-elasticsearch-duckdb-postgresql#no-query-results-cache) to use query results caching or flatten JSON into multiple non-JSON colums at insertion time.
2828

2929
Some databases do have a JSON data type but they flatten nested JSON documents at insertion time to a single level (typically using `.` as separator between levels). We consider this a grey zone. On the one hand, this removes the possibility to restore the original documents, on the other hand, flattening may in many practical situations be acceptable. The dashboard allows to filter out databases which do not retain the document structure (i.e. which flatten).
3030

generate-results.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@
44
# Note: editing HTML with sed may look strange, but at least we avoid using node.js and npm, and that's good.
55

66
# This is needed on Mac OS. Do `brew install coreutils`.
7-
[ -n "$HOMEBREW_PREFIX" ] && PATH="${HOMEBREW_PREFIX}/opt/coreutils/libexec/gnubin:${PATH}"
8-
if command -v gsed >/dev/null 2>&1
9-
then
7+
if [[ "$(uname)" == "Darwin" ]]; then
8+
if ! command -v gsed >/dev/null 2>&1
9+
then
10+
echo "On macOS, please install GNU sed through homebrew."
11+
exit 1
12+
else
1013
shopt -s expand_aliases
1114
alias sed='gsed'
15+
fi
1216
fi
1317

1418
(

index.html

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -369,14 +369,10 @@
369369
,{"system":"SingleStore","version":"5.7.32","os":"Ubuntu 24.04","date":"2025-03-14","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":100000000,"num_loaded_documents":91000000,"total_size":25757172429,"data_size":25757172429,"index_size":0,"result":[[6.471,5.066,5.606],[37.551,25.246,25.060],[14.634,12.810,12.786],[34.688,3.691,3.702],[34.735,4.934,4.713]],"memory_usage":[[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null]],"source":"singlestore/results/m6i.8xlarge_bluesky_100m.json"}
370370
,{"system":"SingleStore","version":"5.7.32","os":"Ubuntu 24.04","date":"2025-03-14","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":10000000,"num_loaded_documents":7000000,"total_size":1943790266,"data_size":1943790266,"index_size":0,"result":[[0.658,0.444,0.494],[2.831,2.647,2.836],[1.437,1.456,1.124],[1.253,0.412,0.434],[1.347,0.553,0.587]],"memory_usage":[[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null]],"source":"singlestore/results/m6i.8xlarge_bluesky_10m.json"}
371371
,{"system":"SingleStore","version":"5.7.32","os":"Ubuntu 24.04","date":"2025-03-14","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000,"num_loaded_documents":1000000,"total_size":275466582,"data_size":275466582,"index_size":0,"result":[[0.206,0.083,0.098],[0.615,0.544,0.452],[0.366,0.268,0.149],[0.259,0.111,0.106],[0.324,0.167,0.171]],"memory_usage":[[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null]],"source":"singlestore/results/m6i.8xlarge_bluesky_1m.json"}
372-
,{"system":"Starrocks (default)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000000,"num_loaded_documents":804000000,"total_size":158929000000,"result":[[2.27,1.24,1.21],[17.81,10.67,10.20],[7.38,6.78,7.62],[7.24,null,null],[null,null,null]],"source":"starrocks/results/m6i.8xlarge_bluesky_1000m_default.json"}
373-
,{"system":"Starrocks (materialized)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000000,"num_loaded_documents":997000000,"total_size":191541000000,"result":[[1.75,1.56,1.54],[49.75,41.61,31.38],[12.90,12.58,5.76],[5.64,6.21,6.03],[null,null,null]],"source":"starrocks/results/m6i.8xlarge_bluesky_1000m_materialized.json"}
374-
,{"system":"Starrocks (default)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":100000000,"num_loaded_documents":91000000,"total_size":17109000000,"result":[[0.61,0.16,0.16],[19.26,7.12,7.18],[1.12,1.08,1.08],[0.55,0.55,0.54],[0.60,0.60,0.60]],"source":"starrocks/results/m6i.8xlarge_bluesky_100m_default.json"}
375-
,{"system":"Starrocks (materialized)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":100000000,"num_loaded_documents":100000000,"total_size":16190000000,"result":[[0.21,0.17,0.18],[8.38,2.19,2.17],[2.16,1.10,1.06],[6.62,0.43,0.45],[0.48,0.48,0.49]],"source":"starrocks/results/m6i.8xlarge_bluesky_100m_materialized.json"}
376-
,{"system":"Starrocks (default)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":10000000,"num_loaded_documents":7000000,"total_size":824028000,"result":[[0.03,0.02,0.03],[0.52,0.50,0.48],[0.25,0.25,0.18],[0.11,0.11,0.10],[0.11,0.12,0.12]],"source":"starrocks/results/m6i.8xlarge_bluesky_10m_default.json"}
377-
,{"system":"Starrocks (materialized)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":10000000,"num_loaded_documents":10000000,"total_size":616175000,"result":[[0.09,0.13,0.12],[0.34,0.33,0.33],[0.22,0.20,0.26],[0.11,0.10,0.10],[0.11,0.10,0.11]],"source":"starrocks/results/m6i.8xlarge_bluesky_10m_materialized.json"}
378-
,{"system":"Starrocks (default)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000,"num_loaded_documents":1000000,"total_size":1,"result":[[0.05,0.05,0.06],[0.19,0.08,0.07],[0.13,0.13,0.13],[0.07,0.07,0.07],[0.07,0.07,0.07]],"source":"starrocks/results/m6i.8xlarge_bluesky_1m_default.json"}
379-
,{"system":"Starrocks (materialized)","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000,"num_loaded_documents":1000000,"total_size":1,"result":[[0.06,0.05,0.04],[0.13,0.06,0.08],[0.14,0.13,0.13],[0.12,0.05,0.05],[0.05,0.05,0.05]],"source":"starrocks/results/m6i.8xlarge_bluesky_1m_materialized.json"}
372+
,{"system":"Starrocks","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000000,"num_loaded_documents":804000000,"total_size":158929000000,"result":[[2.27,1.24,1.21],[17.81,10.67,10.20],[7.38,6.78,7.62],[7.24,null,null],[null,null,null]],"source":"starrocks/results/m6i.8xlarge_bluesky_1000m.json"}
373+
,{"system":"Starrocks","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":100000000,"num_loaded_documents":91000000,"total_size":17109000000,"result":[[0.61,0.16,0.16],[19.26,7.12,7.18],[1.12,1.08,1.08],[0.55,0.55,0.54],[0.60,0.60,0.60]],"source":"starrocks/results/m6i.8xlarge_bluesky_100m.json"}
374+
,{"system":"Starrocks","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":10000000,"num_loaded_documents":7000000,"total_size":824028000,"result":[[0.03,0.02,0.03],[0.52,0.50,0.48],[0.25,0.25,0.18],[0.11,0.11,0.10],[0.11,0.12,0.12]],"source":"starrocks/results/m6i.8xlarge_bluesky_10m.json"}
375+
,{"system":"Starrocks","version":"3.4.0-e94580b","os":"Ubuntu 24.04","date":"2025-03-24","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"yes","tags":[],"dataset_size":1000000,"num_loaded_documents":1000000,"total_size":1,"result":[[0.05,0.05,0.06],[0.19,0.08,0.07],[0.13,0.13,0.13],[0.07,0.07,0.07],[0.07,0.07,0.07]],"source":"starrocks/results/m6i.8xlarge_bluesky_1m.json"}
380376
,{"system":"VictoriaLogs","version":"v1.17.0-victorialogs","os":"Ubuntu 24.04","date":"2025-03-28","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"no","tags":[],"dataset_size":1000000000,"num_loaded_documents":999999241,"total_size":121860870843,"data_size":108388327979,"index_size":13472542864,"result":[[1.076,0.029,0.028],[98.958,20.591,19.794],[14.423,1.607,1.609],[5.065,5.185,5.216],[7.22,6.963,7.351]],"source":"victorialogs/results/m6i.8xlarge_bluesky_1000m.json"}
381377
,{"system":"VictoriaLogs","version":"v1.17.0-victorialogs","os":"Ubuntu 24.04","date":"2025-03-28","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"no","tags":[],"dataset_size":100000000,"num_loaded_documents":99999968,"total_size":11984344799,"data_size":10684518543,"index_size":1299826256,"result":[[0.097,0.009,0.009],[9.057,2.721,2.406],[0.474,0.151,0.148],[0.542,0.464,0.453],[0.735,0.623,0.664]],"source":"victorialogs/results/m6i.8xlarge_bluesky_100m.json"}
382378
,{"system":"VictoriaLogs","version":"v1.17.0-victorialogs","os":"Ubuntu 24.04","date":"2025-03-28","machine":"m6i.8xlarge, 10000gib gp3","retains_structure":"no","tags":[],"dataset_size":10000000,"num_loaded_documents":9999994,"total_size":1242217952,"data_size":1108712800,"index_size":133505152,"result":[[0.086,0.007,0.007],[0.47,0.241,0.329],[0.095,0.027,0.028],[0.199,0.142,0.128],[0.211,0.148,0.176]],"source":"victorialogs/results/m6i.8xlarge_bluesky_10m.json"}

starrocks/create_and_load.sh

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,20 @@
33
# If you change something in this file, please change also in doris/create_and_load.sh.
44

55
# Check if the required arguments are provided
6-
if [[ $# -lt 7 ]]; then
7-
echo "Usage: $0 <DB_NAME> <TABLE_NAME> <DDL_FILE> <DATA_DIRECTORY> <NUM_FILES> <SUCCESS_LOG> <ERROR_LOG>"
6+
if [[ $# -lt 6 ]]; then
7+
echo "Usage: $0 <DB_NAME> <TABLE_NAME> <DATA_DIRECTORY> <NUM_FILES> <SUCCESS_LOG> <ERROR_LOG>"
88
exit 1
99
fi
1010

1111
# Arguments
1212
DB_NAME="$1"
1313
TABLE_NAME="$2"
14-
DDL_FILE="$3"
15-
DATA_DIRECTORY="$4"
16-
NUM_FILES="$5"
17-
SUCCESS_LOG="$6"
18-
ERROR_LOG="$7"
14+
DATA_DIRECTORY="$3"
15+
NUM_FILES="$4"
16+
SUCCESS_LOG="$5"
17+
ERROR_LOG="$6"
1918

2019
# Validate arguments
21-
[[ ! -f "$DDL_FILE" ]] && { echo "Error: DDL file '$DDL_FILE' does not exist."; exit 1; }
2220
[[ ! -d "$DATA_DIRECTORY" ]] && { echo "Error: Data directory '$DATA_DIRECTORY' does not exist."; exit 1; }
2321
[[ ! "$NUM_FILES" =~ ^[0-9]+$ ]] && { echo "Error: NUM_FILES must be a positive integer."; exit 1; }
2422

@@ -27,7 +25,7 @@ echo "Create database"
2725
mysql -P 9030 -h 127.0.0.1 -u root -e "CREATE DATABASE IF NOT EXISTS $DB_NAME"
2826

2927
echo "Execute DDL"
30-
mysql -P 9030 -h 127.0.0.1 -u root $DB_NAME < "$DDL_FILE"
28+
mysql -P 9030 -h 127.0.0.1 -u root $DB_NAME < "ddl.sql"
3129

3230
echo "Load data"
3331
./load_data.sh "$DATA_DIRECTORY" "$DB_NAME" "$TABLE_NAME" "$NUM_FILES" "$SUCCESS_LOG" "$ERROR_LOG"
File renamed without changes.

starrocks/ddl_materialized.sql

Lines changed: 0 additions & 12 deletions
This file was deleted.

starrocks/main.sh

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,47 +38,38 @@ fi;
3838

3939
benchmark() {
4040
local size=$1
41-
local suffix=$2
4241
# Check DATA_DIRECTORY contains the required number of files to run the benchmark
4342
file_count=$(find "$DATA_DIRECTORY" -type f | wc -l)
4443
if (( file_count < size )); then
4544
echo "Error: Not enough files in '$DATA_DIRECTORY'. Required: $size, Found: $file_count."
4645
exit 1
4746
fi
48-
./create_and_load.sh "bluesky_${size}m_${suffix}" bluesky "ddl_${suffix}.sql" "$DATA_DIRECTORY" "$size" "$SUCCESS_LOG" "$ERROR_LOG"
49-
./total_size.sh "bluesky_${size}m_${suffix}" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m_${suffix}.total_size"
50-
./count.sh "bluesky_${size}m_${suffix}" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m_${suffix}.count"
51-
./physical_query_plans.sh "bluesky_${size}m_${suffix}" | tee "${OUTPUT_PREFIX}_bluesky_${size}m_${suffix}.physical_query_plans"
52-
./benchmark.sh "bluesky_${size}m_${suffix}" "${OUTPUT_PREFIX}_bluesky_${size}m_${suffix}.results_runtime" "${OUTPUT_PREFIX}_bluesky_${size}m_${suffix}.results_memory_usage"
53-
./drop_table.sh "bluesky_${size}m_${suffix}" bluesky
47+
./create_and_load.sh "bluesky_${size}m" bluesky "$DATA_DIRECTORY" "$size" "$SUCCESS_LOG" "$ERROR_LOG"
48+
./total_size.sh "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.total_size"
49+
./count.sh "bluesky_${size}m" bluesky | tee "${OUTPUT_PREFIX}_bluesky_${size}m.count"
50+
./physical_query_plans.sh "bluesky_${size}m" | tee "${OUTPUT_PREFIX}_bluesky_${size}m.physical_query_plans"
51+
./benchmark.sh "bluesky_${size}m" "${OUTPUT_PREFIX}_bluesky_${size}m.results_runtime" "${OUTPUT_PREFIX}_bluesky_${size}m.results_memory_usage"
52+
./drop_table.sh "bluesky_${size}m" bluesky
5453
}
5554

5655
case $CHOICE in
5756
2)
58-
benchmark 10 default
59-
benchmark 10 materialized
57+
benchmark 10
6058
;;
6159
3)
62-
benchmark 100 default
63-
benchmark 100 materialized
60+
benchmark 100
6461
;;
6562
4)
66-
benchmark 1000 default
67-
benchmark 1000 materialized
63+
benchmark 1000
6864
;;
6965
5)
70-
benchmark 1 materialized
71-
benchmark 1 default
72-
benchmark 10 materialized
73-
benchmark 10 default
74-
benchmark 100 materialized
75-
benchmark 100 default
76-
benchmark 1000 materialized
77-
benchmark 1000 default
66+
benchmark 1
67+
benchmark 10
68+
benchmark 100
69+
benchmark 1000
7870
;;
7971
*)
80-
benchmark 1 materialized
81-
benchmark 1 default
72+
benchmark 1
8273
;;
8374
esac
8475

starrocks/results/m6i.8xlarge_bluesky_1000m_default.json renamed to starrocks/results/m6i.8xlarge_bluesky_1000m.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"system": "Starrocks (default)",
2+
"system": "Starrocks",
33
"version": "3.4.0-e94580b",
44
"os": "Ubuntu 24.04",
55
"date": "2025-03-24",

starrocks/results/m6i.8xlarge_bluesky_1000m_materialized.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

starrocks/results/m6i.8xlarge_bluesky_100m_default.json renamed to starrocks/results/m6i.8xlarge_bluesky_100m.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"system": "Starrocks (default)",
2+
"system": "Starrocks",
33
"version": "3.4.0-e94580b",
44
"os": "Ubuntu 24.04",
55
"date": "2025-03-24",

0 commit comments

Comments
 (0)