ScalarDB Cluster の設定
注記
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このドキュメントでは、ScalarDB Cluster の設定について説明します。ScalarDB Cluster は複数のクラスターノードで構成されており、各クラスターノードを設定する必要があります。設定はプロパティファイルで指定する必要があります。
クラスター設定
このセクションでは、ScalarDB Cluster の設定について説明します。
一般的な設定
ScalarDB Cluster では、次の一般的な設定が利用可能です。
トランザクション管理設定
| 名前 | 説明 | デフォルト |
|---|---|---|
scalar.db.transaction_manager | ScalarDB のトランザクションマネージャー。Consensus Commit を使用するには consensus-commit を指定し、非トランザクションストレージ操作を実行する には single-crud-operation を指定します。single-crud-operation を使用する場合、scalar.db.consensus_commit プレフィックスの下の設定は無視されることに注意してください。 | consensus-commit |
scalar.db.consensus_commit.isolation_level | Consensus Commit に使用される分離レベル。SNAPSHOT、SERIALIZABLE または READ_COMMITTED のいずれかを指定できます。 | SNAPSHOT |
scalar.db.consensus_commit.coordinator.namespace | Consensus Commit に使用される Coordinator テーブルの名前空間名。 | coordinator |
ノード設定
| 名前 | 説明 | デフォルト |
|---|---|---|
scalar.db.cluster.membership.type | メンバーシップの種類。現在、KUBERNETES のみ指定できます。 | KUBERNETES |
scalar.db.cluster.membership.kubernetes.endpoint.namespace_name | この設定は、KUBERNETES メンバーシップタイプ用です。endpoint resource の名前空間名。 | default |
scalar.db.cluster.membership.kubernetes.endpoint.name | この設定は、KUBERNETES メンバーシップタイプ用です。メンバーシップ情報を取得するための endpoint resource の名前。 | |
scalar.db.cluster.node.decommissioning_duration_secs | 廃止期間(秒単位)。 | 30 |
scalar.db.cluster.node.grpc.max_inbound_message_size | 受信可能な最大メッセージサイズ。 | gRPCのデフォルト値 |
scalar.db.cluster.node.grpc.max_inbound_metadata_size | 受信できるメタデータの最大サイズ。 | gRPCのデフォルト値 |
scalar.db.cluster.node.port | ScalarDB Cluster ノードのポート番号。 | 60053 |
scalar.db.cluster.node.prometheus_exporter_port | Prometheus エクスポーターのポート番号。 | 9080 |
scalar.db.cluster.grpc.deadline_duration_millis | gRPC の期限期間(ミリ秒単位)。 | 60000 (60秒) |
scalar.db.cluster.node.standalone_mode.enabled | スタンドアロンモードが有効かどうか。スタンドアロンモードが有効になっている場合、メンバーシップ設定 (scalar.db.cluster.membership.*) は無視されることに注意してください。 | false |
scalar.db.metadata.cache_expiration_time_secs | ScalarDB には、データベースへのリクエスト数を減らすためのメタデータキャッシュがあります。この設定では、キャッシュの有効期限を秒単位で指定します。-1を指定した場合は、キャッシュは期限切れになりません。 | 60 |
scalar.db.active_transaction_management.expiration_time_millis | ScalarDB Cluster ノードは進行中のトランザクションを管理しており、トランザクション IDを使用して再開できます。このプロセスでは、リソースリークを防ぐために長時間アイドル状態のトランザクションを期限切れにします。この設定では、このトランザクション管理機能の有効期限 (ミリ秒単位) を指定します。 | 60000 (60秒) |
トランザクションマネージャーの設定
このセクションでは、トランザクションマネージャーの設定について説明します。ScalarDB は、コンセンサスコミットを使用してトランザクションを実行する方法と、非トランザクションストレージ操作を実行する方法を提供します。
コンセンサスコミットを使用してトランザクションを実行する
ScalarDB は、コ ンセンサスコミットと呼ばれる独自のトランザクションプロトコルを提供します。これは、ScalarDB のデフォルトのトランザクションマネージャータイプです。コンセンサスコミットトランザクションマネージャーを使用するには、ScalarDB プロパティファイルに次の内容を追加します。
scalar.db.transaction_manager=consensus-commit
注記
scalar.db.transaction_manager プロパティを指定しない場合は、consensus-commit がデフォルト値になります。
基本設定
コンセンサスコミットトランザクションマネージャーでは、次の基本設定が利用可能です。
| 名前 | 説明 | デフォルト |
|---|---|---|
scalar.db.transaction_manager | consensus-commit を指定する必要があります。 | - |
scalar.db.consensus_commit.isolation_level | Consensus Commit で使用される分離レベル。SNAPSHOT、SERIALIZABLE、または READ_COMMITTED のいずれかを指定できます。 | SNAPSHOT |
scalar.db.consensus_commit.coordinator.namespace | Coordinator テーブルの名前空間名。 | coordinator |
scalar.db.consensus_commit.include_metadata.enabled | true に設定すると、Get および Scan 操作の結果にトランザクションメタデータが含まれます。特定のテーブルのトランザクションメタデータ列の詳細を表示するには、DistributedTransactionAdmin.getTableMetadata() メソッドを使用します。このメソッドは、トランザクションメタデータ列が追加されたテーブルメタデータを返します。この設定を使用すると、トランザクション関連の問題を調査するのに役立ちます。 | false |