ScyllaDB es un almacén de datos de columna ancha NoSQL distribuido de código abierto . Fue diseñado para ser compatible con Apache Cassandra y al mismo tiempo lograr rendimientos significativamente mayores y latencias más bajas. Admite los mismos protocolos que Cassandra ( CQL y Thrift ) y los mismos formatos de archivo (SSTable), pero es una implementación completamente reescrita, utilizando el lenguaje C++20 que reemplaza el Java de Cassandra y la biblioteca de programación asincrónica Seastar [1] que reemplaza la clásica. Técnicas de programación de Linux como hilos, memoria compartida y archivos mapeados. Además de implementar los protocolos de Cassandra, ScyllaDB también implementa la API de Amazon DynamoDB . [2]
ScyllaDB utiliza un diseño fragmentado en cada nodo, lo que significa que cada núcleo de CPU maneja un subconjunto diferente de datos. Los núcleos no comparten datos, sino que se comunican explícitamente cuando es necesario. Los autores de ScyllaDB afirman que este diseño permite a ScyllaDB lograr un rendimiento mucho mejor en máquinas NUMA SMP modernas y escalar muy bien con la cantidad de núcleos. Han medido hasta 2 millones de solicitudes por segundo en una sola máquina [3] y también afirman que un clúster ScyllaDB puede atender tantas solicitudes como un clúster Cassandra 10 veces su tamaño, y hacerlo con latencias más bajas. [4] Las pruebas independientes no siempre han podido confirmar tales mejoras de rendimiento de 10 veces y, a veces, midieron aceleraciones más pequeñas, como 2x. [5] Un punto de referencia de Samsung de 2017 observó una aceleración de 10 veces en máquinas de alta gama: el punto de referencia de Samsung informó que ScyllaDB superó a Cassandra en un grupo de máquinas de 24 núcleos por un margen de 10 a 37 veces, dependiendo de la carga de trabajo de YCSB . [6]
ScyllaDB está disponible localmente, en los principales proveedores de nube pública o como DBaaS (ScyllaDB Cloud).
ScyllaDB fue iniciado en diciembre de 2014 por la startup Cloudius Systems (más tarde rebautizada como ScyllaDB Inc.), anteriormente conocida por haber creado OSv . ScyllaDB se lanzó como código abierto en septiembre de 2015, [7] bajo la licencia AGPL . Los empleados de ScyllaDB Inc. siguen siendo los principales programadores detrás de Scylla, pero su desarrollo está abierto al público y utiliza repositorios públicos de GitHub y listas de correo públicas.