有没有人有FastDB(C ++内存数据库)的任何经验? [英] Does anybody have any experience with FastDB (C++ in-memory database)?

查看:625
本文介绍了有没有人有FastDB(C ++内存数据库)的任何经验?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

FastDB is an open-source, in-memory database that's tightly integrated with C++ (it supports a SQL-like query language where tables are classes and rows are objects). Like most IMDBs, it's meant for applications dominated by read access patterns. The algorithms and data structures are optimized for systems that read and write data entirely in main memory (RAM). It's supposed to be very fast, even compared to other in-memory databases, but I can't find any benchmarks online.

我正在考虑使用FastDB的时间 - 系列数据,在一个项目中,其中1)亚毫秒的随机存取读取延迟,以及2)每秒数百万行的顺序读取吞吐量将是非常好的。

I'm considering using FastDB for time-series data, in a project where 1) sub-millisecond random-access read latencies, and 2) millions of rows per second sequential read throughput would be very good to have.

我找不到很多参考FastDB的第一手经验;有没有人在这里使用它?你可以指向FastDB的任何基准,特别是那些考虑读延迟和吞吐量的基准。

I can't find many references to first-hand experience with FastDB; has anyone here used it? Can you point to any benchmarks of FastDB, especially those that consider read latency and throughput?

推荐答案

Erlang论坛(2009年起): http://www.trapexit.org/forum/ viewtopic.php?p = 49476#49476 有人(Serge Aleynikov)推荐FastDB用于具有亚毫秒级延迟的交易系统:

A recent post on an Erlang forum (from 2009): http://www.trapexit.org/forum/viewtopic.php?p=49476#49476 has someone (Serge Aleynikov) recommending FastDB for trading systems with sub-millisecond latencies:

想花费太多的时间编码C ++,因为你有

已经做好了抽象mnesia后端的工作,为什么不

为这个数据库创建一个Erlang驱动程序: www.fastdb.org。它基于在C ++中实现的内存映射文件的

比较快,相比之下,

到其他内存数据库(大约250k查找/秒,50k插入)具有

时间序列功能,简单的C-API。我用几种语言实现了FastDB接口

,通常它对处理亚毫秒级范围内的

延迟的系统很有用。它可能就足够了,除非你

需要保持在低微秒领域。



我的2c。



Serge
If you don't want to spend too much time coding C++, since you have
already done good work of abstracting mnesia backend, why don't you
create an Erlang driver for this database: www.fastdb.org. It's based
on memory mapped files, implemented in C++, is relatively fast compared
to other in-memory databases (about 250k lookups/s, 50k inserts/s), has
time-series capabilities, simple C-API. I implemented FastDB interface
in several languages, and generally it's good for systems that deal with
latencies in sub-milliseconds range. It may suffice for you unless you
need to stay in the low microseconds realm.

My 2c.

Serge

看起来人们担心低电平的延迟是非常吓人的;我正在考虑FastDB的数字信号处理(DSP),其中现场音频系统通常将延迟限制到不超过约10毫秒。当然,如果系统以毫秒为单位响应,我们可能使用长度只有几微秒的输入脉冲。

It's pretty intimidating to see people worrying about latencies in the low microseconds; I'm considering FastDB for digital signal processing (DSP), where live audio systems generally limit latency to no more than about 10 milliseconds. Of course, if a system responds in milliseconds, we might use input pulses of only a few microseconds in length.

没有提到什么系统用于250K查找/ s,50K插入/ s。但是,这是一个积极的迹象。

There's no mention of what system was used for the 250K lookups/s, 50K inserts/s. Still, it's a positive sign.

这篇关于有没有人有FastDB(C ++内存数据库)的任何经验?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆