El manejador de datos BlinkDB, que se desarrolla en la Universidad de California, en Berkeley, intenta resolver el problema existente cuando se tienen enormes volúmenes de datos, que es correr una consulta contra toda la información, la cual puede llevar muchísimo tiempo. BlinkDB usa un mecanismo de muestreo, tomando un subconjunto de los datos de manera que un usuario pueda correr una consulta interactiva que dé potencialmente resultados menos precisos, pero que estos aparezcan en un tiempo razonable de respuesta. Los resultados se muestran con barras identificables del margen de error.

BlinkDB tiene dos ideas claves: en primera instancia, un entorno de trabajo que construye y mantiene un conjunto de muestras multidimensionales a partir de los datos originales a través del tiempo. El entorno es adaptivo y optimizado de manera que se asegura así que los datos son los mejores que están a la disposición de las consultas. La segunda idea clave es la estrategia de la selección dinámica de las muestras y del tamaño apropiado de la propia muestra, basada en los requerimientos de los usuarios en términos de precisión y/o tiempos de respuesta.

BlinkDB fue demostrada corriendo 200 veces más rápido que Hive en el VLDB 2010 en un cluster EC2 de 100 nodos de Amazon, respondiendo a un rango de consultas sobre 17 TB de datos en menos de dos segundos con un error del 2 al 10 por ciento. El equipo comparó el tiempo de respuesta con una consulta en Hive completa, sobre Hadoop y Hive on Spark (Shark), ambos sin usar caché y con un 95% de precisión en las respuestas. Los resultados variaron de 10 a 200 veces más rápido usando BlinkDB, pues dependía del caché ya que era entonces posible leer más o menos datos para calcular la respuesta adecuada.

La versión actual de BlinkDB soporta un subconjunto de consultas declarativas de SQL y da resultados aproximados para consultas agregadas en estándar SQL en donde se involucran tópicos como COUNT, AVG, SUM y PERCENTILE. Si se corre una consulta con estas operaciones, se puede especificar el margen de error o el tiempo máximo para la búsqueda. Basado en esto, el sistema selecciona las muestras para trabajar con ellas. Los desarrollos de BlinkDB pueden ser descargados de GitHub.

Se puede saber más de BlinkDB, Spark, Shark, Mesos y otros componentes del Berkeley Data Analytics Stack en el tercer AMP Camp Big Data Bootcamp, que se llevará a cabo a finales de agosto. El evetno será del 29 al 31 de agosto de este año en la Universidad de California, en Berkeley. Igualmente habrá streaming en vivo y videos totalmente gratuitos.

Referencias:

BlinkDB (GitHub)