la recherche d'un stand-alone, le serveur de données en mémoire avec un accès séquentiel [fermé]

StackOverflow https://stackoverflow.com/questions/4387707

Question

Nous avons besoin d'une mémoire de la structure de données / DB serveur avec les caractéristiques suivantes:

  1. serveur autonome : se déroulera sur la même machine que les clients, de sorte que toute sorte d'IPC est ok
  2. accès séquentiel : get next/previous key
  3. deux clés (string) par enregistrement : type d'une carte bi-directionnelle, en fait
  4. en mémoire uniquement : devrait avoir l'option sans persistance du tout
  5. disque RAM / tmpfs solution n'est pas souhaitable
  6. SQL / ODBC est une option, mais pas nécessaire
  7. ok produit commercial, si le prix de la licence OEM est raisonnable

Jusqu'à présent, nous avons examiné les options suivantes, mais pas encore de solution satisfaisante:

  • mysql : répond à toutes les exigences, mais maintenant répondre encore à quel point une licence OEM coûtera
  • memcached, cassandra : pas d'accès séquentiel, selon docs en ligne
  • Redis : semble comme un outil agréable, mais encore une fois, je ne vois pas se get nex/prev dans la spécification
  • Postgres : ne pourrait le faire fonctionner correctement sur Linux / ODBC

Il semble que tous les blocs de données NoSQL en mémoire ne fournissent un accès direct par clé, style table de hachage. Ont pas encore vérifié Apache Derby.

Nous courons sur Linux, le client est en C ++.

Sera heureux d'avoir vos suggestions. Merci!

EDIT: Il semble que nous allons poursuivre la mysql , nous avons une offre de prix raisonnable, et il sera aussi utile que notre principale (persistante ) DB. Merci pour toutes les réponses, il est comme d'habitude difficile de choisir un seul.

Était-ce utile?

La solution

Je vous suggère Cabinet de Kyoto, il a une fonction en mémoire et accès séquentiel.

modifier: quel est le problème avec la carte du stl?

Autres conseils

Je jeter un oeil à SQLite, avec le jeu de nom de fichier de base de données « : la mémoire: ». Cela va créer une base de données dans la mémoire qui n'existera plus lorsque votre ferme d'application

Il est du domaine public afin qu'il n'y ait pas de problème avec licence

FastDB devrait fonctionner très bien. Il prend en charge la configuration en mémoire et l'accès partagé.

Redis ne trie pas les clés, mais il a des listes / ensembles qui vous permettent de récupérer des éléments dans l'ordre. Il est difficile de savoir avec certitude si cela pourrait fonctionner sans savoir pourquoi vous souhaitez accès séquentiel, mais avec NoSQL vous avez souvent besoin de penser un peu différemment sur les structures de données que vous utilisez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top