2010-09-28 1 views
7

FastDB est une base de données en mémoire open-source qui est étroitement intégrée avec C++ (elle prend en charge un langage de requête de type SQL où les tables sont des classes et les lignes sont des objets). Comme la plupart des IMDB, il est destiné aux applications dominées par des modèles d'accès en lecture. Les algorithmes et les structures de données sont optimisés pour les systèmes qui lisent et écrivent des données entièrement dans la mémoire principale (RAM). Il est supposé être très rapide, même comparé à d'autres bases de données en mémoire, mais je ne trouve aucun benchmark en ligne. J'envisage d'utiliser FastDB pour les données de séries chronologiques, dans un projet où 1) des latences de lecture à accès aléatoire inférieures à la milliseconde et 2) des millions de lignes par seconde de débit de lecture séquentiel seraient très bonnes à avoir.Quelqu'un at-il une expérience avec FastDB (base de données en mémoire C++)?

Je ne trouve pas beaucoup de références à l'expérience de première main avec FastDB; Quelqu'un l'a-t-il utilisé ici? Pouvez-vous pointer vers des benchmarks de FastDB, en particulier ceux qui considèrent la latence de lecture et le débit?

+3

Est-ce que c'est juste moi, ou cela ressemble plus à une publicité qu'à une question? –

+0

'@Jerry Coffin:' N'a pas voulu dire que cela ressemble à une publicité. Je voulais souligner ses principales caractéristiques (en mémoire, pas de SQL, et l'intégration C++). J'ai pensé que plusieurs personnes ici ont regardé les différents IMDB et pourraient avoir un aperçu de celui-ci. –

+0

Publicité ou non, c'est toujours une question valide. Ou du moins ce serait s'il y avait une question quelque part. –

Répondre

5

Un récent post sur un forum Erlang (à partir de 2009): http://www.trapexit.org/forum/viewtopic.php?p=49476#49476 a quelqu'un (Serge Aleynikov) recommandant FastDB pour les systèmes commerciaux avec des latences sous-milliseconde:

Si vous ne voulez pas passer trop de temps de codage C++, puisque vous avez déjà fait un bon travail d'abstraction de backend mnesia, pourquoi ne pas créer un pilote Erlang pour cette base de données: www.fastdb.org. Il est basé
sur les fichiers La mémoire mappée, implémentés en C++, est relativement rapide par rapport
à d'autres bases de données en mémoire (environ 250k LookUps/s, 50K inserts/s), a
capacités de séries chronologiques, C-API simple . J'ai implémenté l'interface FastDB
dans plusieurs langues, et généralement c'est bon pour les systèmes qui traitent
des latences dans la gamme des sous-millisecondes. Il peut suffire pour vous à moins que vous ayez besoin de rester dans le domaine des microsecondes basses.

Mon 2c.

Serge

Il est assez intimidant de voir des gens se soucier de latences dans les bas microsecondes; Je pense à FastDB pour le traitement du signal numérique (DSP), où les systèmes audio en direct limitent généralement la latence à environ 10 millisecondes. Bien sûr, si un système répond en millisecondes, nous pourrions utiliser des impulsions d'entrée de seulement quelques microsecondes de longueur.

Il n'y a aucune mention du système utilisé pour les recherches 250K/s, 50K inserts/s. Pourtant, c'est un signe positif.

Questions connexes