- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
什么时候应该通过 ORM 使用 MapDb 与常规数据库?除了直接映射到 Java.util.Map 之外,还可以使用 ORM 实现。
最佳答案
Jan 的回答有很大的偏见,因为他是 MapDb 的作者。
MapDb 非常适合“内部存储”,当有一个实体与“值”相关联时。它的界面非常简单,您可以使用自己的格式(推荐)进行序列化,也可以依赖 MapDb 中高度紧凑的内部序列化格式。
当存储的数据处于某种类型的“外部控制”之下时,ORM 最有值(value)。这可能是因为公司中有存储策略、预定义的 RDBMS 模式,或者可能是数据必须可由为 SQL 制作的某些报告引擎查询。
在很多情况下,意见和个人偏好会产生重大影响。就个人而言,我站在 Jan 的角度,认为 ORM 很快就会变得非常难以处理,如果你考虑到“数据迁移”,我认为 MapDb(和许多其他 NoSQL 替代方案)胜出的次数多于不胜出的次数。对于外部查询引擎,我会将数据修改事件从主应用程序发送到辅助系统,辅助系统解释这些事件并更新此类纯 SQL 系统所需的“ View ”。
关于database - MapDB 与常规数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25622532/
我正在探索将 MapDB 实用程序用作由 SSD 支持的堆外 Java 缓存。有人可以建议它是否支持以下内容: 设备对 SSD 设备的访问是否“闪存友好”,即访问是否对齐页面。 它是否允许以批处理模式
我正在研究堆外缓存,似乎找不到太多有关堆上内存消耗与堆外(仍在内存中)内存消耗的信息/基准。 我打算使用MapDB 。文档表明 compression can be applied在序列化对象和/或整
我在测试 mapdb 时遇到内存不足错误。鉴于该项目的整个想法是将数据结构序列化到磁盘并避免内存问题,我认为我做错了什么。有什么想法我做错了吗?还是有bug? @Test public
我在 Android Studio 中编程。我正在使用 mapDB,2.0-beta8 版本。我创建了自己的类 SingleCase,我还定义了一个静态变量: static ConcurrentNav
我正在使用我创建的文件支持的 MapDB: File dbFile = new File("db"); DBMaker.newFileDB(dbFile) .closeOnJvmShutdow
最新版本的 MapDB 是线程安全的吗?我在 Google 和 their website 找不到任何具体内容没有说任何关于锁定的事情。 最佳答案 你可以看到你需要的数据结构的代码注释,像HTreeM
什么时候应该通过 ORM 使用 MapDb 与常规数据库?除了直接映射到 Java.util.Map 之外,还可以使用 ORM 实现。 最佳答案 Jan 的回答有很大的偏见,因为他是 MapDb 的作
所以我有一个包含大约 2000 万个键值对的列表,我将数据以不同的方式存储在几个 MapDB 中,以查看它如何影响我的程序性能,并进行实验。 问题是,将 2000 万个键值对插入(以随机顺序)到 ma
我有一个用例,我想使用不透明的 byte[] 作为 MapDb 的键。我发现了这个 - Using a byte array as Map key - 快速限制;想知道推荐哪种方法。 我宁愿不创建一堆
所以我创建了一个像这样工作的数据库: static class Record implements Serializable { final String action; final
我正在使用 MapDB在一个处理数十亿个需要映射/排队的对象的项目中。程序完成后我不需要任何类型的持久性(MapDB 数据库都是临时的)。我希望程序尽可能快地运行,但我对 MapDB 的 commit
我将 MapDB 用于键值数据库以获得更好的性能。在 map.clear() 之后我的文件没有在磁盘中删除。我需要在 remove() 或 clear() 方法之后回收磁盘空间。下面是我的代码片段。
我在mapdb 中有包含150K 条目的树形图。调用 treemap.clear() 需要几分钟时间。我怎样才能快速做到这一点?使用 创建新的 db.treeMap("pageCache").crea
我正在使用 gwt,并且正在使用 mapdb,当我将数据检索为 map (BTreeMap) 时,gwt 会抛出 rpc 序列化异常。我将 map 包装在一个实现 Serialized 和 IsSer
我已经创建了一个 neo4j 用户定义过程。它还可以在 neo4j 中编译和工作。 虽然最近,我向我的过程插件添加了一个依赖项,以防止 neo4j 在我尝试运行新构建的 jar 时启动。具体来说,我在
我正在尝试序列化和反序列化一个对象以将其存储在 mapDb 中。 我设法使用这个片段序列化对象: ByteArrayOutputStream bos = new ByteArrayOutputStre
我已经实现了一个 hazelcast 服务,该服务通过 MapStoreFactory 和 newMapLoader 将其数据存储到本地 mapdb 实例中。如果需要重新启动集群,可以通过这种方式加载
我尝试直接将 Clojure 的 hashmap 与 MapDB 一起使用,但遇到了奇怪的行为。我检查了 Clojure 和 MapDB 源代码,但无法理解这个问题。 首先一切看起来都很好: lein
在 MapDB 1.x 中,您可以通过调用 db.delete("table name") 和 db.rename("old table name", "新表名”)。但是似乎不再有 API 功能可以执
我想直接从 HDFS 访问 mapdb map ,而不是将其复制到本地文件系统。是否可以?有没有其他方法可以在不使用本地文件系统的情况下读取这些 map ? 最佳答案 您可以将数据读入 byte[],
我是一名优秀的程序员,十分优秀!