我正在寻找一个基于 C/C++ 的分布式键/值存储,它具有足够干净的设计,因此我可以插入我自己的内存存储引擎。即使我必须更改代码才能做到这一点也没关系。
有人推荐吗?或者在做这件事时有类似的经历?基于 Java 的项目 Voldemort ( http://www.project-voldemort.com/voldemort/ ) 是一个很好的例子,除了它是用 JAVA 编写的,而我正在寻找 C++ 或 C 中的东西。
最佳答案
Berkeley DB 是一个带有 C(有点像 C++)api 的键值存储。除了在键值存储之上编写您自己的元组管理之外,我不确定您所说的“可插拔存储”是什么意思。
相关性:
- 在内存中:Writing In-Memory Berkeley DB Applications
- 键/值:Berkeley DB (BDB) is a software library intended to provide a high-performance embedded database for key/value data
不回答问题,胡说八道,貌似得负分:
但我不确定这是否有效。我开始使用 Berkeley DB,但意识到我的查询变得越来越复杂,而且我编写了太多开销代码。
我最终迁移到了 SQLite。它是一个 C/C++,具有完整的 SQL 功能,但进程内内存占用非常低。然后在此基础上使用 ORM 工具来管理数据结构。
Wt 的 ORM 工具在这方面工作得很好。
这两者的结合可能会让您加快自己的代码速度,而不是乱搞访问层代码。
关于c++ - C/C++ 中的分布式键/值存储,具有可插拔存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409836/