1

我正在尝试通过一个界面创建一些动态实体,其中有一个可以由最终用户自定义的主实体。这种实体的许多变体可以同时存在于数据库和应用程序上。

我需要在数据库中定义这样的动态实体/在其中存储数据(通过为它们收集数据而定制的表单。并在我们的应用程序中使用这些数据。

ui 部分对我们来说并不令人生畏,我们有一种很好的方式来处理它们。但管理大量单一实体似乎是个问题。

Hibernate 需要一个 pojo。我们目前正在研究使用 hibernate 的基于地图的序列化。

这里的问题是 - 为实体的每个变体创建一个单独的表是一种好习惯吗?还是将实体完全非规范化并将它们作为键/值对存储在具有类型 id 的字符串中然后进行转换更好?

那么这些有更好的解决方案吗?

如果云数据库更适合场景,我们也在考虑评估它们。任何指针都非常受欢迎。

4

1 回答 1

0

自从我问这个问题以来已经有一段时间了,与此同时,我一直在大量尝试我的选择。

我尝试过的一个选项是使用休眠地图模式,尽管它可以非常灵活地定义和更改实体,但我实际上无法存储特定系列的品种。我们通过在 MySQL 中创建键值存储并编写了一个库来进行数据转换,从而在存储品种方面取得了一些成功。然而,在 mysql 上有效地查询这些数据看起来令人生畏。我们通过使用我们在 lucene 上的搜索索引作为答案来解决这个问题。

然而,mycase 的结论是使用 HBase 并进行智能扫描查询。这就是我现在对这个问题的回答,它似乎运作良好。

于 2013-12-12T15:19:47.107 回答