vectordb-bench 0.0.16__py3-none-any.whl → 0.0.18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vectordb_bench/__init__.py +1 -1
- vectordb_bench/backend/clients/__init__.py +13 -0
- vectordb_bench/backend/clients/alloydb/alloydb.py +372 -0
- vectordb_bench/backend/clients/alloydb/cli.py +147 -0
- vectordb_bench/backend/clients/alloydb/config.py +168 -0
- vectordb_bench/backend/clients/api.py +2 -0
- vectordb_bench/backend/clients/milvus/milvus.py +2 -1
- vectordb_bench/backend/dataset.py +8 -5
- vectordb_bench/backend/runner/mp_runner.py +94 -4
- vectordb_bench/backend/runner/rate_runner.py +79 -0
- vectordb_bench/backend/runner/read_write_runner.py +112 -0
- vectordb_bench/backend/runner/util.py +32 -0
- vectordb_bench/backend/task_runner.py +5 -5
- vectordb_bench/cli/vectordbbench.py +2 -0
- vectordb_bench/frontend/components/concurrent/charts.py +25 -9
- vectordb_bench/frontend/config/dbCaseConfigs.py +166 -0
- vectordb_bench/frontend/pages/concurrent.py +5 -1
- vectordb_bench/metric.py +1 -0
- vectordb_bench/models.py +9 -0
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/METADATA +31 -26
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/RECORD +25 -19
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/WHEEL +1 -1
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/LICENSE +0 -0
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/entry_points.txt +0 -0
- {vectordb_bench-0.0.16.dist-info → vectordb_bench-0.0.18.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ import plotly.express as px
|
|
6
6
|
from vectordb_bench.frontend.config.styles import COLOR_MAP
|
7
7
|
|
8
8
|
|
9
|
-
def drawChartsByCase(allData, showCaseNames: list[str], st):
|
9
|
+
def drawChartsByCase(allData, showCaseNames: list[str], st, latency_type: str):
|
10
10
|
initMainExpanderStyle(st)
|
11
11
|
for caseName in showCaseNames:
|
12
12
|
chartContainer = st.expander(caseName, True)
|
@@ -14,15 +14,24 @@ def drawChartsByCase(allData, showCaseNames: list[str], st):
|
|
14
14
|
data = [
|
15
15
|
{
|
16
16
|
"conc_num": caseData["conc_num_list"][i],
|
17
|
-
"qps": caseData["conc_qps_list"][i]
|
18
|
-
|
17
|
+
"qps": caseData["conc_qps_list"][i]
|
18
|
+
if 0 <= i < len(caseData["conc_qps_list"])
|
19
|
+
else 0,
|
20
|
+
"latency_p99": caseData["conc_latency_p99_list"][i] * 1000
|
21
|
+
if 0 <= i < len(caseData["conc_latency_p99_list"])
|
22
|
+
else 0,
|
23
|
+
"latency_avg": caseData["conc_latency_avg_list"][i] * 1000
|
24
|
+
if 0 <= i < len(caseData["conc_latency_avg_list"])
|
25
|
+
else 0,
|
19
26
|
"db_name": caseData["db_name"],
|
20
27
|
"db": caseData["db"],
|
21
28
|
}
|
22
29
|
for caseData in caseDataList
|
23
30
|
for i in range(len(caseData["conc_num_list"]))
|
24
31
|
]
|
25
|
-
drawChart(
|
32
|
+
drawChart(
|
33
|
+
data, chartContainer, key=f"{caseName}-qps-p99", x_metric=latency_type
|
34
|
+
)
|
26
35
|
|
27
36
|
|
28
37
|
def getRange(metric, data, padding_multipliers):
|
@@ -36,14 +45,21 @@ def getRange(metric, data, padding_multipliers):
|
|
36
45
|
return rangeV
|
37
46
|
|
38
47
|
|
39
|
-
def
|
48
|
+
def gen_title(s: str) -> str:
|
49
|
+
if "latency" in s:
|
50
|
+
return f'{s.replace("_", " ").title()} (ms)'
|
51
|
+
else:
|
52
|
+
return s.upper()
|
53
|
+
|
54
|
+
|
55
|
+
def drawChart(data, st, key: str, x_metric: str = "latency_p99", y_metric: str = "qps"):
|
40
56
|
if len(data) == 0:
|
41
57
|
return
|
42
58
|
|
43
|
-
x =
|
59
|
+
x = x_metric
|
44
60
|
xrange = getRange(x, data, [0.05, 0.1])
|
45
61
|
|
46
|
-
y =
|
62
|
+
y = y_metric
|
47
63
|
yrange = getRange(y, data, [0.2, 0.1])
|
48
64
|
|
49
65
|
color = "db"
|
@@ -69,8 +85,8 @@ def drawChart(data, st, key: str):
|
|
69
85
|
},
|
70
86
|
height=720,
|
71
87
|
)
|
72
|
-
fig.update_xaxes(range=xrange, title_text=
|
73
|
-
fig.update_yaxes(range=yrange, title_text=
|
88
|
+
fig.update_xaxes(range=xrange, title_text=gen_title(x_metric))
|
89
|
+
fig.update_yaxes(range=yrange, title_text=gen_title(y_metric))
|
74
90
|
fig.update_traces(textposition="bottom right", texttemplate="conc-%{text:,.4~r}")
|
75
91
|
|
76
92
|
st.plotly_chart(fig, use_container_width=True, key=key)
|
@@ -906,6 +906,141 @@ CaseConfigParamInput_reranking_metric_PgVector = CaseConfigInput(
|
|
906
906
|
== "bit" and config.get(CaseConfigParamType.reranking, False)
|
907
907
|
)
|
908
908
|
|
909
|
+
|
910
|
+
CaseConfigParamInput_IndexType_AlloyDB = CaseConfigInput(
|
911
|
+
label=CaseConfigParamType.IndexType,
|
912
|
+
inputHelp="Select Index Type",
|
913
|
+
inputType=InputType.Option,
|
914
|
+
inputConfig={
|
915
|
+
"options": [
|
916
|
+
IndexType.SCANN.value,
|
917
|
+
],
|
918
|
+
},
|
919
|
+
)
|
920
|
+
|
921
|
+
CaseConfigParamInput_num_leaves_AlloyDB = CaseConfigInput(
|
922
|
+
label=CaseConfigParamType.numLeaves,
|
923
|
+
displayLabel="Num Leaves",
|
924
|
+
inputHelp="The number of partition to apply to this index",
|
925
|
+
inputType=InputType.Number,
|
926
|
+
inputConfig={
|
927
|
+
"min": 1,
|
928
|
+
"max": 1048576,
|
929
|
+
"value": 200,
|
930
|
+
},
|
931
|
+
)
|
932
|
+
|
933
|
+
CaseConfigParamInput_quantizer_AlloyDB = CaseConfigInput(
|
934
|
+
label=CaseConfigParamType.quantizer,
|
935
|
+
inputType=InputType.Option,
|
936
|
+
inputConfig={
|
937
|
+
"options": ["SQ8", "Flat"],
|
938
|
+
},
|
939
|
+
)
|
940
|
+
|
941
|
+
CaseConfigParamInput_max_num_levels_AlloyDB = CaseConfigInput(
|
942
|
+
label=CaseConfigParamType.maxNumLevels,
|
943
|
+
inputType=InputType.Option,
|
944
|
+
inputConfig={
|
945
|
+
"options": [1, 2],
|
946
|
+
},
|
947
|
+
)
|
948
|
+
|
949
|
+
CaseConfigParamInput_enable_pca_AlloyDB = CaseConfigInput(
|
950
|
+
label=CaseConfigParamType.enablePca,
|
951
|
+
inputType=InputType.Option,
|
952
|
+
inputConfig={
|
953
|
+
"options": ["on", "off"],
|
954
|
+
},
|
955
|
+
)
|
956
|
+
|
957
|
+
CaseConfigParamInput_num_leaves_to_search_AlloyDB = CaseConfigInput(
|
958
|
+
label=CaseConfigParamType.numLeavesToSearch,
|
959
|
+
displayLabel="Num leaves to search",
|
960
|
+
inputHelp="The database flag controls the trade off between recall and QPS",
|
961
|
+
inputType=InputType.Number,
|
962
|
+
inputConfig={
|
963
|
+
"min": 20,
|
964
|
+
"max": 10486,
|
965
|
+
"value": 20,
|
966
|
+
},
|
967
|
+
)
|
968
|
+
|
969
|
+
CaseConfigParamInput_max_top_neighbors_buffer_size_AlloyDB = CaseConfigInput(
|
970
|
+
label=CaseConfigParamType.maxTopNeighborsBufferSize,
|
971
|
+
displayLabel="Max top neighbors buffer size",
|
972
|
+
inputHelp="The database flag specifies the size of cache used to improve the \
|
973
|
+
performance for filtered queries by scoring or ranking the scanned candidate \
|
974
|
+
neighbors in memory instead of the disk",
|
975
|
+
inputType=InputType.Number,
|
976
|
+
inputConfig={
|
977
|
+
"min": 10000,
|
978
|
+
"max": 60000,
|
979
|
+
"value": 20000,
|
980
|
+
},
|
981
|
+
)
|
982
|
+
|
983
|
+
CaseConfigParamInput_pre_reordering_num_neighbors_AlloyDB = CaseConfigInput(
|
984
|
+
label=CaseConfigParamType.preReorderingNumNeigbors,
|
985
|
+
displayLabel="Pre reordering num neighbors",
|
986
|
+
inputHelp="Specifies the number of candidate neighbors to consider during the reordering \
|
987
|
+
stages after initial search identifies a set of candidates",
|
988
|
+
inputType=InputType.Number,
|
989
|
+
inputConfig={
|
990
|
+
"min": 20,
|
991
|
+
"max": 10486,
|
992
|
+
"value": 80,
|
993
|
+
},
|
994
|
+
)
|
995
|
+
|
996
|
+
CaseConfigParamInput_num_search_threads_AlloyDB = CaseConfigInput(
|
997
|
+
label=CaseConfigParamType.numSearchThreads,
|
998
|
+
displayLabel="Num of searcher threads",
|
999
|
+
inputHelp="The number of searcher threads for multi-thread search.",
|
1000
|
+
inputType=InputType.Number,
|
1001
|
+
inputConfig={
|
1002
|
+
"min": 1,
|
1003
|
+
"max": 100,
|
1004
|
+
"value": 2,
|
1005
|
+
},
|
1006
|
+
)
|
1007
|
+
|
1008
|
+
CaseConfigParamInput_max_num_prefetch_datasets_AlloyDB = CaseConfigInput(
|
1009
|
+
label=CaseConfigParamType.maxNumPrefetchDatasets,
|
1010
|
+
displayLabel="Max num prefetch datasets",
|
1011
|
+
inputHelp="The maximum number of data batches to prefetch during index search, where batch is a group of buffer pages",
|
1012
|
+
inputType=InputType.Number,
|
1013
|
+
inputConfig={
|
1014
|
+
"min": 10,
|
1015
|
+
"max": 150,
|
1016
|
+
"value": 100,
|
1017
|
+
},
|
1018
|
+
)
|
1019
|
+
|
1020
|
+
CaseConfigParamInput_maintenance_work_mem_AlloyDB = CaseConfigInput(
|
1021
|
+
label=CaseConfigParamType.maintenance_work_mem,
|
1022
|
+
inputHelp="Recommended value: 1.33x the index size, not to exceed the available free memory."
|
1023
|
+
"Specify in gigabytes. e.g. 8GB",
|
1024
|
+
inputType=InputType.Text,
|
1025
|
+
inputConfig={
|
1026
|
+
"value": "8GB",
|
1027
|
+
},
|
1028
|
+
)
|
1029
|
+
|
1030
|
+
CaseConfigParamInput_max_parallel_workers_AlloyDB = CaseConfigInput(
|
1031
|
+
label=CaseConfigParamType.max_parallel_workers,
|
1032
|
+
displayLabel="Max parallel workers",
|
1033
|
+
inputHelp="Recommended value: (cpu cores - 1). This will set the parameters: max_parallel_maintenance_workers,"
|
1034
|
+
" max_parallel_workers & table(parallel_workers)",
|
1035
|
+
inputType=InputType.Number,
|
1036
|
+
inputConfig={
|
1037
|
+
"min": 0,
|
1038
|
+
"max": 1024,
|
1039
|
+
"value": 7,
|
1040
|
+
},
|
1041
|
+
)
|
1042
|
+
|
1043
|
+
|
909
1044
|
MilvusLoadConfig = [
|
910
1045
|
CaseConfigParamInput_IndexType,
|
911
1046
|
CaseConfigParamInput_M,
|
@@ -1045,6 +1180,33 @@ PgDiskANNPerformanceConfig = [
|
|
1045
1180
|
CaseConfigParamInput_l_value_is,
|
1046
1181
|
]
|
1047
1182
|
|
1183
|
+
|
1184
|
+
AlloyDBLoadConfig = [
|
1185
|
+
CaseConfigParamInput_IndexType_AlloyDB,
|
1186
|
+
CaseConfigParamInput_num_leaves_AlloyDB,
|
1187
|
+
CaseConfigParamInput_max_num_levels_AlloyDB,
|
1188
|
+
CaseConfigParamInput_enable_pca_AlloyDB,
|
1189
|
+
CaseConfigParamInput_quantizer_AlloyDB,
|
1190
|
+
CaseConfigParamInput_maintenance_work_mem_AlloyDB,
|
1191
|
+
CaseConfigParamInput_max_parallel_workers_AlloyDB,
|
1192
|
+
]
|
1193
|
+
|
1194
|
+
AlloyDBPerformanceConfig = [
|
1195
|
+
CaseConfigParamInput_IndexType_AlloyDB,
|
1196
|
+
CaseConfigParamInput_num_leaves_AlloyDB,
|
1197
|
+
CaseConfigParamInput_max_num_levels_AlloyDB,
|
1198
|
+
CaseConfigParamInput_enable_pca_AlloyDB,
|
1199
|
+
CaseConfigParamInput_quantizer_AlloyDB,
|
1200
|
+
CaseConfigParamInput_num_search_threads_AlloyDB,
|
1201
|
+
CaseConfigParamInput_num_leaves_to_search_AlloyDB,
|
1202
|
+
CaseConfigParamInput_max_num_prefetch_datasets_AlloyDB,
|
1203
|
+
CaseConfigParamInput_max_top_neighbors_buffer_size_AlloyDB,
|
1204
|
+
CaseConfigParamInput_pre_reordering_num_neighbors_AlloyDB,
|
1205
|
+
CaseConfigParamInput_maintenance_work_mem_AlloyDB,
|
1206
|
+
CaseConfigParamInput_max_parallel_workers_AlloyDB,
|
1207
|
+
]
|
1208
|
+
|
1209
|
+
|
1048
1210
|
CASE_CONFIG_MAP = {
|
1049
1211
|
DB.Milvus: {
|
1050
1212
|
CaseLabel.Load: MilvusLoadConfig,
|
@@ -1081,4 +1243,8 @@ CASE_CONFIG_MAP = {
|
|
1081
1243
|
CaseLabel.Load: PgDiskANNLoadConfig,
|
1082
1244
|
CaseLabel.Performance: PgDiskANNPerformanceConfig,
|
1083
1245
|
},
|
1246
|
+
DB.AlloyDB: {
|
1247
|
+
CaseLabel.Load: AlloyDBLoadConfig,
|
1248
|
+
CaseLabel.Performance: AlloyDBPerformanceConfig,
|
1249
|
+
},
|
1084
1250
|
}
|
@@ -55,7 +55,11 @@ def main():
|
|
55
55
|
resultesContainer = st.sidebar.container()
|
56
56
|
getResults(resultesContainer, "vectordb_bench_concurrent")
|
57
57
|
|
58
|
-
|
58
|
+
# main
|
59
|
+
latency_type = st.radio("Latency Type", options=["latency_p99", "latency_avg"])
|
60
|
+
drawChartsByCase(
|
61
|
+
shownData, showCaseNames, st.container(), latency_type=latency_type
|
62
|
+
)
|
59
63
|
|
60
64
|
# footer
|
61
65
|
footer(st.container())
|
vectordb_bench/metric.py
CHANGED
@@ -23,6 +23,7 @@ class Metric:
|
|
23
23
|
conc_num_list: list[int] = field(default_factory=list)
|
24
24
|
conc_qps_list: list[float] = field(default_factory=list)
|
25
25
|
conc_latency_p99_list: list[float] = field(default_factory=list)
|
26
|
+
conc_latency_avg_list: list[float] = field(default_factory=list)
|
26
27
|
|
27
28
|
|
28
29
|
QURIES_PER_DOLLAR_METRIC = "QP$ (Quries per Dollar)"
|
vectordb_bench/models.py
CHANGED
@@ -76,6 +76,15 @@ class CaseConfigParamType(Enum):
|
|
76
76
|
num_bits_per_dimension = "num_bits_per_dimension"
|
77
77
|
query_search_list_size = "query_search_list_size"
|
78
78
|
query_rescore = "query_rescore"
|
79
|
+
numLeaves = "num_leaves"
|
80
|
+
quantizer = "quantizer"
|
81
|
+
enablePca = "enable_pca"
|
82
|
+
maxNumLevels = "max_num_levels"
|
83
|
+
numLeavesToSearch = "num_leaves_to_search"
|
84
|
+
maxTopNeighborsBufferSize = "max_top_neighbors_buffer_size"
|
85
|
+
preReorderingNumNeigbors = "pre_reordering_num_neighbors"
|
86
|
+
numSearchThreads = "num_search_threads"
|
87
|
+
maxNumPrefetchDatasets = "max_num_prefetch_datasets"
|
79
88
|
|
80
89
|
|
81
90
|
class CustomizedCase(BaseModel):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: vectordb-bench
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.18
|
4
4
|
Summary: VectorDBBench is not just an offering of benchmark results for mainstream vector databases and cloud services, it's your go-to tool for the ultimate performance and cost-effectiveness comparison. Designed with ease-of-use in mind, VectorDBBench is devised to help users, even non-professionals, reproduce results or test new systems, making the hunt for the optimal choice amongst a plethora of cloud services and open-source vector databases a breeze.
|
5
5
|
Author-email: XuanYang-cn <xuan.yang@zilliz.com>
|
6
6
|
Project-URL: repository, https://github.com/zilliztech/VectorDBBench
|
@@ -14,7 +14,7 @@ Requires-Dist: click
|
|
14
14
|
Requires-Dist: pytz
|
15
15
|
Requires-Dist: streamlit-autorefresh
|
16
16
|
Requires-Dist: streamlit!=1.34.0
|
17
|
-
Requires-Dist:
|
17
|
+
Requires-Dist: streamlit_extras
|
18
18
|
Requires-Dist: tqdm
|
19
19
|
Requires-Dist: s3fs
|
20
20
|
Requires-Dist: oss2
|
@@ -25,6 +25,9 @@ Requires-Dist: environs
|
|
25
25
|
Requires-Dist: pydantic<v2
|
26
26
|
Requires-Dist: scikit-learn
|
27
27
|
Requires-Dist: pymilvus
|
28
|
+
Provides-Extra: test
|
29
|
+
Requires-Dist: ruff; extra == "test"
|
30
|
+
Requires-Dist: pytest; extra == "test"
|
28
31
|
Provides-Extra: all
|
29
32
|
Requires-Dist: grpcio==1.53.0; extra == "all"
|
30
33
|
Requires-Dist: grpcio-tools==1.53.0; extra == "all"
|
@@ -33,7 +36,7 @@ Requires-Dist: pinecone-client; extra == "all"
|
|
33
36
|
Requires-Dist: weaviate-client; extra == "all"
|
34
37
|
Requires-Dist: elasticsearch; extra == "all"
|
35
38
|
Requires-Dist: pgvector; extra == "all"
|
36
|
-
Requires-Dist:
|
39
|
+
Requires-Dist: pgvecto_rs[psycopg3]>=0.2.2; extra == "all"
|
37
40
|
Requires-Dist: sqlalchemy; extra == "all"
|
38
41
|
Requires-Dist: redis; extra == "all"
|
39
42
|
Requires-Dist: chromadb; extra == "all"
|
@@ -41,20 +44,14 @@ Requires-Dist: psycopg; extra == "all"
|
|
41
44
|
Requires-Dist: psycopg-binary; extra == "all"
|
42
45
|
Requires-Dist: opensearch-dsl==2.1.0; extra == "all"
|
43
46
|
Requires-Dist: opensearch-py==2.6.0; extra == "all"
|
44
|
-
Provides-Extra:
|
45
|
-
Requires-Dist:
|
46
|
-
Provides-Extra:
|
47
|
-
Requires-Dist:
|
47
|
+
Provides-Extra: qdrant
|
48
|
+
Requires-Dist: qdrant-client; extra == "qdrant"
|
49
|
+
Provides-Extra: pinecone
|
50
|
+
Requires-Dist: pinecone-client; extra == "pinecone"
|
51
|
+
Provides-Extra: weaviate
|
52
|
+
Requires-Dist: weaviate-client; extra == "weaviate"
|
48
53
|
Provides-Extra: elastic
|
49
54
|
Requires-Dist: elasticsearch; extra == "elastic"
|
50
|
-
Provides-Extra: memorydb
|
51
|
-
Requires-Dist: memorydb; extra == "memorydb"
|
52
|
-
Provides-Extra: pgdiskann
|
53
|
-
Requires-Dist: psycopg; extra == "pgdiskann"
|
54
|
-
Requires-Dist: psycopg-binary; extra == "pgdiskann"
|
55
|
-
Requires-Dist: pgvector; extra == "pgdiskann"
|
56
|
-
Provides-Extra: pgvecto_rs
|
57
|
-
Requires-Dist: pgvecto-rs[psycopg3]>=0.2.2; extra == "pgvecto-rs"
|
58
55
|
Provides-Extra: pgvector
|
59
56
|
Requires-Dist: psycopg; extra == "pgvector"
|
60
57
|
Requires-Dist: psycopg-binary; extra == "pgvector"
|
@@ -63,18 +60,25 @@ Provides-Extra: pgvectorscale
|
|
63
60
|
Requires-Dist: psycopg; extra == "pgvectorscale"
|
64
61
|
Requires-Dist: psycopg-binary; extra == "pgvectorscale"
|
65
62
|
Requires-Dist: pgvector; extra == "pgvectorscale"
|
66
|
-
Provides-Extra:
|
67
|
-
Requires-Dist:
|
68
|
-
|
69
|
-
Requires-Dist:
|
63
|
+
Provides-Extra: pgdiskann
|
64
|
+
Requires-Dist: psycopg; extra == "pgdiskann"
|
65
|
+
Requires-Dist: psycopg-binary; extra == "pgdiskann"
|
66
|
+
Requires-Dist: pgvector; extra == "pgdiskann"
|
67
|
+
Provides-Extra: alloydb
|
68
|
+
Requires-Dist: psycopg; extra == "alloydb"
|
69
|
+
Requires-Dist: psycopg-binary; extra == "alloydb"
|
70
|
+
Requires-Dist: pgvector; extra == "alloydb"
|
71
|
+
Provides-Extra: pgvecto-rs
|
72
|
+
Requires-Dist: pgvecto_rs[psycopg3]>=0.2.2; extra == "pgvecto-rs"
|
70
73
|
Provides-Extra: redis
|
71
74
|
Requires-Dist: redis; extra == "redis"
|
72
|
-
Provides-Extra:
|
73
|
-
Requires-Dist:
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
Provides-Extra: memorydb
|
76
|
+
Requires-Dist: memorydb; extra == "memorydb"
|
77
|
+
Provides-Extra: chromadb
|
78
|
+
Requires-Dist: chromadb; extra == "chromadb"
|
79
|
+
Provides-Extra: awsopensearch
|
80
|
+
Requires-Dist: awsopensearch; extra == "awsopensearch"
|
81
|
+
Provides-Extra: zilliz-cloud
|
78
82
|
|
79
83
|
# VectorDBBench: A Benchmark Tool for VectorDB
|
80
84
|
|
@@ -116,11 +120,12 @@ All the database client supported
|
|
116
120
|
| pgvector | `pip install vectordb-bench[pgvector]` |
|
117
121
|
| pgvecto.rs | `pip install vectordb-bench[pgvecto_rs]` |
|
118
122
|
| pgvectorscale | `pip install vectordb-bench[pgvectorscale]` |
|
119
|
-
| pgdiskann | `pip install vectordb-bench[pgdiskann]`
|
123
|
+
| pgdiskann | `pip install vectordb-bench[pgdiskann]` |
|
120
124
|
| redis | `pip install vectordb-bench[redis]` |
|
121
125
|
| memorydb | `pip install vectordb-bench[memorydb]` |
|
122
126
|
| chromadb | `pip install vectordb-bench[chromadb]` |
|
123
127
|
| awsopensearch | `pip install vectordb-bench[awsopensearch]` |
|
128
|
+
| alloydb | `pip install vectordb-bench[alloydb]` |
|
124
129
|
|
125
130
|
### Run
|
126
131
|
|
@@ -1,20 +1,23 @@
|
|
1
|
-
vectordb_bench/__init__.py,sha256=
|
1
|
+
vectordb_bench/__init__.py,sha256=sma1LoKYvRHXYmNKHgz1TT3oy-65scS9ZoF5o5b30SM,2151
|
2
2
|
vectordb_bench/__main__.py,sha256=YJOTn5MlbmLyr3PRsecY6fj7igHLB6_D3y1HwF_sO20,848
|
3
3
|
vectordb_bench/base.py,sha256=d34WCGXZI1u5RGQtqrPHd3HbOF5AmioFrM2j30Aj1sY,130
|
4
4
|
vectordb_bench/interface.py,sha256=ZT3pseyq--TuxtopdP2hRut-6vIInKo62pvAl2zBD10,9708
|
5
5
|
vectordb_bench/log_util.py,sha256=nMnW-sN24WyURcI07t-WA3q2N5R-YIvFgboRsSrNJDg,2906
|
6
|
-
vectordb_bench/metric.py,sha256=
|
7
|
-
vectordb_bench/models.py,sha256=
|
6
|
+
vectordb_bench/metric.py,sha256=c-LAxCtb55txnsfd3FN4gRpRif8RREhKRF0eg2JmHGc,2045
|
7
|
+
vectordb_bench/models.py,sha256=_0_hscKUqaCHjdjyO_-ntPFgJvgU01y8aldqDcq9ELQ,11041
|
8
8
|
vectordb_bench/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
vectordb_bench/backend/assembler.py,sha256=mmoLzWXFSlrpWvaVY41wiRNWNv2IR-LzlANX55MJbYI,2028
|
10
10
|
vectordb_bench/backend/cases.py,sha256=lQ9jgKaJGunj-mJXR3cgGt16wCsrDrvs-GS3ycTDk0U,16169
|
11
11
|
vectordb_bench/backend/data_source.py,sha256=j4-eD0nIe7Y6fSM5WKEij3GfhyU_YOQ3L5Tyl-1GxX0,5446
|
12
|
-
vectordb_bench/backend/dataset.py,sha256=
|
12
|
+
vectordb_bench/backend/dataset.py,sha256=MZSu0Q3AkK9gxiuLKNTMH6hhucKK668j4G1-8emhS18,8786
|
13
13
|
vectordb_bench/backend/result_collector.py,sha256=jdQf5-q1z5y07SKy9Sig1wFROmm-p9x_Y81fId0sjaU,807
|
14
|
-
vectordb_bench/backend/task_runner.py,sha256=
|
14
|
+
vectordb_bench/backend/task_runner.py,sha256=cn_RRDyFfNSLlTT84W-ZaXvdl54pK6Cxcsp9ucNRcCs,11864
|
15
15
|
vectordb_bench/backend/utils.py,sha256=2UixYyfKvl8zRiashywB1l6hTI3jMtiZhiVm_bXHV1Y,1811
|
16
|
-
vectordb_bench/backend/clients/__init__.py,sha256=
|
17
|
-
vectordb_bench/backend/clients/api.py,sha256=
|
16
|
+
vectordb_bench/backend/clients/__init__.py,sha256=JKDRKwfDDZLZFct_wahtSEpqu00HVZBNsVyhJ_hHTL8,6701
|
17
|
+
vectordb_bench/backend/clients/api.py,sha256=phvqTME3NEPyZGTo85MPeOWwICZO06W3388GT5g72pc,6210
|
18
|
+
vectordb_bench/backend/clients/alloydb/alloydb.py,sha256=rAV558tyd2hX3jcl3bRcxOkeq__GSAXLxfl3MqkAVkM,13375
|
19
|
+
vectordb_bench/backend/clients/alloydb/cli.py,sha256=5g3heAEfuwIHCUIHDU4LYQq-CaQto0sGAdr45jdhuNc,4970
|
20
|
+
vectordb_bench/backend/clients/alloydb/config.py,sha256=JFQMHvBWG1P5T4N7B95o4tMfN4cVqb01I5TNvjDYQuw,5358
|
18
21
|
vectordb_bench/backend/clients/aws_opensearch/aws_opensearch.py,sha256=O42OU7K7L0KcJ96AphjmgkyN7a220VLsOL0QwghY2aw,8038
|
19
22
|
vectordb_bench/backend/clients/aws_opensearch/cli.py,sha256=v1bGoovgokhIGN5tZwb_MrP4af7BfXYQaOpDuy0Ibh0,1327
|
20
23
|
vectordb_bench/backend/clients/aws_opensearch/config.py,sha256=USytbPX0zDjcWTg51J37vWWYsgualPcCHGfRFdzmGtg,1890
|
@@ -28,7 +31,7 @@ vectordb_bench/backend/clients/memorydb/config.py,sha256=PjhLMMr_LdJ8O91JpHNCCT6
|
|
28
31
|
vectordb_bench/backend/clients/memorydb/memorydb.py,sha256=XIqtXpY-2lJohIuImFDsRO3c_upn04eCplIOlaLxFo4,10114
|
29
32
|
vectordb_bench/backend/clients/milvus/cli.py,sha256=QqzYIOeUSXEvdLH0_YUMhwDHUDJirTNKeUxrJQIqSdw,8506
|
30
33
|
vectordb_bench/backend/clients/milvus/config.py,sha256=AZ4QHoufRIjsX2eVrtnug8SeYnuHeBMna_34OQNFxz0,6847
|
31
|
-
vectordb_bench/backend/clients/milvus/milvus.py,sha256=
|
34
|
+
vectordb_bench/backend/clients/milvus/milvus.py,sha256=7l2ilpZeCVnXLkWjut2EoIhUraYL7qWfSsBrRaq4vuo,7700
|
32
35
|
vectordb_bench/backend/clients/pgdiskann/cli.py,sha256=ued1DyufltataIk6KcmBkNp8PdB9Aj65nVJ6WhrD_VI,3130
|
33
36
|
vectordb_bench/backend/clients/pgdiskann/config.py,sha256=8E0GLgUxa5LlJ_eXCugbbO08qdbCVqc1wtdsoOsKEW4,4444
|
34
37
|
vectordb_bench/backend/clients/pgdiskann/pgdiskann.py,sha256=bEcbpTVSFxRJ5HiJTX77cgu6NqTMPs8qiGeMF7jBC30,12628
|
@@ -58,11 +61,14 @@ vectordb_bench/backend/clients/zilliz_cloud/cli.py,sha256=V8XnjrM4IOexqJksQCBgEY
|
|
58
61
|
vectordb_bench/backend/clients/zilliz_cloud/config.py,sha256=3Tk7X4r0n2SLzan110xlF63otVGjCKe28CVDfCEI04c,910
|
59
62
|
vectordb_bench/backend/clients/zilliz_cloud/zilliz_cloud.py,sha256=4JcwiVEJcdEykW6n471nfHeIlmhIDa-gOZ7G5H_4krY,681
|
60
63
|
vectordb_bench/backend/runner/__init__.py,sha256=5dZfPky8pY9Bi9HD5GZ3Fge8V2FJWrkGkQUkNL2v1t0,230
|
61
|
-
vectordb_bench/backend/runner/mp_runner.py,sha256=
|
64
|
+
vectordb_bench/backend/runner/mp_runner.py,sha256=sPJJWg6bKSQYsyWEe5y_j8i_Cf9l5buhtyY-wZxXDAI,9080
|
65
|
+
vectordb_bench/backend/runner/rate_runner.py,sha256=qLfirLmS9tR0-3jljaWD_AMw_gt6nwhAVVkxhoo4F4A,3195
|
66
|
+
vectordb_bench/backend/runner/read_write_runner.py,sha256=B8PD_gRS5K1nFH5004x6ON1Z8TulK7c4QepW3Glltd8,4732
|
62
67
|
vectordb_bench/backend/runner/serial_runner.py,sha256=ku1Dtps9JcmwCwZq7eDw0pcP9IN2Zjjg-1VJumXYJpA,9414
|
68
|
+
vectordb_bench/backend/runner/util.py,sha256=pGJn-qXWwGXVlmsMulaqH0zXcasDWjsVwwOJeDFWXhc,1032
|
63
69
|
vectordb_bench/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
70
|
vectordb_bench/cli/cli.py,sha256=Z2-vLwvnnZFsVAPyjFK557cZZYWX_q60XVJP-aYUGdc,15416
|
65
|
-
vectordb_bench/cli/vectordbbench.py,sha256=
|
71
|
+
vectordb_bench/cli/vectordbbench.py,sha256=jbpyjh4xKVRocxg4XurLL3ABUzBRXEChRGYhyqH4ItE,1140
|
66
72
|
vectordb_bench/config-files/sample_config.yml,sha256=yw9ZgHczNi9PedNuTVxZKiOTI6AVoQS1h8INNgoDjPk,340
|
67
73
|
vectordb_bench/custom/custom_case.json,sha256=uKo7NJgXDPPLtf_V6y1uc5w1aIcjLp-GCJEYOCty1As,475
|
68
74
|
vectordb_bench/frontend/utils.py,sha256=jCyfk0QyLl3RLh-1MBRbBy6aep9hO32ScJCDYA2kaZU,489
|
@@ -76,7 +82,7 @@ vectordb_bench/frontend/components/check_results/headerIcon.py,sha256=0uvvSe-oro
|
|
76
82
|
vectordb_bench/frontend/components/check_results/nav.py,sha256=DQl74rujw70ayh37PQaiO4AdtVZ95-OtTMEtw_Ui7hE,685
|
77
83
|
vectordb_bench/frontend/components/check_results/priceTable.py,sha256=n7OLXfG95CECPR9lQuK_7HXd3jjprmuk8EHgJ8hcth4,1309
|
78
84
|
vectordb_bench/frontend/components/check_results/stPageConfig.py,sha256=vHDHS3qwAbOAQ-Zvz3DftUiKJS4Xs109172aWUmzOt0,430
|
79
|
-
vectordb_bench/frontend/components/concurrent/charts.py,sha256=
|
85
|
+
vectordb_bench/frontend/components/concurrent/charts.py,sha256=H1FSMrnwzmqUInJoHGLVceqLm0-CJ66ujbSNVQJ_SBg,2830
|
80
86
|
vectordb_bench/frontend/components/custom/displayCustomCase.py,sha256=oZfvtiCWr3VnHdvXgcf5YoqvtPWsfMN-YOT7KKoIxp4,1613
|
81
87
|
vectordb_bench/frontend/components/custom/displaypPrams.py,sha256=pxpHgnyGItxkwbajI8qIun0YBY23ZZAvsnK5z7_g5p4,1321
|
82
88
|
vectordb_bench/frontend/components/custom/getCustomConfig.py,sha256=P0WCMla2hmzeDcsHju6gFMQrugsBzajAVSYtBZTEwWg,1050
|
@@ -91,10 +97,10 @@ vectordb_bench/frontend/components/run_test/hideSidebar.py,sha256=vb5kzIMmbMqWX6
|
|
91
97
|
vectordb_bench/frontend/components/run_test/initStyle.py,sha256=osPUgfFfH7rRlVNHSMumvmZxvKWlLxmZiNqgnMiUJEU,723
|
92
98
|
vectordb_bench/frontend/components/run_test/submitTask.py,sha256=NCEXfR3xudAncjVEvsV2iaiov5AatGObe830UI6481M,3341
|
93
99
|
vectordb_bench/frontend/components/tables/data.py,sha256=pVG_hb4bTMLfUt10NUCJSqcFkPmnN7i9jTw9DcWizpI,1364
|
94
|
-
vectordb_bench/frontend/config/dbCaseConfigs.py,sha256=
|
100
|
+
vectordb_bench/frontend/config/dbCaseConfigs.py,sha256=40rJ3YtRkPbZBBlWnV7csXDArqrMVaBw6tLMtxzj3w4,36311
|
95
101
|
vectordb_bench/frontend/config/dbPrices.py,sha256=10aBKjVcEg8y7TPSda28opmBM1KmXNrvbU9WM_BsZcE,176
|
96
102
|
vectordb_bench/frontend/config/styles.py,sha256=E2PmwmiewxBKJJ59hQ4ZXatqg8QTN-Z53JlsvWMHM2M,2291
|
97
|
-
vectordb_bench/frontend/pages/concurrent.py,sha256=
|
103
|
+
vectordb_bench/frontend/pages/concurrent.py,sha256=z2izkQ0suO5mZ8PpVY2jypZkF5VT8xUkQQEkwd6C-ww,2094
|
98
104
|
vectordb_bench/frontend/pages/custom.py,sha256=BYQuWa7_OQz0wnDvh0LiXzjevmDpO2BbSIuF1_Z_39M,2234
|
99
105
|
vectordb_bench/frontend/pages/quries_per_dollar.py,sha256=SRLPjGfXwZOIrLeDLgVNg1kE6xjAu-QfmXoa3Sfiqi8,2510
|
100
106
|
vectordb_bench/frontend/pages/run_test.py,sha256=b1NoMhFA3MmUyItkofh3xozvo1vAqywXKOsoWdIWmRU,2161
|
@@ -117,9 +123,9 @@ vectordb_bench/results/WeaviateCloud/result_20230808_standard_weaviatecloud.json
|
|
117
123
|
vectordb_bench/results/ZillizCloud/result_20230727_standard_zillizcloud.json,sha256=-Mdm4By65XDRCrmVOCF8yQXjcZtH4Xo4shcjoDoBUKU,18293
|
118
124
|
vectordb_bench/results/ZillizCloud/result_20230808_standard_zillizcloud.json,sha256=77XlHT5zM_K7mG5HfDQKwXZnSCuR37VUbt6-P3J_amI,15737
|
119
125
|
vectordb_bench/results/ZillizCloud/result_20240105_standard_202401_zillizcloud.json,sha256=TualfJ0664Hs-vdIW68bdkqAEYyzotXmu2P0yIN-GHk,42526
|
120
|
-
vectordb_bench-0.0.
|
121
|
-
vectordb_bench-0.0.
|
122
|
-
vectordb_bench-0.0.
|
123
|
-
vectordb_bench-0.0.
|
124
|
-
vectordb_bench-0.0.
|
125
|
-
vectordb_bench-0.0.
|
126
|
+
vectordb_bench-0.0.18.dist-info/LICENSE,sha256=HXbxhrb5u5SegVzeLNF_voVgRsJMavcLaOmD1N0lZkM,1067
|
127
|
+
vectordb_bench-0.0.18.dist-info/METADATA,sha256=PtTRr7G1PXhzA88gZYML3Y6JPaqzXk_ejeFbvoRVMOQ,34883
|
128
|
+
vectordb_bench-0.0.18.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
129
|
+
vectordb_bench-0.0.18.dist-info/entry_points.txt,sha256=Qzw6gVx96ui8esG21H6yHsI6nboEohRmV424TYhQNrA,113
|
130
|
+
vectordb_bench-0.0.18.dist-info/top_level.txt,sha256=jnhZFZAuKX1J60yt-XOeBZ__ctiZMvoC_s0RFq29lpM,15
|
131
|
+
vectordb_bench-0.0.18.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|