何时应该通过ORM使用MapDb与常规数据库?除了直接映射到Java.util.Map之外,还可以使用ORM实现。
答案 0 :(得分:4)
Jan的回答非常有偏见,因为他是MapDb的作者。
MapDb非常适合“内部存储”,并且只有一个单独的实体与其关联。它的界面非常简单,您可以使用自己的格式进行序列化(推荐),也可以依赖MapDb中高度紧凑的内部序列化格式。
当存储的数据处于某种类型的“外部控制”下时,ORM最有价值。这可能是公司中存在存储策略,预定义的RDBMS模式,或者可能是某些为SQL制作的报告引擎可以查询数据。
然后,在很多情况下,意见和个人偏好会产生重大影响。就个人而言,我在Jan的角落,并认为ORM很快就变得非常难以处理,如果考虑到“数据迁移”,我认为MapDb(以及许多其他NoSQL替代品)胜过次数。对于外部查询引擎的情况,我会将数据修改事件从主应用程序发送到辅助系统,该辅助系统解释这些事件并更新此类仅限SQL的系统所需的“视图”。
答案 1 :(得分:2)
如果您需要额外的性能和灵活性,我会使用MapDB。否则使用常规ORM与DB。