1

エンドユーザーがカスタマイズできるマスターエンティティがあるインターフェイスを介して、いくつかの動的エンティティを作成しようとしています。このようなエンティティの多くのバリエーションが、データベースとアプリケーションに同時に存在する可能性があります。

私はdbにそのような動的エンティティを定義する必要があります/それらのデータを保存します(それらのデータを収集するようにカスタマイズされたフォームを介して。そして私たちのアプリでそのようなデータを使用します。

UIの部分は私たちにとって気が遠くなるようなものではなく、私たちはそれらに対処するための優れた方法を持っています。しかし、単一のエンティティの大きな品種を管理することは問題のようです。

Hibernateにはpojoが必要です。現在、Hibernateを使用したマップベースのシリアル化を検討しています。

ここでの問題は、エンティティのバリエーションごとに個別のテーブルを作成することをお勧めしますか?または、エンティティを完全に非正規化し、キーと値のペアとしてタイプIDの文字列に格納してから、変換する方がよいでしょうか。

これらよりも良い解決策はありますか?

また、クラウドデータベースがシナリオにより適しているかどうかを評価することも検討しています。どんなポインタでも大歓迎です。

4

1 に答える 1

0

この質問をしてからしばらく経ちましたが、その間、私は自分の選択肢をかなり試してきました。

私が試したオプションの 1 つは、休止状態のマップ モードを使用することです。エンティティの定義と変更は非常に柔軟ですが、特定のファミリの種類を実際に保存することはできませんでした。MySQL 内にキー バリュー ストアを作成し、データ変換を行うライブラリを作成することで、さまざまな種類の格納にある程度の成功を収めました。ただし、このデータを mysql で実質的にクエリするのは困難に見えました。lucene の検索インデックスを回答として使用することで、問題を解決しました。

ただし、私の場合の結論は、HBase を使用してインテリジェントなスキャン クエリを実行することです。それが今のところこの問題に対する私の答えであり、うまくいくようです。

于 2013-12-12T15:19:47.107 に答える