DSE Search初期データの移行
データをDSE Searchに読み込むためのベスト・プラクティスとガイドライン。
データをDSE Searchに読み込むためのベスト・プラクティスとガイドライン。
データを初めてDataStax Enterprise(DSE)に読み込む際は、リソースの競合が発生するため、パフォーマンスを維持するための計画が必要です。
- DSEはデータの書き込み時に効率的になります。
- Apache Solr™は検索インデックスの作成時に多くのリソースを消費します。
推奨事項
- スループットを最大化するには、検索インデックス・データとDataStax Enterprise(Cassandra)のデータを個別の物理ディスクに格納します。
個別のディスクを使用できない場合は、最低でも500 MB/秒の読み取り/書き込み速度(帯域幅)のSSDを使用することを推奨します。
初回の一括読み込み
DataStaxでは、以下の高レベルの手順に従うことを推奨しています。
- DSEをインストールし、検索ワークロード用のノードを構成します。
- CQL CREATE SEARCH INDEXコマンドを使用して、検索インデックスを作成します。
- インデックスを調整し、インデックス作成のスループットを最大化します。
- データ読み込みに関するベスト・プラクティスに従って、データをデータベースに読み込みます。たとえば、整合性レベルをLOCAL_ONE(CL.LOCAL_ONE)に設定し、書き込みタイムアウトを十分に大きい値に設定したドライバーを使用してデータを読み込みます。
データの読み込みの完了後に時間差が生じる場合があります。これは、インデックスの作成が非同期であるためです。
- QueueSizeのインデックス作成をIndexPool MBeanを使用して確認します。インデックスのキュー・サイズが減少した後で、以下のCQLクエリーを実行してレコード数が予想どおりであることを確認します。
SELECT count(*) FROM ks.table WHERE solr_query = '*:*';
新しいデータのインデックスは自動的に作成されます。
トラブルシューティング
レコード数が安定しない場合:
- 削除されたミューテーションが一部のノードのnodetool tpstatsの出力に記録され、OpsCenter Repair Service(OpsCenterリペア・サービス)が有効になっていない場合は、これらのノードで手動リペアを実行します。
- 削除されたミューテーションが存在しない場合は、system.logとSolr検証ログにインデックス作成エラーが記録されていないかどうかを確認します。