我正在寻找一种为我的原生代码应用程序添加持久性的解决方案。它应该简单(没有SQL),快速,最重要的是可靠。
我能想到的最佳方法是使用内存映射文件。它就像它可以获得的那样简单快速 - 您只需将值存储在“内存”中的普通数据数组中。但是,我不认为它非常可靠 - 电源故障可能会使数据库处于不一致或损坏的状态。能够将一组内存映射文件事务性地同步到磁盘可以解决这个问题,但我不认为这是可能的。此外,除非文件系统支持快照或COW克隆(例如Brtfs),否则备份将意味着必须在复制文件时完全停止应用程序。
有没有人有更好的想法?
答案 0 :(得分:2)
东京内阁 http://fallabs.com/tokyocabinet/
Berkeley DB
http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html
答案 1 :(得分:0)
您的要求列表听起来像Redis。有关详情,请参阅http://redis.io/。
另一种可能性是卡桑德拉。有关详情,请参阅http://cassandra.apache.org/。
答案 2 :(得分:0)
RocksDB或levelDB是其他很棒的选择。