ScyllaDB · Lección 02
¿Qué significa que Scylla use una arquitectura shard-per-core?
Cada núcleo de CPU ejecuta un shard con su propia porción de memoria, cola de E/S y datos, sin compartir estado con otros núcleos (shared-nothing), sobre el framework asíncrono Seastar; así se evitan bloqueos y cambios de contexto, y la comunicación entre shards se hace por paso de mensajes
Todos los núcleos comparten una única cola de peticiones protegida por un bloqueo global, de modo que solo un núcleo puede procesar una petición a la vez
Seastar es una capa de la JVM que añade más hilos del sistema operativo y reparte las peticiones entre ellos con bloqueos compartidos
Cada núcleo ejecuta una copia independiente del cluster completo con todos los datos, por lo que el número de núcleos no aumenta la capacidad útil
ScyllaDB · Lección 02
Completa el código
El framework asíncrono sobre el que se construye es
Revisa: Seastar.
ScyllaDB · Lección 02
¿Por qué un diseño shared-nothing escala mejor con el número de núcleos?
Pista: cada núcleo trabaja con sus propios datos sin esperar bloqueos de otros núcleos, evitando contenciones y cambios de contexto costosos, así que añadir núcleos aumenta el rendimiento casi de forma lineal.
✓
¡Lección completada!
Arquitectura shard-per-core con Seastar
0
XP ganado
3
Vidas restantes