MySQL (Engine = MyISAM) の代替データベースを探しています。
私の Java アプリケーションは、それぞれ 250 から 300 の属性を持つ大きなオブジェクトを格納します。1 つの MySQL サーバーには約 5 億のオブジェクトがあります。不要な結合を避け、手動で実行される垂直パーティションを使用します。属性値を格納するための約 250 のテーブルがあり、これらにもインデックスが付けられています。特定の属性をクエリする場合、MySQL のパフォーマンスが低下します (5 つの属性をクエリすると、5 つの結合を意味します)。
クエリのパフォーマンス (範囲クエリ、完全一致クエリ、およびそれらの組み合わせ) の速度を上げるために、NoSQL データベースをお勧めします。
MongoDB は、これらのオブジェクトを 1 つのコレクションに格納する代わりに使用できます。残念ながら、MongoDB はコレクションごとに最大 64 個の属性しかインデックス化できないため、オブジェクトの値も分割する必要があります。また、MongoDB は、サーバー側でコレクションに参加する機能も提供していません。
dbref /手動参照を使用してMongoDB / Javaを使用して複数のコレクションを「結合」する方法を知っている人はいますか?
いいえの場合、大きなオブジェクトを保存するための他の NoSQL データベースはありますか。上記のように、250の属性?
要件:
取引不要
ユーザーは、オブジェクト全体ではなく、クエリした属性のみを表示する必要があります
単一データベース サーバー環境。