【问题标题】:Does anybody have any experience with FastDB (C++ in-memory database)?有人对 FastDB(C++ 内存数据库)有任何经验吗?
【发布时间】:2011-04-18 09:28:34
【问题描述】:

FastDB 是一个与 C++ 紧密集成的开源内存数据库(它支持类似 SQL 的查询语言,其中表是类,行是对象)。与大多数 IMDB 一样,它适用于以读取访问模式为主的应用程序。算法和数据结构针对完全在主存储器 (RAM) 中读写数据的系统进行了优化。它应该非常快,即使与其他内存数据库相比也是如此,但我在网上找不到任何基准。

我正在考虑将 FastDB 用于时间序列数据,在一个项目中,1) 亚毫秒级随机访问读取延迟和 2) 每秒数百万行的连续读取吞吐量将非常好。

我找不到很多关于 FastDB 第一手经验的参考资料;这里有人用过吗?您能否指出 FastDB 的任何基准,尤其是那些考虑读取延迟和吞吐量的基准?

【问题讨论】:

  • 只有我一个人,还是这听起来更像是一个广告而不是一个问题?
  • @Jerry Coffin: 并不是说​​它听起来像广告。我想指出它的主要特性(内存中、无 SQL 和 C++ 集成)。我想这里有几个人看过不同的 IMDB,可能对这个有一些见解。
  • 广告与否,这仍然是一个有效的问题。或者至少如果那里有问题的话。
  • @Mark Ransom: 有一个“?”在那里,但我已经扩展了这个问题以使其更清晰。
  • @ConsideringFastDB 我是 fastdb 的新手。当我试图通过几个简单的例子来了解这个数据库的全貌时,我卡在编译时。基本上我不知道是什么g++ 的正确选项。我已将那些指定的文件分别复制到 /usr/lib /usr/bin 和 /usr/include ,但事情仍然没有解决......

标签: c++ sql database performance in-memory-database


【解决方案1】:

最近在 Erlang 论坛上的一篇帖子(从 2009 年开始):http://www.trapexit.org/forum/viewtopic.php?p=49476#49476 有人 (Serge Aleynikov) 推荐 FastDB 用于具有亚毫秒级延迟的交易系统:

如果您不想花太多时间编写 C++,因为您有
已经做好了抽象 mnesia 后端的工作,你为什么不呢
为这个数据库创建一个 Erlang 驱动程序:www.fastdb.org。它基于
在内存映射文件上,用 C++ 实现,比较快
到其他内存数据库(大约 250k 查找/秒,50k 插入/秒),有
时间序列功能,简单的 C-API。我实现了 FastDB 接口
支持多种语言,通常适用于处理
亚毫秒范围内的延迟。它可能对你来说就足够了,除非你
需要保持在低微秒范围内。

我的2c。

塞尔吉

看到人们担心低微秒的延迟是相当令人生畏的;我正在考虑将 FastDB 用于数字信号处理 (DSP),现场音频系统通常将延迟限制在不超过 10 毫秒。当然,如果系统以毫秒为单位做出响应,我们可能会使用长度仅为几微秒的输入脉冲。

没有提及用于 250K 查找/秒、50K 插入/秒的系统。不过,这是一个积极的信号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2010-09-26
    • 1970-01-01
    相关资源
    最近更新 更多