Pregunta

¿Cuál es la base de datos más rápida y estable no es de SQL para almacenar grandes volúmenes de datos y procesar las solicitudes de miles de personas durante el día (que es para el servicio de intercambio de tráfico)? He encontrado Kdb + y Berkeley DB. ¿Están ellos bien? ¿Hay otras opciones?

Más detalles ...

Cada día los procesos del servidor> 100K visitas. Por cada visita que necesito para leer las estadísticas correspondientes de DB, escritura de registro de estadísticas de actualización de base de datos y en el PP, aka 3 operaciones con DB por visita. El tráfico está aumentando continuamente. Por lo tanto el motor DB debe ser rápido. De un lado DB será administrado por demonio escrito en C, Erlang o cualquier otro lenguaje de bajo nivel. De otro lado DB estará a cargo de los scripts PHP.

¿Fue útil?

Solución

Berkely DB está probado y endurecido y está en el corazón de muchos sistemas de volumen de transacción mega-altos. Un ejemplo es la infraestructura de proveedor de servicios inalámbricos que utilizan grandes almacenes LDAP (OpenWave, por ejemplo) para procesar más de 2 mil millones de transacciones por día. Estos sistemas también suelen tener algo así como Oracle en la mezcla demasiado para el punto en el tiempo de recuperación, sino que utilizan datos Berkeley como cachés replicados.

Además, BDB no se limita a los pares de valores clave en el sentido simple de valores escalares. Puede almacenar cualquier cosa que desee en el valor, incluyendo arbitrarias estructuras / registros.

Otros consejos

El sistema de archivos es más rápido y más estable que cualquier otra cosa. Almacena datos grandes sin problemas y eficientemente. El API es muy simple.

Puede almacenar y recuperar desde el sistema de archivos muy, muy eficiente.

Debido a que su pregunta es un poco más delgada en los "requisitos" que es difícil decir mucho más.

¿Qué hay de Redis?

http://code.google.com/p/redis/

No han probarlo sin embargo, ha leído al respecto y que parece ser una lo suficientemente rápido y estable para el almacenamiento de datos. También le proporciona una solución anti-solo punto de fallo decente, por lo que yo entiendo.

¿Qué hay de malo en SqlLite ? Puesto que usted ha afirmado explícitamente que no es SQL, Berkeley DB se basa en pares clave / valor que podría no ser suficiente para sus necesidades si desea ampliar las bases de datos, más aún, ¿cómo hacer que el conjunto de datos se relacionan entre sí utilizando la clave / pares de valores ....

Por otro lado, Kdb +, mirando a la FAQ en su página web es una relacional base de datos de SQL que puede manejar a través de su lenguaje de programación Q ... estar al tanto, si la necesidad de migrar aparece, podría haber contratiempos potenciales, tales como dialectos incompatibles o una consulta que utiliza características específicas del vendedor, por lo tanto, el potencial para Quedan atrapados en esa base de datos y no ser capaz de migrar a todos ... algo a tener en cuenta para más adelante ...

Es necesario tener cuidado con lo que decida aquí y lo mira desde una perspectiva a largo plazo, las mejoras futuras, la migración a otra base de datos, lo fácil sería para uno de escala, etc.

Una entrada obvia en esta categoría es InterSystems Caché. (Bueno, claro que me ...) Tenga en cuenta, sin embargo, no es barato. (Pero no creo Kdb + es tampoco.)

MongoDB es la base de datos más rápida y mejor nosql. Echar un vistazo a esta actuación referencia .

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