我们需要内存数据结构 / DB 服务器 具有以下特征:

  1. 独立服务器: :将在与客户端同一机器上运行,因此任何类型的IPC都可以
  2. 顺序访问: get next/previous key
  3. 每个记录两个键(字符串): :有点双向地图
  4. 在记忆中 只要: :应该有任何持久性的选择
  5. RAM磁盘/TMPFS解决方案是不可取的
  6. SQL/ODBC是一种选项,尽管不需要
  7. 商业产品好,如果OEM许可价格合理

到目前为止,我们已经考虑了以下选项,但尚无令人满意的解决方案:

  • mysql: :答案所有要求,但现在回答OEM许可将花费多少
  • 卡桑德拉(Cassandra)备忘录: :没有顺序访问,根据在线文档
  • Redis: :似乎是一个不错的工具,但是我再也看不到 get nex/prev 在规格中
  • Postgres: :无法使其在Linux/ODBC上运行良好

似乎所有NOSQL内存中的DBS仅提供按键,哈希桌子样式的直接访问。尚未检查Apache Derby。

我们在Linux上运行,客户端在C ++中。

很高兴有您的建议。谢谢!

编辑: 似乎我们将追求 mysql 选项,我们有合理的价格优惠,它也将作为我们的主要(持续)DB。感谢您的所有答案,就像往常一样,很难选择一个。

有帮助吗?

解决方案

我建议京都柜,它具有内存功能和顺序访问。

编辑:STL地图有什么问题?

其他提示

我会查看sqlite,其中数据库文件名设置为“:内存:”这将创建一个在内存数据库中,当您的应用程序关闭时将不再存在。

这是公共领域,因此许可没有问题

fastdb 应该工作正常。它支持内存配置和共享访问。

REDIS没有排序键,但是它确实具有列表/集合,可让您按顺序检索项目。很难确定这是否会在不知道为什么要顺序访问的情况下工作,但是使用NOSQL,您通常需要对使用的数据结构有所不同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top