En la era de los Grandes Datos, las empresas de servicios de Internet necesitan construir sistemas de alto rendimiento para atender a sus usuarios. Uno de los componentes importantes de dichos sistemas son las caches distribuidas, típicamente implementadas con bases de datos clave-valor como Redis y Memcached.
Un paso importante en la implementación de estos sistemas es el dimensionamiento de sus componentes, realizado a través de estudios previos usando herramientas de evaluación de rendimiento (benchmarks). En la actualidad, el Yahoo Cloud Serving Benchmark (YCSB) es la herramienta más utilizada para la evaluación de las bases de datos clave-valor. Lastimosamente, YCSB solamente puede generar cargas de trabajo sintéticas, basadas en distribuciones probabilísticas configurables que pueden reproducir la popularidad de accesos reales observados, más no su localidad temporal. En este trabajo, se propone YCSB-replay, una mejora a YCSB a través de la cual se adiciona a este framework la habilidad para generar cargas de trabajo realistas, basadas en la repetición de trazas de sistemas reales en producción.
Para demostrar la utilidad de las mejoras propuestas, se ha evaluado YCSB-replay a través de un estudio del rendimiento de la base de datos clave-valor Redis, en su función como cache de datos, utilizando una carga de trabajo real de videos de YouTube descargados desde la Universidad de Massachusetts. Esta evaluación demuestra que las cargas sintéticas generadas por YCSB no permiten aproximar los resultados obtenidos con cargas reales (YouTube), por lo que su uso es inadecuado para el dimensionamiento de bases de datos clave-valor. En cambio, YCSB-replay permite obtener una evaluación realista de la base de datos, manteniendo el alto rendimiento en la generación de cargas de YCSB.