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

PolarDB:Confidential Database Performance Test Report

最終更新日:Jan 14, 2026

この Topic では、さまざまな暗号化条件下での Confidential Database のパフォーマンスについて説明し、暗号化ソリューションの評価と選択を支援します。

テスト環境

構成項目

Elastic Compute Service (ECS) インスタンス (テストクライアントは ECS インスタンスにデプロイ)

PolarDB for MySQL クラスター

説明

リージョンとゾーン

杭州ゾーン H (プライマリ)、杭州ゾーン J

杭州ゾーン H

テストは同じリージョンとゾーンで実行されました。

ネットワークタイプ

Virtual Private Cloud (VPC)

Virtual Private Cloud (VPC)

テストは同じ VPC で実行されました。

CPU とメモリ

8 コア、32 GB

64 コア、512 GB

該当なし

インスタンスタイプ

ecs.s6-c1m4.2xlarge

polar.mysql.x8.8xlarge

該当なし

インスタンス/イメージバージョン

Alibaba Cloud Linux 2.1903 LTS 64 ビットクイック起動

カーネルバージョン:8.0.2.2.12

該当なし

テストツール (oltpbench)

Oltpbench は、オンラインランザクション処理 (OLTP) 向けのオープンソースのベンチマークツールで、データベース管理システムのパフォーマンスとスケーラビリティをテストします。TPC-C、TPC-E、YCSB など、さまざまなワークロードタイプをシミュレートするための複数のベンチマークプログラムを提供します。この Topic では、oltpbench の TPC-C テストを使用して、OLTP シナリオにおける Confidential Database のパフォーマンスを評価します。

メトリック

1 秒あたりのトランザクション数 (TPS):データベースが 1 秒あたりに実行するトランザクションの数です。これは、成功した COMMIT 操作の数で測定されます。

操作手順

Confidential Database は、設定した暗号化ルールに基づいてデータを暗号化します。このテストでは、TPC-C テストで暗号化されたデータ列を調整することにより、さまざまなシナリオにおける Confidential Database のパフォーマンスの what-if 分析を実行します。

  1. ご利用の ECS インスタンスで oltpbench プロジェクトを設定します。詳細については、「oltpbench の設定」をご参照ください。

  2. EncJDBC を oltpbench と統合します。詳細については、「EncJDBC の統合」をご参照ください。

  3. 以下のように oltpbench 設定ファイルを作成します。

    <?xml version="1.0"?>
    <parameters>
    
        <!-- 接続情報 -->
        <dbtype>mysql</dbtype>
        <driver>com.aliyun.encdb.mysql.jdbc.EncDriver</driver>
        <DBUrl>jdbc:mysql:encdb://xxxx.rwlb.rds.aliyuncs.com:3306/xxxx</DBUrl>
        <DBName>xxxx</DBName>
        <username>xxxx</username>
        <password>xxxxx</password>
        <isolation>TRANSACTION_SERIALIZABLE</isolation>
    
        <scalefactor>1</scalefactor>
    
        <!-- ワークロード -->
        <terminals>8</terminals>
        <works>
            <work>
                <time>180</time>
                <rate>unlimited</rate>
                <weights>45,43,4,4,4</weights>
            </work>
        </works>
    
    
        <!-- TPCC 固有 -->
            <transactiontypes>
            <transactiontype>
                    <name>NewOrder</name>
            </transactiontype>
            <transactiontype>
                    <name>Payment</name>
            </transactiontype>
            <transactiontype>
                    <name>OrderStatus</name>
            </transactiontype>
            <transactiontype>
                    <name>Delivery</name>
            </transactiontype>
            <transactiontype>
                    <name>StockLevel</name>
            </transactiontype>
            </transactiontypes>
    </parameters>
    
  4. oltpbench プロジェクトをコンパイルした後、次のコマンドを実行してデータベースにデータをインポートします。

    ./oltpbenchmark -b tpcc -c tpcc_encmysql.xml --load=true --create=true -s 1 -o tpcc
  5. Confidential Database の暗号化設定、TPC-C パラメーター、およびその他の構成を繰り返し調整して、OLTP シナリオでのパフォーマンス (TPS/QPS) を包括的にテストします。

    ./oltpbenchmark -b tpcc -c tpcc_encmysql.xml --execute=true -s 1 -o tpcc

テストシナリオと結果

シナリオの説明

  • 各テスト結果は、3 回のテスト実行の平均 TPS です。各テスト実行は 1 分間続きます。

  • パフォーマンステストの結果には、クライアントで返された暗号化フィールドを復号するオーバーヘッドが含まれます。

  • この TPC-C テストシナリオでは、1 秒あたりのクエリ数 (QPS) は TPS の固定倍数であり、TPS 値の約 9〜10 倍です。したがって、このテストではパフォーマンスの測定に TPS のみを使用します。

  • Terminal パラメーターは、TPC-C の同時クライアント数をシミュレートします。これは、並列テストスレッドの数に対応します。

シナリオ 1:ビジネスデータ列の 20% を暗号化

このシナリオでは、ID 情報を含む列が優先的に暗号化されました。これは、実際のビジネスシナリオで ID カード番号や注文番号などのデータを暗号化する要件をシミュレートします。

テスト結果

ターミナル数

プレーンテキスト (TPS)

機密列の 20% を暗号化 (TPS)

パフォーマンスオーバーヘッド

8

260.55

237.64

8.79%

16

302.78

280.28

7.43%

24

330.04

298.03

9.70%

32

343.65

315.25

8.26%

テスト結果は、機密性の高いビジネスデータ列の 20% が暗号化されている場合、TPC-C テストにおける Confidential Database のパフォーマンスオーバーヘッドは、プレーンテキストデータベースと比較して 7% から 9% の間であることを示しています。

シナリオ 2:ビジネスデータ列の 50% を暗号化

シナリオ 1 で暗号化された ID 情報列に加えて、他の機密性の高いビジネス情報列も暗号化されました。これらの列には、価格、日付、数量などのデータが含まれます。

テスト結果

ターミナル数

プレーンテキスト (TPS)

機密列の 50% を暗号化 (TPS)

パフォーマンスオーバーヘッド

8

260.55

221.01

15.18%

16

302.78

256.64

15.24%

24

330.04

273.53

17.12%

32

343.65

293.65

14.55%

テスト結果は、機密性の高いビジネスデータ列の 50% が暗号化されている場合、TPC-C テストにおける Confidential Database のパフォーマンスオーバーヘッドは、プレーンテキストデータベースと比較して 14% から 17% の間であることを示しています。

シナリオ 3:すべてのビジネスデータ列を暗号化

テスト結果

ターミナル数

プレーンテキスト (TPS)

機密列の 100% を暗号化 (TPS)

パフォーマンスオーバーヘッド

8

260.55

201.62

22.62%

16

302.78

238.45

21.25%

24

330.04

256.36

22.32%

32

343.65

267.92

22.04%

テスト結果は、すべてのビジネスデータ列が暗号化されている場合、TPC-C テストにおける Confidential Database のパフォーマンスオーバーヘッドは、プレーンテキストデータベースと比較して 21% から 22% の間であることを示しています。