Pregunta

Necesitamos una en memoria estructura de datos / DB servidor con las siguientes características:

  1. servidor independiente : se ejecutará en la misma máquina que los clientes, por lo que cualquier tipo de IPC está bien
  2. acceso secuencial : get next/previous key
  3. dos teclas (cuerda) por registro : una especie de mapa bidireccional, en realidad
  4. en memoria Sólo : debe tener la opción de no persistencia en absoluto
  5. disco RAM / tmpfs solución no es deseable
  6. SQL / ODBC es una opción, aunque no es necesario
  7. ok producto comercial, si el precio de la licencia OEM es razonable

Hasta ahora hemos considerado las siguientes opciones, pero ninguna solución satisfactoria sin embargo:

  • mysql : responde a todos los requisitos, pero ahora responder todo en cuanto a la cantidad de una licencia OEM costará
  • memcached, Cassandra : no hay acceso secuencial, de acuerdo con documentos en línea
  • Redis : parece como una buena herramienta, pero de nuevo, no veo llegar get nex/prev en la especificación
  • PostgreSQL : no podía hacer que funcione bien en Linux / ODBC

Parece que todos nosql en memoria DBS proporcionan acceso sólo de particular estilo de clave, tabla hash. No han comprobado Apache Derby todavía.

Corremos en Linux, el cliente está en C ++.

estarán encantados de tener sus sugerencias. Gracias!

EDIT: Parece que vamos a perseguir los mysql opción, tenemos una oferta de precio razonable, y también será útil como nuestra principal (persistente ) DB. Gracias por todas las respuestas, es como de costumbre difícil seleccionar sólo uno.

¿Fue útil?

Solución

Me gustaría sugerir Gabinete de Kyoto, que tiene una función de memoria y de acceso secuencial.

editar: lo que está mal con el mapa STL?

Otros consejos

me gustaría echar un vistazo a SQLite, con el nombre de archivo de base de datos de conjunto a ": la memoria:". Esto creará una base de datos en memoria que ya no existirá cuando su aplicación se cierra

Es de dominio público, por lo que no hay problema con la concesión de licencias

FastDB debería funcionar bien. Soporta la configuración en memoria y el acceso compartido.

Redis no lo hace una especie llaves, pero tiene listas / conjuntos que permiten recuperar elementos en orden. Es difícil saber con seguridad si eso funcionaría sin saber por qué desea un acceso secuencial, pero con NoSQL que a menudo tienen que pensar un poco diferente de las estructuras de datos que utiliza.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top