1

我在电子健康记录领域工作,如果尝试使用关系数据库,我使用的标准 (http://www.openehr.org) 在许多用例中会造成严重的不匹配。

我已经设法开发了一些相当成功的方法来使用关系数据库来处理大部分树结构,但是如果我使用键值类型的存储,我可以做得更好。

问题是,RDMS 概念在市场上变得如此占主导地位,以至于成熟度几乎完全与关系数据库相关。每当有人考虑离开关系空间时,尤其是现在,NOSQL 之歌就会开始播放。大多数 NOSQL 选项都太年轻了,我很难投资它们来处理敏感的医疗保健数据。

所以我在非关系领域寻找成熟的、开源的、高性能的选项,尤其是那些便于键值类型操作的选项。例如,BerkeleyDB 就是这样一种选择,但 Oracle 当前的许可条款不适用于我。

我不需要 SQL,无论如何我都必须实现一种自定义查询语言(它已经定义为 openEHR 规范的一部分)。我不需要表格,因为我的数据都是树结构。我需要成熟度、稳定性和性能,我需要 ACID 合规性、可扩展性,我需要开源。我什至考虑过整合各种成熟的 Java 框架来实现这些目标,并在这里提出了一个问题,但似乎这不是一个现实的方法。

我是否缺少任何隐藏或明显的宝石?

4

2 回答 2

0

成熟度、稳定性、性能、ACID 合规性、可扩展性、开源、树结构数据 - 使用 OpenLDAP。

如果您真的想推出自己的数据模型查询语言,您可以使用 LMDB,这是为 OpenLDAP 开发的键值对存储。

于 2014-08-11T08:16:49.110 回答
0

如果您的应用程序是用 Java 编写的,那么Chronicle Map是解决您问题的成熟且非常有效的解决方案。它比 BerkeleyDB 快得多。Chronicle Map 不是 ACID,但它仅通过操作系统级别的文件内存映射提供最终一致性。您可以在此处找到有关 Chronicle Map 耐用性保证的确切信息。

于 2017-03-18T23:42:17.513 回答