2010-09-28 14 views
7

FastDB è un database in memoria open-source strettamente integrato con C++ (supporta un linguaggio di query simile a SQL in cui le tabelle sono classi e le righe sono oggetti). Come la maggior parte degli IMDB, è pensato per applicazioni dominate da schemi di accesso in lettura. Gli algoritmi e le strutture dati sono ottimizzati per i sistemi che leggono e scrivono i dati interamente nella memoria principale (RAM). Dovrebbe essere molto veloce, anche rispetto ad altri database in memoria, ma non riesco a trovare alcun benchmark online.Qualcuno ha esperienza con FastDB (database in memoria C++)?

Sto considerando l'utilizzo di FastDB per i dati delle serie temporali, in un progetto in cui 1) latenze di lettura ad accesso casuale sub-millisecondo e 2) milioni di righe per secondo il throughput di lettura sequenziale sarebbe molto utile.

Non riesco a trovare molti riferimenti all'esperienza di prima mano con FastDB; qualcuno lo ha usato qui? Puoi indicare qualsiasi benchmark di FastDB, specialmente quelli che considerano la latenza di lettura e il throughput?

+3

È solo per me, o sembra più una pubblicità che una domanda? –

+0

'@Jerry Coffin:' Non volevo che suonasse come una pubblicità. Volevo sottolineare le sue caratteristiche principali (in-memory, no SQL e integrazione con C++). Ho capito che diverse persone qui hanno esaminato i diversi IMDB e potrebbero avere qualche idea su questo. –

+0

Pubblicità o no, è ancora una domanda valida. O almeno lo sarebbe se ci fosse una domanda da qualche parte. –

risposta

5

Un recente post su un forum Erlang (dal 2009): http://www.trapexit.org/forum/viewtopic.php?p=49476#49476 ha qualcuno (Serge Aleynikov) raccomandare FastDB per i sistemi di negoziazione con latenze inferiori al millisecondo:

Se non si vuole spendere troppo tempo di codifica C++, dal momento che hai
già fatto un buon lavoro di astrazione backend mnesia, perché non si
creare un driver Erlang per questo database: www.fastdb.org. E 'basato
sulla memoria file, implementati in C++ mappati, è relativamente veloce rispetto
ad altri database in memoria (circa 250k lookups/s, 50k inserti/s), ha
funzionalità di serie temporali, semplice C-API . Ho implementato l'interfaccia FastDB
in diverse lingue, e in generale va bene per i sistemi che si occupano delle latenze
nell'intervallo dei sub-millisecondi. Potrebbe essere sufficiente per te, a meno che non sia necessario che rimanga nel reame di pochi microsecondi.

Il mio 2c.

Serge

E 'piuttosto intimidatorio per vedere la gente preoccuparsi latenze nei bassi microsecondi; Sto considerando FastDB per l'elaborazione del segnale digitale (DSP), in cui i sistemi audio live in genere limitano la latenza a non più di circa 10 millisecondi. Naturalmente, se un sistema risponde in millisecondi, potremmo usare gli impulsi in ingresso di pochi microsecondi di lunghezza.

Non si fa menzione del sistema utilizzato per le ricerche 250 K/s, 50 K inserti/s. Eppure, è un segno positivo.

Problemi correlati