MapDB 与常规数据库

Posted

技术标签:

【中文标题】MapDB 与常规数据库【英文标题】:MapDB vs regular database 【发布时间】:2014-09-02 11:39:13 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于MapDB 与常规数据库的主要内容,如果未能解决你的问题,请参考以下文章

嵌入内存的NoSQL键值数据库MapDB,Java

哪里有MapDB使用教程

mapdb详解

用 16G 内存存放 30亿数据(Java Map)转载

MapDB ClassNotFoundException:kotlin.jvm.internal.Intrinsics

mongodb数据库的导出与导入