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

ApsaraDB RDS:encdb_btree拡張機能を使用して暗号文インデックスの操作を容易にする

最終更新日:Jan 16, 2024

encdb_btree拡張機能は、完全暗号化データベース機能が有効になっているApsaraDB RDS for PostgreSQLインスタンスのパフォーマンスを向上させるために使用されます。 拡張機能は、RDSインスタンス上の完全に暗号化されたデータベースの暗号文インデックスの操作を容易にします。 このトピックでは、encdb_btree拡張機能の使用方法について説明します。

背景情報

完全に暗号化されたデータベース機能は、エンドツーエンドの暗号化ソリューションを提供します。 この機能により、ユーザーデータのセキュリティは確保されますが、システムパフォーマンスは低下します。 詳細については、「完全暗号化データベース機能のパフォーマンステストレポート」をご参照ください。 この問題を解決するために、Alibaba Cloudはencdb_btree拡張機能を提供し、完全暗号化データベースの暗号文インデックスの操作を容易にします。

前提条件

制限事項

拡張機能のほとんどの機能は、Bツリーインデックスと互換性があります。 次のリストでは、制限について説明します。

  • ON CONFLICT構文を使用してUNIQUE INDEXを作成することはできません。

  • FOREIGN KEYは使用できません。

拡張機能の管理

  • エクステンションを作成します。

    encdbを超えていない場合は拡張を作成します。拡張の作成encdb_btree; 
    説明

    encdb_btree拡張は、EncDB拡張に依存します。 encdb_btreeエクステンションを作成する前に、EncDBエクステンションを作成してロードする必要があります。

  • 拡張機能をアンインストールします。

    ドロップ拡張encdb_btree;
    説明
    • RDSインスタンスにenc_btreeインデックスが存在する場合、拡張機能のアンインストールに失敗します。 拡張機能をアンインストールする前に、DROP INDEXステートメントを実行して既存のenc_btreeインデックスを削除する必要があります。

    • DROP EXTENSION encdb_btree CASCADE; ステートメントを実行して、拡張機能をアンインストールすることもできます。 このメソッドは、テーブルデータに影響を与えることなく、既存のすべてのenc_btreeインデックスを自動的に削除します。

拡張機能を使用するUse the extension

完全に暗号化されたデータベースでテーブルを暗号化した後、拡張機能を使用して、暗号化されたテーブル列のenc_btreeインデックスを作成できます。

以下の表は、例として使用される。

CREATE TABLEテスト (
  t1 enc_int4,
  t2 enc_int8,
  t3 enc_text
); 

using enc_btreeキーワードを使用して、暗号化されたテーブルにenc_btreeインデックスを作成できます。

enc_btree (t1) を使用してテストでインデックスを作成します。enc_btree (t2) を使用してテストで一意のインデックスを作成します。enc_btree (t1、t2、t3) を使用してテストでインデックスを作成します。enc_btreeを使用してテストでインデックスを作成します (t1 desc、t2 asc); 

enc_btreeインデックスを作成した後、ビジネスSQL文を変更する必要はありません。 完全暗号化データベース機能は、SQL文の実行時にenc_btreeインデックスを呼び出す実行プランを自動的に生成します。 これにより、完全暗号化データベースの暗号文インデックスに対する操作が容易になります。

パフォーマンス向上

詳細については、「完全暗号化データベース機能のパフォーマンステストレポート」をご参照ください。

よくある質問

  • 拡張機能を使用したときにERROR: unexpected non-btree投機的一意インデックスエラーメッセージが表示された場合はどうすればよいですか?

    UNIQUE INDEXを作成するとき、拡張機能はON CONFLICT構文をサポートしません。

  • 拡張機能を使用すると、ERROR: 外部キーでのみb-treeインデックスがサポートされますというエラーメッセージが表示された場合はどうすればよいですか。

    拡張機能はFOREIGN KEYをサポートしていません。