en busca de un servidor independiente en memoria de datos con acceso secuencial [cerrada]
-
10-10-2019 - |
Pregunta
Necesitamos una en memoria estructura de datos / DB servidor con las siguientes características:
- servidor independiente : se ejecutará en la misma máquina que los clientes, por lo que cualquier tipo de IPC está bien
- acceso secuencial :
get next/previous key
- dos teclas (cuerda) por registro : una especie de mapa bidireccional, en realidad
- en memoria Sólo : debe tener la opción de no persistencia en absoluto
- disco RAM / tmpfs solución no es deseable
- SQL / ODBC es una opción, aunque no es necesario
- 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.
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.