DSE Tiered Storage(DSE階層化ストレージ)の構成
ストレージ・メディア間でのスマートなデータ移動を自動化するためのDSE Tiered Storage(DSE階層化ストレージ)の構成に関するドキュメント。
- ストレージの場所とストレージの場所を定義する階層を定義するためのストレージ・ストラテジを、dse.yamlファイルのノード・レベルで構成します。
さまざまなユース・ケースに対して、複数の構成を定義できます。複数の異機種ディスク構成がサポートされています。
DataStaxは、クラスター全体にデプロイする前に、ローカル構成をテストすることを推奨します。
- スキーマ・レベルで経過時間ポリシーを構成します。
唯一サポートされているデータ使用量ポリシーはパーティションの経過時間です。階層の経過時間のしきい値は、テーブルがコンパクション・ストラテジTieredCompactionStrategyで作成されるときに設定されます。
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
手順
-
各ノードの dse.yaml ファイルで
tiered_storage_options
セクションのコメントを解除します。 -
階層化ストレージ・ストラテジごとに、各階層の構成名、ストレージ階層、およびデータ・ディレクトリーの場所を定義します。
- ストレージ階層を優先順位で定義します。その階層の中で最速のストレージ・メディアが、リストの最初にきます。
- 階層ごとに、データ・ディレクトリーの場所を定義します。
この形式を使用します。ここで、config_nameは、CREATE TABLEまたはALTER TABLE文で参照する階層化ストレージ・ストラテジです。config_nameは、すべてのノードで同じでなければなりません。tiered_storage_options: config_name: tiers: - paths: - path_to_directory1 - paths: - path_to_directory2
ここで、- config_nameは階層化ストレージ構成ストラテジの構成可能な名前です。たとえば、strategy1のようになります。
- 階層は優先順位を定義するパスとファイル・パスによりストレージ階層を定義するこのセクションです。
- パスはディスク構成のこの階層のデータ・ディレクトリーを定義するファイル・パスのセクション。通常、最も高速なストレージ・メディアを最初にリストします。これらのパスは、階層化ストレージを使用するように構成されたデータを格納するためにのみ使用されます。これらのパスは、cassandra.yamlファイルの設定とは関係ありません。 です。
たとえば、strategy1
という名前の階層化ストレージ構成には、3つの異なるストレージ階層が優先順位順に並べられています(リストの最初の階層が最も優先順位が高い)。tiered_storage_options: strategy1: tiers: - paths: - /mnt1 - /mnt2 - paths: - /mnt3 - /mnt4 - paths: - /mnt5 - /mnt6
-
選択したテーブルに階層化ストレージ・ストラテジを適用するには、CREATEまたはALTERテーブル文を使用します。
たとえば、階層化ストレージをテーブルks.tblに適用するには、以下のようにします。
CREATE TABLE ks.tbl (k INT, c INT, v INT, PRIMARY KEY (k, c)) WITH COMPACTION={'class':'org.apache.cassandra.db.compaction.TieredCompactionStrategy', 'tiering_strategy': 'TimeWindowStorageStrategy', 'config': 'strategy1', 'max_tier_ages': '3600,7200'};
コンパクション・オプションを使用して、タイミング・メトリクスを設定します。- class
'class':'org.apache.cassandra.db.compaction.TieredCompactionStrategy'は、階層化ストレージを使用するためのテーブルを構成します。
- tiering_strategy
'tiering_strategy': 'TimeWindowStorageStrategy'は、TimeWindowStorageStrategy(TWSS)を使用して、データをどの階層に移動するかを決定します。TWSSは、TimeWindowCompactionStrategy(TWCS)を使用するDSE Tiered Storage(DSE階層化ストレージ)のストラテジです。
- config
'config': 'strategy1'は、dse.yamlファイルで構成されているストラテジ(この場合はstrategy1)を使用するように指定します。
- max_tier_ages'max_tier_ages': '3600,7200'はコンマ区切りリストの値を使用して、階層あたりの最大経過時間を秒単位で定義します。ここで、
- 3600は、第1階層を経過時間が1時間(3600秒)以下のデータに制限します。
- 7200は、第2階層を経過時間が2時間(7200秒)以下のデータに制限します。
- 他のすべてのデータは、第3階層に定義されているデータ方向の場所にルーティングされます。
注: TimeWindowStorageStrategy(TWSS)の場合、DataStaxは、max_tier_agesに指定された各経過時間ごとに1つの階層を定義し、古いデータに対して別の階層を定義することを推奨します。ただし、DataStax Enterpriseは、テーブル・スキーマとdse.yamlファイルで構成されている階層のみを使用します。最も古いデータを表す暗黙的階層が存在します。たとえば、dse.yaml内で2つの階層を持つストラテジの場合は、以下のようになります。- 'max_tier_ages': '3600,7200'は、3つの階層を使用します。階層0は3600秒より新しいデータ、階層1は3600~7200秒のデータ、階層2は7200秒より古いデータになります。
- 'max_tier_ages': '3600'は、最初の2つの階層のみを使用します。
- 'max_tier_ages': '3600,7200,10800’は、3つの階層すべてを使用しますが、最後の値を無視します。最初の2つの階層に属していないデータは、データが10800秒より古いかどうかにかかわらず、第3階層に移動します。
- class