2010-09-28 50 views
7

FastDB是一個與C++緊密集成的開源內存數據庫(它支持類似SQL的查詢語言,其中表是類,行是對象)。像大多數IMDB一樣,它的意思是由讀訪問模式支配的應用程序。算法和數據結構針對完全在主存儲器(RAM)中讀寫數據的系統進行了優化。它應該是非常快的,即使與其他內存數據庫相比,但我在網上找不到任何基準。有沒有人有使用FastDB(C++內存數據庫)的經驗?

我正在考慮使用FastDB作爲時間序列數據,在一個項目中,1)亞毫秒隨機訪問讀取延遲,以及2)每秒數百萬行順序讀取吞吐量將非常好。

我找不到很多關於FastDB第一手經驗的參考資料;有沒有人在這裏使用它?你能指出FastDB的任何基準,尤其是那些考慮讀取延遲和吞吐量的基準嗎?

+3

這僅僅是我,還是這聽起來更像廣告而不是問題? – 2010-09-28 15:56:04

+0

'@Jerry Coffin:'不代表它聽起來像廣告。我想指出它的主要特性(內存中,沒有SQL和C++集成)。我想到這裏有幾個人研究了不同的IMDB,並可能對此有所瞭解。 – 2010-09-28 16:03:27

+0

是否廣告,這仍然是一個有效的問題。或者至少會在某個地方出現問題。 – 2010-09-28 16:03:59

回答

5

最近的文章對一個Erlang論壇(2009年):http://www.trapexit.org/forum/viewtopic.php?p=49476#49476有某人(塞爾阿列尼科夫)推薦用於FASTDB交易系統與亞毫秒延遲:

如果你不想花太多時間編碼C++,因爲你有
已經完成了對mnesia後端進行抽象的很好的工作,爲什麼你不用
爲這個數據庫創建一個Erlang驅動:www.fastdb.org。它是基於
上存儲器映射文件,在C++實現的,相對快速的比較
到其他內存數據庫(約250K查找/秒,50K插入/ s)的,具有
時間序列的能力,簡單的C-API 。我用幾種語言實現了FastDB接口
,並且通常對於處理亞毫秒範圍內的
延遲的系統來說,這是非常好的。除非您需要保持在微秒級的低限,否則
可能就足夠了。

我的2c。

塞爾

這是非常嚇人看到有人擔心在低微秒延遲;我正在考慮將FastDB用於數字信號處理(DSP),現場音頻系統通常將延遲時間限制在不超過10毫秒。當然,如果一個系統以毫秒爲單位響應,我們可能會使用長度只有幾微秒的輸入脈衝。

沒有提及用於250K查找/秒,50K插入/秒的系統。不過,這是一個積極的跡象。

相關問題