3

什么时候应该通过 ORM 使用 MapDb 与常规数据库?除了直接映射到 Java.util.Map 之外,它也可以使用 ORM 来实现。

4

2 回答 2

4

Jan 的回答非常有偏见,因为他是 MapDb 的作者。

MapDb 非常适合“内部存储”,当有一个实体与“值”相关联时。它的界面非常简单,您可以使用自己的格式进行序列化(推荐),也可以依赖 MapDb 中高度紧凑的内部序列化格式。

当存储的数据处于某种类型的“外部控制”之下时,ORM 最有价值。这可能是公司中有存储策略、预定义的 RDBMS 模式,或者可能是数据必须可由某些为 SQL 制作的报告引擎查询。

在许多情况下,意见和个人偏好会产生重大影响。就我个人而言,我站在 Jan 的立场上,认为 ORM 很快就会变得非常难以处理,如果考虑到“数据迁移”,我认为 MapDb(以及许多其他 NoSQL 替代方案)胜出的次数更多。对于外部查询引擎,我会将数据修改事件从主应用程序发送到辅助系统,该辅助系统解释这些事件并更新此类纯 SQL 系统所需的“视图”。

于 2014-09-16T15:00:29.027 回答
2

如果您需要额外的性能和灵活性,我会使用 MapDB。否则,将常规 ORM 与 DB 一起使用。

于 2014-09-16T09:36:28.630 回答