2011-02-02 79 views
1

我正在尋找一種解決方案來爲我的本機代碼應用程序添加持久性。它應該很簡單(沒有SQL),快速並且最重要的是可靠。簡單,快速和可靠的數據庫(NoSQL)

我能想到的最佳方法是使用內存映射文件。它的功能非常簡單快捷 - 您只需將純數據數組中的值存儲在「內存」中即可。但是,我不認爲它非常可靠 - 電源故障可能會使數據庫處於不一致或已損壞的狀態。能夠將一組內存映射文件事務性地同步到磁盤可以解決這個問題,但我認爲這是不可能的。另外,除非文件系統支持快照或COW克隆(例如Brtfs),否則備份將意味着在複製文件時不得不完全停止應用程序。

有沒有人有更好的想法?

+0

內存≠持續。 – coreyward 2011-02-02 06:16:40

+1

沒有SQL,SQLite怎麼樣?它只是你試圖避免的數據庫? SQLite只是一個平面文件.. – caesay 2011-02-02 06:18:03

+0

@coreyward:嗯,你知道什麼是內存映射文件,對吧?編輯一個文件的「內存」映射到也會編輯磁盤上的文件,但不是立即。 @Tommy:我只是想避免毫無意義的轉換/從字符串,字符串轉義等 – 2011-02-02 06:20:37

回答

0

RocksDB或性LevelDB其他偉大的選擇。