FastDB是与C++紧密集成的开源内存数据库(它支持类似SQL的查询语言,其中表是类,行是对象)。像大多数IMDB一样,它适用于以读取访问模式为主的应用程序。算法和数据结构针对完全在主存储器(RAM)中读写数据的系统进行了优化。即使与其他内存数据库相比,它也应该非常快,但是我无法在线找到任何基准。
我正在考虑在一个项目中使用FastDB来处理时间序列数据,其中1)亚毫秒级的随机访问读取延迟,以及2)每秒数百万行的连续读取吞吐量将是非常好的。
我找不到很多关于FastDB的第一手经验的引用资料。这里有人用吗?您能否指出FastDB的任何基准,尤其是那些考虑读取延迟和吞吐量的基准?
最佳答案
最近在Erlang论坛上发表的一篇文章(从2009年开始):http://www.trapexit.org/forum/viewtopic.php?p=49476#49476(Serge Aleynikov)有人推荐FastDB用于亚毫秒级延迟的交易系统:
看到人们担心低微秒的等待时间是非常吓人的。我正在考虑用于数字信号处理(DSP)的FastDB,其中现场音频系统通常将延迟限制为不超过10毫秒。当然,如果系统以毫秒为单位响应,我们可能会使用长度仅为几微秒的输入脉冲。
没有提及用于250K查找/秒,50K插入/秒的系统。不过,这是一个积极的信号。