【问题标题】:Distributed Key/Value store in C/C++ With pluggable storageC/C++ 中的分布式键/值存储,具有可插拔存储
【发布时间】:2014-01-28 15:31:19
【问题描述】:

我正在寻找一个基于 C/C++ 的分布式键/值存储,它具有足够干净的设计,以便我可以插入自己的内存存储引擎。即使我必须更改代码才能做到这一点也没关系。

有人推荐吗?或者有类似的经历?基于 Java 的项目 Voldemort (http://www.project-voldemort.com/voldemort/) 是一个很好的例子,除了它是用 JAVA 编写的,我正在寻找 C++ 或 C 的东西。

【问题讨论】:

  • redis 适合你吗?它是一个键/值存储,可以分发并用 C 或 c++ IIRC 编写。它有一个 C++ API。
  • @FélixCantournet 是否可以替换redis中的存储引擎?即使一开始就不允许这样做,如果设计足够模块化,我想它应该可以通过最少的代码更改来实现。 Voldemort 和其他类似的数据库也使用基于一致性散列的数据分布,这是首选。
  • 我不确定我理解你的意思。 Redis 旨在成为内存中的数据存储(与磁盘相反)。您应该查看常见问题解答,我对实现以及它的模块化/可扩展性不是很熟悉。

标签: c++ c key-value dht distributed-database


【解决方案1】:

Berkeley DB 是一个带有 C(有点 C++)api 的键值存储。除了在键值存储之上编写自己的元组管理之外,我不确定您所说的“可插拔存储”是什么意思。

相关性:

不回答问题,而是额外的漫无边际,这似乎获得了负面评价:

但我不确定这是否有效。我开始使用 Berkeley DB,但意识到我的查询变得越来越复杂,而且我编写了太多开销代码。

我最终迁移到 SQLite。它是一个 C/C++,具有完整的 SQL 功能,但占用的进程内内存非常低。然后在此之上使用 ORM 工具来管理数据结构。

Wt 的 ORM 工具在这方面工作得很好。

这两者的结合可以让您快速掌握自己的代码,而不是乱搞访问层代码。

【讨论】:

猜你喜欢
  • 2011-03-08
  • 1970-01-01
  • 2011-06-29
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 2013-03-15
相关资源
最近更新 更多