7.2.17 クラウドストレージ機能に関するオペランド(set形式)
クラウドストレージ機能に関するオペランドは,使用するオブジェクトストレージの種類によって指定要否が次のように異なります。
|
オペランド名 |
使用するオブジェクトストレージ |
||
|---|---|---|---|
|
Amazon S3 |
Amazon S3互換オブジェクトストレージ |
Azure Blob Storage |
|
|
adb_sys_cld_aws_region |
◎※1 |
× |
× |
|
adb_sys_cld_endpoint |
◎※1 |
◎ |
× |
|
adb_sys_cld_aws_bucket |
◎ |
◎ |
× |
|
adb_sys_cld_az_storage_account |
× |
× |
◎ |
|
adb_sys_cld_az_container |
× |
× |
◎ |
|
adb_sys_cld_cache_path |
◎ |
◎ |
◎ |
|
adb_sys_cld_cache_total_size |
〇※2 |
〇※2 |
〇※2 |
|
adb_sys_cld_access_area_size |
△ |
△ |
△ |
|
adb_sys_cld_throughput |
△ |
△ |
× |
- (凡例)
-
◎:指定が必須です。
〇:指定は任意です。
△:基本的には指定不要です。デフォルト値から指定を変更する場合に指定します。
×:指定不要です。
- 注※1
-
どちらかのオペランドを指定してください。
- 注※2
-
adbcachegrpオペランドを指定する場合(キャッシュグループを定義する場合)は,このオペランドの指定を省略してください。adbcachegrpオペランドを指定しない場合は,このオペランドの指定は必須です。
- [73] adb_sys_cld_aws_region = S3オブジェクトの格納先リージョン名
-
〜〈文字列〉((1〜100バイト))
このオペランドには,S3オブジェクトを格納するリージョン名を指定します。
オブジェクトストレージにAmazon S3を使用する場合は,このオペランドまたはadb_sys_cld_endpointオペランドのどちらかを必ず指定してください。
クラウドストレージ機能については,「2.21.2 AWS環境でHADBサーバを使用する場合」の「(2) Amazon S3にDBエリアのデータを格納する場合(クラウドストレージ機能を使用する場合)」の「(a) クラウドストレージ機能とは」を参照してください。
- 重要
-
-
このオペランドを指定した場合は,adb_sys_cld_aws_bucketオペランドも一緒に指定してください。
-
初期設定オプションにadb_init_cld_aws_regionオペランドを指定してadbinitコマンドを実行する場合は,このオペランドを指定してください。また,このオペランドとadb_init_cld_aws_regionオペランドには,同じリージョン名を指定することを推奨します。異なるリージョン名を指定した場合,HADBサーバが開始できないおそれがあります。
-
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
- [74] adb_sys_cld_endpoint = Amazon S3またはAmazon S3互換オブジェクトストレージのエンドポイントURL
-
〜〈文字列〉((1〜100バイト))
このオペランドは,次に示す場合に指定できます。
-
オブジェクトストレージにAmazon S3を使用する場合
Amazon S3のエンドポイントURLを指定します。
このオペランドか,またはadb_sys_cld_aws_regionオペランドのどちらかを指定します。両方のオペランドを指定した場合,このオペランドの指定が優先されます。
このオペランドを指定した場合は,adb_sys_cld_aws_bucketオペランドも一緒に指定してください。
-
オブジェクトストレージにAmazon S3互換オブジェクトストレージを使用する場合
Amazon S3互換オブジェクトストレージのエンドポイントURLを指定します。
このオペランドは必ず指定してください。また,adb_sys_cld_aws_bucketオペランドも一緒に指定してください。
なお,次に示す場合は,IMDS認証情報プロバイダーに対して不要な通信が発生するため,HADBサーバの処理性能がその分低下するおそれがあります。
-
AWS環境以外からAmazon S3にアクセスする場合
-
AWS環境以外からAmazon S3互換オブジェクトストレージにアクセスする場合
環境変数AWS_EC2_METADATA_DISABLEDにtrueを指定すると,IMDS認証情報プロバイダーへの通信を無効化できます。この環境変数の詳細については,AWSのドキュメントのIMDS 認証情報プロバイダーを参照してください。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
-
- [75] adb_sys_cld_aws_bucket = S3オブジェクトの格納先S3バケット名
-
〜〈文字列〉((3〜63バイト))
このオペランドには,S3オブジェクトを格納するS3バケット名を指定してください。オブジェクトストレージにAmazon S3またはAmazon S3互換オブジェクトストレージを使用する場合は,このオペランドを必ず指定してください。
- 重要
-
-
Amazon S3を使用する場合にこのオペランドを指定したときは,次のどちらかのオペランドも一緒に指定してください。
・adb_sys_cld_aws_region
・adb_sys_cld_endpoint
-
Amazon S3互換オブジェクトストレージを使用する場合にこのオペランドを指定したときは,adb_sys_cld_endpointオペランドも一緒に指定してください。
-
初期設定オプションにadb_init_cld_aws_bucketオペランドを指定してadbinitコマンドを実行する場合は,このオペランドを指定してください。また,このオペランドとadb_init_cld_aws_bucketオペランドには,同じS3バケット名を指定することを推奨します。異なるS3バケット名を指定した場合,HADBサーバが開始できないおそれがあります。
-
Amazon S3を使用する場合,汎用バケットまたはディレクトリバケットのどちらでもS3バケットとして使用できます。このオペランドに指定したS3バケットのバケットタイプによってS3オブジェクトが作成されるストレージクラスが次のように決まります。
-
このオペランドに指定したS3バケットが汎用バケットの場合
汎用バケットのデフォルトのストレージクラスであるAmazon S3 StandardにS3オブジェクトが作成されます。
-
このオペランドに指定したS3バケットがディレクトリバケットの場合
ディレクトリバケットのデフォルトのストレージクラスであるAmazon S3 Express One ZoneにS3オブジェクトが作成されます。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
- [76] adb_sys_cld_az_storage_account = BLOBの格納先ストレージアカウント名
-
~〈文字列〉((3~24バイト))
このオペランドには,Azure Blob Storageのストレージアカウント名を指定します。Azure環境でクラウドストレージ機能を使用する場合は,このオペランドを必ず指定してください。クラウドストレージ機能については,「2.21.3 Azure環境でHADBサーバを使用する場合」の「(2) Azure Blob StorageにDBエリアのデータを格納する場合(クラウドストレージ機能を使用する場合)」の「(a) クラウドストレージ機能とは」を参照してください。
- メモ
-
-
このオペランドを指定した場合は,adb_sys_cld_az_containerオペランドも一緒に指定してください。
-
初期設定オプションのadb_sys_cld_az_storage_accountオペランドを指定してadbinitコマンドを実行する場合は,このオペランドを指定してください。また,このオペランドと初期設定オプションのadb_sys_cld_az_storage_accountオペランドには,同じストレージアカウント名を指定することを推奨します。異なるストレージアカウント名を指定した場合,HADBサーバが開始できないおそれがあります。
-
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
- [77] adb_sys_cld_az_container = BLOBの格納先コンテナー名
-
~〈文字列〉((3~63バイト))
このオペランドには,BLOBを格納するコンテナー名を指定してください。Azure環境でクラウドストレージ機能を使用する場合は,このオペランドを必ず指定してください。
- メモ
-
-
このオペランドを指定した場合は,adb_sys_cld_az_storage_accountオペランドも一緒に指定してください。
-
初期設定オプションのadb_sys_cld_az_containerオペランドを指定してadbinitコマンドを実行する場合は,このオペランドを指定してください。また,このオペランドと初期設定オプションのadb_sys_cld_az_containerオペランドには,同じコンテナー名を指定することを推奨します。異なるコンテナー名を指定した場合,HADBサーバが開始できないおそれがあります。
-
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
- [78] adb_sys_cld_cache_path = キャッシュファイルの格納先ディレクトリ名
-
〜〈OSパス名〉((2〜510バイト))
このオペランドには,キャッシュファイルを格納するディレクトリを絶対パス名で指定します。クラウドストレージ機能を使用する場合は,このオペランドを必ず指定してください。
- メモ
-
-
初期設定オプションにadb_init_cld_cache_pathオペランドを指定してadbinitコマンドを実行する場合は,このオペランドを指定してください。また,このオペランドとadb_init_cld_cache_pathオペランドには,同じディレクトリ名を指定することを推奨します。異なるディレクトリ名を指定をした場合,HADBサーバが開始できないおそれがあります。
-
クラウドストレージ機能を使用しない場合は,このオペランドを指定しても無視されます。
-
キャッシュファイルの格納先ディレクトリは,1ギガバイト以上の容量を必要とします。adbcachegrpオペランドでキャッシュグループを定義する場合は,キャッシュグループ1つ当たり1ギガバイト以上の容量を必要とします。HADBサーバの開始時またはadbinitコマンドの実行時に,必要な容量を確保できない場合は,KFAA41239-Eメッセージが出力されてHADBサーバの開始処理またはadbinitコマンドがエラーとなります。
HADBサーバの稼働中に,キャッシュファイルの格納先ディレクトリがあるディスクの満杯を検知して入出力エラー(ENOSPCなど)が発生した場合,キャッシュファイルの総容量の上限値をディスクに書き込めた範囲まで一時的に引き下げます。引き下げ後の上限値が最低限必要な容量を上回る場合は,HADBサーバは稼働し続けますが(KFAA51285-Wメッセージを出力),最低限必要な容量を下回る場合は,HADBサーバは異常終了します(KFAA41235-Eメッセージを出力)。
- [79] adb_sys_cld_cache_total_size = キャッシュファイルの総容量の上限
-
~〈整数〉((1~1,000,000))《64》(単位:ギガバイト)
このオペランドには,キャッシュファイルの総容量の上限値を指定します。全データ用DBエリアの格納データ量の10%を目安とした値をこのオペランドに指定してください。
このオペランドの指定値を基にして,HADBサーバの開始時にHADBサーバがキャッシュファイルの総容量の上限値を決定します。HADBサーバが決定したキャッシュファイルの総容量の上限値を超えた場合,最後にアクセスした時間がいちばん古いキャッシュファイルを削除したあとに新しいキャッシュファイルを作成することで,キャッシュファイルの総容量の上限を超えないようにします。
adbls -d cfmコマンドを実行すると,HADBサーバが決定したキャッシュファイルの総容量の上限値(INTERNAL_TOTAL_LIMIT(MB))を確認できます。
- メモ
-
キャッシュファイルの作成時にストレージの容量不足を検知した場合,警告メッセージKFAA51285-Wが出力され,HADBサーバが決定したキャッシュファイルの総容量の上限値を一時的に利用可能な容量まで引き下げます。一度引き下げられた上限値は,HADBサーバの稼働中には元に戻せません。元に戻す場合は,HADBサーバを再起動してください。
- ■このオペランドの指定値のチューニング方法
-
SQL文の統計情報を確認し,キャッシュファイルのヒット率を計算してください。ヒット率が80%以下の場合は,このオペランドの指定値を大きくしてください。
キャッシュファイルのヒット率(%)={(A+B)÷(C+D)}×100
A:Cld_cache_sgmt_read_hit_cntの値
B:Cld_cache_dir_read_hit_cntの値
C:Cld_cache_sgmt_read_cntの値
D:Cld_cache_dir_read_cntの値
上記は,SQL文の統計情報に出力される項目です。上記の出力項目については,マニュアルHADB コマンドリファレンスのSQL文の統計情報で出力される項目を参照してください。
- 重要
-
-
adbcachegrpオペランドを指定してキャッシュグループを定義する場合は,このオペランドは指定できません。キャッシュグループについては,「2.21 クラウド環境でHADBサーバを使用する場合」を参照してください。
-
クラウドストレージ機能のシステムディレクトリ対応オプションを有効にする場合,システムディレクトリ用のキャッシュグループが自動的に作成されます。システムディレクトリ用のキャッシュグループ内のキャッシュファイルの容量については,このオペランドで指定するキャッシュファイルの総容量の上限の対象外になります。
-
- [80] adb_sys_cld_access_area_size = S3オブジェクトまたはBLOBへのアクセス用メモリのサイズ
-
~〈整数〉((256~131,072))《2,048》(単位:メガバイト)
このオペランドには,S3オブジェクトへのアクセス時に使用する,S3オブジェクトを一時的に保持するためのメモリのサイズを指定します。通常,このオペランドの指定は不要です。
このオペランドの指定値を大きくすると,S3オブジェクトへのアクセス性能が向上することがあります。
このオペランドの指定値を32メガバイトの倍数に切り上げた値が,このオペランドの指定値として仮定されます。
- メモ
-
Azure環境の場合は,S3オブジェクトをBLOBと読み替えてください。
- [81] adb_sys_cld_throughput = S3オブジェクトのI/Oの目標スループット値
-
~〈整数〉((1~1,000))《HADBサーバによって決定されたデフォルト値※》(単位:Gbps)
このオペランドには,S3オブジェクトへのアクセス時に目標とするI/Oのスループットの値を指定します。Amazon S3を使用し,かつadb_sys_cld_endpointオペランドを省略する場合は,S3オブジェクトへのアクセス時に目標とするI/Oのスループットの値を指定します。
このオペランドは,オブジェクトストレージにAmazon S3またはAmazon S3互換オブジェクトストレージを使用する場合に限り有効になります。それ以外のオブジェクトストレージを使用している場合にこのオペランドを指定しても無視されます。
- 注※
-
このオペランドの指定を省略した場合,デフォルト値は次の規則に従って決定されます。
-
ネットワーク帯域幅に数値を含むインスタンスタイプの場合
その数値がデフォルト値になります。例を次に示します。
-
r5b.xlarge(Up to 10)の場合:デフォルト値は10Gbpsになります。
-
i3en.24xlarge(100)の場合:デフォルト値は100Gbpsになります。
-
m6i.12xlarge(18.75)の場合:デフォルト値は18Gbpsになります。
-
m4.16xlarge(25 Gigabit)の場合:デフォルト値は25Gbpsになります。
-
-
ネットワーク帯域幅に数値を含まないインスタンスタイプの場合
t2.micro(Low to Moderate),またはm4.2xlarge(High)などの場合,デフォルト値は5Gbpsになります。
-
次のどれかの条件を満たす場合
-
AWS CLIがインストールされていない場合
-
AWS CLIはインストールされているが,環境設定が完了していないためコマンドの実行に失敗する場合
-
インスタンスメタデータへのアクセスが無効にされているインスタンスの場合
上記のどれかの条件を満たすと,デフォルト値は5Gbpsになります。
-
-
adb_sys_cld_endpointオペランドを指定する場合は,HADBサーバをインストールしたインスタンスとオブジェクトストレージ間のネットワーク帯域幅を指定してください。この場合,このオペランドのデフォルト値は5Gbpsになります。
- メモ
-
adbstatコマンドのHADBサーバの統計情報のCld_throughputに,HADBサーバの開始時に設定されたこのオペランドの値が出力されます。