valor usar relacionales motores español ejemplos datos databases clave bases redis key-value-store aerospike

redis - usar - ¿En qué se diferencia aeropike de otras bases de datos nosql de valor clave?



nosql databases (5)

Aerospike es una base de datos NoSQL operacional de valor clave, en memoria, con propiedades ACID que admiten objetos complejos y son fáciles de escalar. Pero ya he usado algo que hace absolutamente lo mismo.

Redis es también una base de datos NoSQL en clave de valor clave, en memoria (pero persistente en el disco). También admite diferentes objetos complejos. Pero en comparación con Aerospike, Redis estuvo en uso durante mucho tiempo, ya tiene una comunidad activa y muchos proyectos desarrollados en ella.

Entonces, ¿cuál es la diferencia entre aerospike y otras bases de datos clave-valor no-sql como redis. ¿Hay un lugar en particular que sea más adecuado para aerospike?

PD. Estoy buscando una respuesta de personas que usaron al menos uno de estos dbs (preferiblemente ambos) en el mundo real y tienen experiencia en la vida real (no copian las pastas del sitio web oficial).


Cuando contabiliza la conmutación por error y la forma en que Aerospike se autoalinea al desconectar el enchufe de cualquier rack en el centro de datos, el rendimiento restante en un millón de operaciones de lectura por segundo por nodo sin coordinador de tráfico, para que siempre esté al máximo el conmutador u otro hardware (a menos que sea un mapa que reduce los agregados) Quiero decir que nada más se acerca al autoanálisis dinámico en tiempo real con datos seguros. Todas las otras plataformas requieren hibridar para obtener todos sus atributos en el triángulo CAP. Sin búferes ni colas, sin caché para datos, el efecto fantasma ya no es una categoría. Tantos beneficios además de ser el mejor desempeño. Solo tenemos que admitirlo. ¡Aerospike es deliciosamente ridículo!


He usado Redis durante años, y acabo de empezar a usar Aerospike como sustituto por muchas razones.

Aunque Redis y Aerospike tienen un gran rendimiento, el problema principal de Redis es que solo almacena datos en la memoria y no tiene una solución de clúster lanzada oficialmente. Limita el tamaño de su base de datos al tamaño de RAM de su servidor, mientras que Aerospike se puede configurar para usar SSD para almacenar información sin pérdida de velocidad. La latencia de Aerospike es increíblemente baja, incluso con un alto rendimiento de lectura / escritura.

Aerospike se adapta mejor a mí porque es capaz de escalar con rendimiento y sin ningún trabajo arduo, y diferente a Redis, también está diseñado para persistir completamente en tus datos, minimizando la pérdida de datos en cualquier caso. Han lanzado un excelente video que muestra lo fácil que es escalar y administrar un Cluster de Aerospike, y también cómo se configura automáticamente incluso cuando hay una situación de "desastre".


Lynn Langit acaba de lanzar un benchmark muy detallado de Aerospike vs. Redis corriendo en diferentes configuraciones en la nube de AWS. Su resumen: " TL; DR - a escala Aerospike gana ".

Cómo llegó a esa conclusión es muy interesante. Ella le da instrucciones paso a paso sobre cómo produjo los resultados para los demás que buscan obtener información sobre cómo hacer sus propios puntos de referencia de rendimiento. Las pruebas tuvieron que configurarse como un almacén de datos RAM puro, así como para la base de datos persistente SSD.

Sus observaciones clave:

  • Aerospike es tan rápido como Redis con cerca de 1 MTPS para cargas de trabajo 100% leídas en un solo nodo en AWS R3.8xlarge sin persistencia.
  • Aerospike es ligeramente más rápido que Redis para cargas de trabajo de lectura / escritura de 100/0 y 80/20 frente a un único nodo respaldado por almacenamiento EBS SSD (gp2) para la persistencia.

Si tiene que ser respondida en una palabra, es su "desempeño". El rendimiento de Aerospike es mucho mejor que cualquier solución de clustered-nosql. Mayor rendimiento por nodo significa clúster más pequeño que es menor TCO (Costo total de propiedad) y mantenimiento. Aerospike realiza clustering automático, auto-sharding, reequilibrio automático (cuando el estado del clúster cambia), la mayoría de los cuales necesita pasos manuales en otras bases de datos.

Dije "agrupado" porque no quiero mezclar redis en ese grupo (aunque la agrupación de redis está en beta). El rendimiento en memoria puro de Aerospike y redis será comparable. Pero Redis espera que se manejen muchas cosas en la capa de aplicación como fragmentación, solicitud de redirección, etc. Aunque redis tiene una forma de persistir (instantánea o AOF), tiene sus propios problemas ya que está diseñado más como un complemento. Aerospike se desarrolla de forma nativa con persistencia en mente. El agrupamiento de redis también involucra la configuración del maestro esclavo, etc. Puede que quiera echar un vistazo a esta talk comparando y contrastando redis vs aerospike.


Sorprendentemente, Redis, una de las bases de datos en memoria más populares, no tenía auto sharding hace 3 meses. Recientemente agregaron esta característica. Redi 3.0 tiene auto sharding.

AS Admite la agrupación automática mediante la función de reinicio rápido, donde todos los índices se conservan sin aumentar el rendimiento y la base de datos se puede abrir en un par de minutos (por ejemplo, el tamaño db de 50 TB puede aparecer en un par de minutos .). Todo esto se puede lograr en hardware básico. Agregar capacidad no es más que agregar un nuevo nodo al clúster. Funciona en todos los centros de datos y entornos de nube. Lo más importante es que funciona para cualquier entorno local.

Admite la creación de coincidencias en línea (gestión de la demanda y la oferta).

La base de datos no SQL tiene que lidiar con casos de uso en tiempo real para cumplir con SLAs agresivos ''necesarios por el mundo publicitario de hoy, portales de compras en línea, proveedores de servicios logísticos como OLA cab (Identificación del taxi más cercano que está listo para recoger y puede alcanzar el cliente menos de 5 minutos se computa en menos de <3 ms), aplicaciones de pujas en línea (99,7% de precisión para finalizar un AdBid en <3 ms), sistemas de Detección de fraude y otros que necesitan identificar a un usuario malicioso en <5ms (milisegundos) .

  • Aerospike es compatible con ACID de nivel récord, que es cierto para la mayoría de las bases de datos sin SQL.
  • Aerospike está diseñado para entornos agrupados,
  • Construido para escalamiento horizontal,
  • Admite balance de datos (Automic / Manual),
  • Auto sharding: nivel de aplicación o transparente para el usuario final.

Aerospike es de código abierto en tiempo real, sin SQL y almacén de valores clave. Construido en C desde el principio porque hay formas en que el archivo db se escribe para aprovechar el hardware, la red, el SSD, la memoria y Kernel. Optimizado para almacenamiento SSD / Flash, la razón es que SSD es el futuro de los dispositivos de almacenamiento al mismo tiempo que funciona en HDD (unidades de disco rotativas) SSD proporciona canales paralelos dependiendo del proveedor de SSD que puede elegir usar 8,16 32 y así en. SSD tiene un desgaste si se escribe y se borra la misma ubicación de bloque. En el caso de SSD, usted escribe en términos de bloques, SSD se usa como un sistema sin archivos como un almacén de bloques y se usa como un buffer de anillo, lo que significa que escribe en el buffer de anillo y continúa agregando datos al siguiente, siguiente, siguiente hasta que final de la unidad. Una vez que llegas al final, vuelves a la primera ubicación del bloque y luego continúas de la misma manera, lo que garantiza que la primera ubicación se utilizará no la mayor cantidad de veces, sino la misma cantidad de tiempo.

Agrupamiento o vamos a llamarlo Agrupamiento automático. Agregar un nodo y llevarlo dentro del clúster ocurre en <100 ms. Se implementa utilizando el Algoritmo de Paxos.

¿Cuál es el algoritmo de Paxos?

http://www.quora.com/Distributed-Systems/What-is-a-simple-explanation-of-the-Paxos-algorithm

RIPE160MD # que proporciona 20 bytes de 160 bits #, se garantiza que es único y

El # es distribución 4K normal,

Cada espacio de nombres mantiene sus árboles de partición, cada espacio de nombres tiene una ID de partición, cada partición tiene un árbol b.

Modelo de almacenamiento

En la base de datos de memoria: todo se almacena en DRAM con eficacia de alto rendimiento y alto costo involucrado.

Almacenamiento en disco: índices primarios y secundarios almacenados en DRAM, los datos van en SSD o HDD. Lo que significa un uso óptimo de SSD, pero un poco más lento que DRAM, pero al menos ~ 10 veces más barato que DRAM.

Almacenamiento híbrido: Todo almacenado en DRAM. Los datos persistieron en SSD o HDD. Rendimiento DRAM respaldado por persistencia SSD o HDD. Mayor costo de DRAM sin perder rendimiento.

Punto de referencia

1,6 millones de TPS con YCSB (punto de referencia de la fuente yahoo cloud) en 4 nodos, en la memoria.

Garantía de rendimiento de SSD otorgada por Aerospike:

ACT (prueba de cumplimiento de Aerospike): se define y desarrolla para probar el rendimiento SSD. Hoy es la norma o certificación para SSD. Intel hizo una publicación en el blog afirmando que son los únicos proveedores de SSD en el mundo que admiten 1 millón de TPS mediante ACT.

La nube de Google ha hecho algo de trabajo para mostrar el rendimiento del motor de cálculo de Google. Google publicó en su blog lo que Cassandra lleva a 300 nodos para producir, lo que AS hace con 50 nodos.

Aerospike se ocupa de problemas en tiempo real de una manera muy efectiva.