FastDB是一个开源的内存数据库,它与C ++紧密集成(它支持类似SQL的查询语言,其中表是类,行是对象)。与大多数IMDB一样,它适用于以读取访问模式为主的应用程序。算法和数据结构针对完全在主存储器(RAM)中读写数据的系统进行了优化。它应该非常快,甚至与其他内存数据库相比,但我无法在线找到任何基准测试。
我正在考虑将FastDB用于时间序列数据,在一个项目中,1)亚毫秒的随机访问读取延迟,以及2)每秒数百万行的顺序读取吞吐量将是非常好的。
我找不到很多关于FastDB第一手经验的参考资料;这里有人用它吗?你能指出FastDB的任何基准测试,特别是那些考虑读取延迟和吞吐量的基准测试吗?
答案 0 :(得分:5)
最近关于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。
Serge
看到人们担心低微秒的潜伏期是非常令人生畏的;我正在考虑将FastDB用于数字信号处理(DSP),其中现场音频系统通常将延迟限制在不超过10毫秒。当然,如果系统以毫秒为单位响应,我们可能会使用长度只有几微秒的输入脉冲。
没有提到用于250K查找/秒,50K插入/秒的系统。不过,这是一个积极的迹象。