すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:パフォーマンステスト

最終更新日:Jan 21, 2025

このトピックでは、Wikipedia言語データベースのデータに基づいて、インデックスの作成、単項クエリ、複数項クエリなどのパフォーマンステストの結果について説明します。

テストインスタンスの仕様

  • エンジンのバージョン: AnalyticDB for PostgreSQL V7.0

  • マイナーバージョン: V7.1.0.0.

  • エディション: 高可用性エディション。

  • ノード仕様: 4コアと32 GBメモリ。

  • 計算ノードの数: 4.

  • ノードストレージ容量: 200 GB。

  • ディスクタイプ: PL1 Enterprise SSD (ESSD) 。

  • コーディネータ・ノード・リソース: 8つの計算ユニット (CU) 。

テストデータセット

テストデータは、ウィキペディア言語データベースのスナップショットから取得され、5百万行のデータが含まれています。 GitHubのsofthuafei/wiki-datasetからパッケージ "wiki-articles-500w-aa" から "wiki-articles-500w-az" をダウンロードします。 この例では、テストデータを20回連続でインポートして、0.1億行のデータを含むデータセットを作成します。

  • データセットには、url、title、およびbodyフィールドが含まれます。

  • データセットはJSON形式です。

  • データセットのサイズは2.34 GBです。

説明

cat wiki-articles-500w * > wiki-articles-500w.json.bz2コマンドを実行してテストデータファイルをマージし、bzip2 -dk wiki-articles-500w.json.bz2コマンドを実行してパッケージを解凍します。

性能テスト結果

  • BM25インデックスを作成するのに必要な時間は、GIN(tsvector) インデックスを作成するのに必要な時間の約63% です。

  • 単項クエリに関して、BM25インデックスの1秒あたりのクエリ (QPS) パフォーマンスは、GIN(tsvector) インデックスのQPSパフォーマンスの6〜7倍です。

  • 多項クエリに関して、BM25インデックスのQPS性能は、GIN(tsvector) インデックスのQPS性能の6〜11倍である。

  • 単項ANDポイントクエリに関して、BM25インデックスのQPSパフォーマンスは、GIN(tsvector) およびBツリーインデックスのQPSパフォーマンスの6〜9倍です。

  • 単項AND範囲クエリに関して、BM25インデックスのQPSパフォーマンスは、GIN(tsvector) およびBツリーインデックスのQPSパフォーマンスの1〜9倍です。

インデックスの作成

インデックス

データのインポートに必要な時間

インデックスの作成に必要な時間

ストリームインポートに必要な時間 (インデックス付き)

BM25

24分

36分

84分

ジン (tsvector)

137分

57分

非該当

単一用語クエリの実行

body列に用語を含む上位20件の結果を照会します。 例: body:Gabriel Basso 上位20件の結果の中で、項の平均発生率は56,685です。 次の表に、最大QPS値と対応する応答時間 (RT) 値を示します。

同時実行

BM25

ジン (tsquery)

QPS

RT (ms)

QPS

RT (ms)

1

158.86

6.45

25.97

38.35

5

544.43

9.19

73.92

64.35

10

738.21

12.63

89.90

128.65

20

863.07

20.69

172.83

262.89

30

925.02

31.05

239.74

378.18

40

1,234.45

39.64

203.91

616.93

多用語クエリの実行

body列に1つ以上の用語を含む上位20件の結果を照会します。 例: body:handsworth OR body:cern すべての用語はテストデータセットから抽出されます。 出現が100未満である用語は含まれない。 各クエリに含まれる用語の数は、重み分布パラメータ [0.03、0.15、0.25、0.25、0.15、0.08、0.04、0.03、0.02] に準拠しています。 この場合、クエリの3% は1つの用語を含み、クエリの15% は2つの用語を含む。

同時実行

BM25

ジン (tsvector)

QPS

RT (ms)

QPS

RT (ms)

1

216.88

4.54

31.97

31.49

5

842.12

5.86

104.89

47.27

10

1,161.79

8.58

112.89

87.40

20

1,332.61

15.03

118.87

159.25

30

1,380.56

21.66

120.93

264.10

40

1,470.47

26.73

131.87

341.69

単項ANDポイントクエリの実行

ポイントのクエリ条件に基づいて、1行のデータのみが一致します。

SELECT * FROM articles ORDER BY body @@@ pgsearch.config('body:"David" AND id:80000000');
SELECT * FROM articles_gin WHERE  body_ts @@ to_tsquery('David') AND id = '80000000';

同時実行

BM25

ジン (tsvector) とBツリー

QPS

RT (ms)

QPS

RT (ms)

1

342.92

2.81

2.00

985.66

5

1,434.90

3.30

4.99

2,401.95

10

2,293.54

4.21

6.99

4,306.61

20

3,084.70

6.32

13.98

8,536.26

30

2,835.97

10.38

19.98

12,565.44

40

3,081.71

12.78

24.97

17,342.22

単項AND範囲クエリの実行

1万行のデータが一致し、99.99% のデータが範囲クエリ条件に基づいて除外されます。

SELECT * FROM articles WHERE body @@ pgsearch.config('body:"David" AND id:[110000 TO 120000]');
SELECT * FROM articles_gin WHERE  body_ts @@ to_tsquery('David') AND id >= '110000' AND id <= '120000';

同時実行

BM25

ジン (tsvector) とBツリー

QPS

RT (ms)

QPS

RT (ms)

1

9.99

110.55

1.00

1,189.95

5

22.97

229.57

4.99

2,074.63

10

25.97

451.81

8.99

4,236.33

20

32.97

951.86

14.99

8,674.06

30

29.97

1,366.22

19.98

13,458.88

40

39.97

2,071.66

32.96

18,251.81