RavenDB supera a Couchbase y ahorra un 85% del presupuesto de almacenamiento

Patrocinado por RavenDB

Rakuten Kobo evalúa RavenDB y Couchbase para su aplicación empresarial

Rakuten Kobo Inc. es una de las librerías digitales más grandes del mundo. Rakuten Kobo, propiedad de Rakuten, con sede en Tokio y con sede en Toronto, permite a millones de lectores en todo el mundo leer en cualquier momento, en cualquier lugar y en cualquier dispositivo.

Los usuarios compran libros, los almacenan en cuentas e incluso resaltan partes de las páginas para recordar puntos importantes. En cualquier momento, decenas de millones de computadoras de escritorio, tabletas y dispositivos relacionados consultan la base de datos para acceder a su colección privada.

Millones de libros escalan rápidamente a miles de millones de instancias de libros electrónicos con propietarios únicos e incluso destacados para cada página y línea. A medida que la empresa expande sus libros, usuarios y funciones, necesita una base de datos que pueda manejar el tráfico que se expande a un ritmo exponencial.

Trevor Hunter, el CTO de Kobo, probó dos bases de datos para ver cuál estaba a la altura del desafío.

Alta disponibilidad y latencia reducida mediante la replicación de datos

“Al seleccionar una base de datos, se observa el rendimiento y lo que se necesita para lograrlo”.

En la campana de apertura, RavenDB salió balanceándose.

Tomó Couchbase cuatro días para ingerir los datos. Requería 32 núcleos y 128 GB de RAM para cada de tres nodos que constituían fragmentos de datos que contenían todo. Cada nodo de Couchbase requirió 6 TB de almacenamiento disponible.

RavenDB estaba listo para funcionar en 24 horas, requiriendo un solo nodo con ocho núcleos en 32 GB de RAM con el configuración predeterminada. Se expandió a un clúster de base de datos de tres nodos cada nodo contiene los 1.350 millones de documentos junto con todos los índices, lo que ofrece alta disponibilidad y latencia reducida a través de la replicación de datos.

El entorno de prueba

Rakuten sabe que lidiarán con cantidades masivas de dispositivos que consultarán su base de datos porque fabrican y venden lectores electrónicos a sus usuarios.

Junto con los escenarios estándar, las pruebas incluyeron cómo reaccionaría una base de datos ante la tormenta perfecta que bombardeara su sistema.

¿Qué sucede cuando un best-seller envía tráfico por las nubes?

¿Qué sucede cuando la conectividad se debilita y las solicitudes de datos se acumulan?

¿Qué sucede cuando los usuarios obtienen nuevos dispositivos y se sincronizan con el sistema para tomar todos sus libros electrónicos, aspectos destacados y detalles de la cuenta?

Rakuten Kobo está en proceso de construir la próxima generación de su infraestructura. El rendimiento de una base de datos bajo un estrés extremo les da una idea de cómo funcionará esa base de datos bajo demandas extremas de carga y rendimiento.

Para asegurarnos de obtener la comparación más precisa, ambas bases de datos se aprovisionaron en la nube utilizando instancias de Amazon EC2, ejecutándose en la misma zona de disponibilidad dentro de una sola región.

Índices

RavenDB te permite definir índices explícitamente o dejar que RavenDB cree índices automáticos y mantenga dichos índices automáticamente. Para esta prueba, el campo de usuario de la colección Highlights se indexó explícitamente como práctica recomendada para grandes bases de datos de producción.

Para Couchbase, se definieron y guardaron dos índices en el sistema.

Prueba 1: Mantener el rendimiento bajo una carga impredecible

Para medir la durabilidad de cada sistema, se lanzó un pico de carga de tres minutos en cada sistema para ver cómo mantenían las operaciones en segundo plano, el mantenimiento / limpieza y la recolección de basura mientras continuaban ejecutando solicitudes de datos.

Bajo carga extrema, ¿cuántas solicitudes puede procesar cada base de datos por segundo completando la mayoría de las solicitudes en menos de 200 ms?

Couchbase falló en la puerta. Una vez que se produjo el pico de carga, Couchbase no pudo procesar las solicitudes en 250 ms. RavenDB pudo procesar 15,000 solicitudes por segundo, terminando un enorme 99,9% de las solicitudes dentro de los 200 ms asignados. Incluso bajo presión, de esas 15.000 solicitudes por segundo, el 85% Echo en menos de 50ms.

Prueba 2: alta disponibilidad y escalabilidad horizontal

“No actualizamos la versión de Couchbase durante años porque teníamos miedo de derribar un nodo. Además, si necesitábamos aumentar la capacidad del clúster, teníamos que agregar un nodo. Y eso también provocaría un reequilibrio y una interrupción “. – Trevor Hunter, director de tecnología de Rakuten Kobo

Rakuten Kobo quería saber qué pasaría si un nodo se cayera. ¿Cómo maneja cada base de datos el reinicio?

Un reinicio de Cold-Start llevó a Couchbase 13 minutos porque escaneó 450 documentos en el inicio. Para los índices, tomó aún más tiempo. Un solo índice estaba todavía en la etapa de calentamiento después de 30 minutos desde que el nodo se reinició en un escenario.

RavenDB mantuvo una copia de todos los datos en tres nodos. Cuando uno cayó, los otros dos mantuvieron un servicio completo para los usuarios mientras se replicaban en el nuevo nodo. El impacto en el desempeño fue marginal.

Prueba 3: ROI en nueva arquitectura

¿Cuánto aprovisionamiento podemos recortar y seguir manteniendo el rendimiento? Al ganar con menos, ¿cuánto puede aumentar cada base de datos el ROI de Rakuten Kobo?

Puntuación final de RavenDB y Couchbase

  • Bajo carga, RavenDB supera a Couchbase, requiriendo un tercio del espacio de almacenamiento, ahorrándole a Rakuten un 85% de su presupuesto de almacenamiento en la nube.
  • RavenDB supera a Couchbase en órdenes de magnitud cuando se utilizan consultas bajo carga.
  • RavenDB fue resistente a fallas, lo que permitió a Rakuten escalar y actualizar sus sistemas a voluntad.

Ver por ti mismo. Obtén tu gratis Papel blanco ¡Copiar!


Vistas de publicaciones:
9


Leave a Reply

Your email address will not be published. Required fields are marked *