¡Excelente! A estas alturas ya entiendes los fundamentos conceptuales de los grandes análisis de datos.
Lo más importante es que entienda que para poder manejar «grandes datos» (como se define en el principio del artículo), necesitamos herramientas especiales, en particular tecnologías distribuidas. Usando estas herramientas, seremos capaces de implementar una robusta columna vertebral de datos, computación y capa de almacenamiento.
Y eso es todo, ¿verdad? Bueno, no siempre…
La construcción de un sistema distribuido con tantas partes móviles requiere que integremos las tecnologías. Esta integración de tecnologías, es lo que nos da la capacidad de elegir la mejor tecnología para la tarea en cuestión. Nos permite elevar los límites de las preguntas analíticas que podemos hacer de manera «en línea».
Desafortunadamente, también significa que la complejidad de nuestro sistema aumenta. Varias tecnologías conectadas entre sí, significa que sus desarrolladores y analistas de datos necesitan saber más para desarrollar nuevas cuestiones analíticas e integrarlas en todo el sistema.
Vale, pero esa es una limitación con la que tenemos que vivir, ¿verdad? Bueno, sí. Pero…
¿Y si pudiéramos hacerlo mejor? En particular, ¿hacerlo mucho mejor a un costo muy bajo?
Asumiendo que hemos construido un gran sistema de análisis de datos, con el conocimiento que tenemos hasta este punto, ahora tenemos una sólida y gran plataforma de análisis de datos que responde a un conjunto de preguntas predefinidas .
Este sistema tiene sus limitaciones, como ya se ha dicho.
Para empezar, su capacidad de responder a las preguntas analíticas dentro de un marco temporal específico (un marco temporal dictado por nuestro requisito de responder a las preguntas de manera «en línea») no es ilimitada, como hemos visto en nuestro debate sobre las limitaciones que plantea el mecanismo de suministro de contexto, por ejemplo.
Superar las limitaciones relacionadas con la complejidad
Una forma de superar tales limitaciones y complementar nuestro sistema con la capacidad de responder a preguntas analíticas ad hoc será pasar todos nuestros datos en bruto a un motor de búsqueda y análisis, como elasticsearch – y tal vez incluso poner la cereza de Kibana en la parte superior.
En caso de que no esté familiarizado con elasticsearch o Kibana, sólo mencionaré que son dos tecnologías distribuidas, escalables y tolerantes a fallos que funcionan juntas para soportar consultas sofisticadas así como tableros dinámicos.
Elasticsearch y Kibana
El primero, elasticsearch, es un motor de búsqueda y análisis, que resume el uso del más capaz motor de búsqueda de texto completo de Lucene – y trae una simple API, así como un lenguaje específico de dominio de consulta (es decir, DSL).
El segundo, Kibana, trae la capacidad de visualización de datos a su sistema. Al definir cuadros de mando, series temporales, gráficos, datos geoespaciales, y mucho más, Kibana hace crecer su caja de herramientas analíticas.
Kibana también permite una interacción directa con su grupo de búsqueda elástica, en forma de consultas analíticas, escritas con un DSL bastante simple, como se mencionó anteriormente.