2011-12-23 43 views
1

我在電子健康記錄領域工作,而且我正在使用的標準(http://www.openehr.org)會在許多使用案例中嘗試使用關係數據庫時造成嚴重的不匹配。什麼是屬性值數據庫的最成熟和最高性能選項?

我已經設法開發了一些使用關係數據庫來處理大多數樹結構的相當成功的方法,但是如果我使用了鍵值類型的存儲,我可以做得更好。

問題是,RDMS概念已經成爲市場上的主導因素,成熟度幾乎完全與關係數據庫相關聯。每當有人考慮移出關係空間時,特別是最近,NOSQL歌曲開始播放。 大多數NOSQL選項太年輕,我很難投資於處理敏感的醫療保健數據。

所以我在非關係空間尋找成熟的,開源的,高性能的選項,尤其是那些方便鍵值類型操作的選項。例如,BerkeleyDB就是這樣一個選項,但是Oracle目前的許可條款對我來說並不適用。

我不需要SQL,我將不得不實現一個自定義查詢語言(它已被定義爲openEHR規範的一部分)。我不需要表格,因爲我的數據是全部樹結構。我需要成熟度,穩定性和性能,我需要遵守ACID,可擴展性,並且我需要開源。我甚至考慮過將各種成熟的Java框架集合在一起來實現這些目標,並在這裏提出了一個關於它的問題,但似乎它不是一個現實的方法。

是否有任何隱藏或明顯的寶石我失蹤?

回答

0

成熟度,穩定性,性能,ACID兼容性,可伸縮性,開源,樹狀結構化數據 - 使用OpenLDAP。

如果您確實想要推出自己的數據模型查詢語言,您可以使用LMDB(爲OpenLDAP開發的鍵值存儲區)。

+0

謝謝,一個有趣的想法,我會看看lmdb – mahonya 2014-08-11 08:34:41

0

如果您的應用程序是用Java編寫的,Chronicle Map是針對您的問題的成熟解決方案和very efficient解決方案。它比BerkeleyDB快得多。然而,Chronicle Map並不是ACID,它只能通過操作系統級文件內存映射提供最終的一致性。你可以找到有關Chronicle Map的耐用性保證here的確切信息。

相關問題