1つのデータベースに対して10,000個のレンジインデックスを作れるか?
Posted by Wataru Ohki on 21 October 2019 07:23 PM |
|
以前、「1つのデータベースに対し10,000個のレンジインデックスを作れるか」という議論がありました。 当時の状況としては約1,000エンティティが存在しており、1エンティティ当たり10フィールド分のインデックスが必要だろうという推測のもと、 結論から申し上げると、マークロジックでは10,000(ないしは数百)レンジインデックスを作るのはお勧めしません。 ユニバーサルインデックスまず始めに考えるべき事は、本当に10,000フィールド(またはエレメント)分のレンジインデックスが必要かということです。 ユニバーサルインデックスにより、取り込んだドキュメントに対する全文検索や特定のセクションに対する検索が可能なため、 レンジインデックスユニバーサルインデックスは高速検索を可能とします。 掲載日に日付型のレンジインデックスを使用すると、何々以上などという範囲検索が可能となります。 一般的なアプリケーションでは、ドキュメントの複数あるいは全フィールドに対する検索は必要ですが、大量の不等価演算や フィールド機能マークロジックにおいて、フィールド機能とは複数エレメントに同一名でアクセスするために使用します。 例えば、2つの本に関するデータベースがあったとし、片方では”published-date”、他方では”pub-date”と同じ内容のエレメントに複数の名前があったとしましょう。 トリプルどうしても様々なフィールドに対して横断検索をしたいといったことがあるかもしれません。 10,000レンジインデックスはダメなのか?10,000レンジインデックスの代替案を考える前に、まずは当初の質問に戻ってみましょう。 また、各フォレストごとに関連するデータのインデックスを保持します。 通常1ホストあたり12フォレスト(6マスター、6レプリカ)と約100スタンド程度が存在します。 まとめもし数百数千のレンジインデックスを作成しようとしている場合、もう一度データがどう扱われるか考え直してみてください。 The post 1つのデータベースに対して10,000個のレンジインデックスを作れるか? appeared first on MarkLogic. | |