【问题标题】:What are the most mature and high performance options for attribute-value databases?属性值数据库最成熟和高性能的选择是什么?
【发布时间】:2011-12-23 14:14:38
【问题描述】:

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

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

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

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

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

是否有我遗漏的隐藏或明显的宝石?

【问题讨论】:

    标签: database key-value non-relational-database


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-01-24
        • 2012-07-09
        • 1970-01-01
        • 2012-02-29
        • 2010-10-01
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        • 2016-11-27
        相关资源
        最近更新 更多