データ・キャッシュの構成

DataStax Enterpriseのパーティション・キー・キャッシュ、行キャッシュ、および行レベルのパーミッションに関する情報。

DataStax Enterpriseには、統合キャッシング機能が含まれており、クラスター全体にキャッシュ・データを分散します。

ノードがダウンすると、クライアントは、キャッシュされた別のデータ・レプリカから読み取ることができます。また、データベース・アーキテクチャーにより、別のキャッシング階層がないため、トラブルシューティングが容易になります。キャッシュされたデータは、データベース内にあるものと厳密に一致します。統合キャッシュは、キャッシュを定期的にディスクに保存してコールド・スタートの問題を緩和します。データベースは、再起動時にコンテンツをキャッシュに読み込み直して、このデータを分散させます。クラスタは、コールド・キャッシュから開始されません。

保存されているキー・キャッシュ・ファイルの名前にテーブルのIDが含まれます。mykeyspaceキースペースのusersテーブルの、保存されているキー・キャッシュ・ファイルの名前は、以下のようになります。

mykeyspace-users.users_name_idx-19bd7f80352c11e4aa6a57448213f97f-KeyCache-b.db2046071785672832311.tmp

パーティション・キー・キャッシュについて

パーティション・キー・キャッシュは、テーブルのパーティション・インデックスのキャッシュです。OSのページ・キャッシュに依存せずに、代わりにキー・キャッシュを使用すると、シーク時間を短縮できます。キー・キャッシュを有効にしただけでは、要求されたデータ行を実際に読み取るためにディスク(またはOSのページ・キャッシュ)アクティビティーが発生します。ただし、キー・キャッシュを有効にしないと、ディスクからの読み取り量が増加します。

行キャッシュについて

注: 適切なOSページ・キャッシュを利用することで、行キャッシングを使用するよりもパフォーマンスが向上します。DataStax Enterpriseがホストされているオペレーティング・システムのページ・キャッシングのリソースを確認してください。

rows_per_partitionテーブル・オプションを設定して、パーティションでキャッシュする行の数を構成します。行をキャッシュするには、行キーがキャッシュにまだ存在しない場合、データベースはパーティションの最初の部分を読み取り、キャッシュにデータを格納します。新しくキャッシュされたデータに、ユーザーが構成したセルの一部が含まれない場合、データベースは別の読み取りを実行します。行キャッシュの実際のサイズは、ワークロードによって異なります。アプリケーションのベンチマークを適切に行って、「最適な」行キャッシュ・サイズを構成してください。

2つの行キャッシュ・オプション、古いキャッシュ・プロバイダーと新しいオフヒープ・キャッシュ(OHC)プロバイダーのシリアライズがあります。新しいOHCプロバイダーは、古いオプションより15%パフォーマンスが優れているため、ベンチマークされています。

キー・キャッシュと行キャッシュの使用

通常、テーブルのパーティション・キーまたは行キャッシュのいずれかを有効にします。
ヒント: 行キャッシュは、読み取り数が書き込み数よりもかなり多い(目安としては95%)場合にのみ、有効にします。パーティションへの書き込みによってキャッシュのパーティション全体が無効になるため、オペレーティング・システムでは行キャッシュの代わりにページ・キャッシュを使用することを検討してください。
ヒント: 読み取り頻度の低いアーカイブ・テーブルのキャッシングは、完全に無効にしてください。