Soluciones para el soporte al almacenamiento, búsqueda y análisis de información
Para explicar las principales diferencias entre los distintos sistemas me he basado en el documento (http://courses.csail.mit.edu/18.337/2015/docs/50YearsDataScience.pdf) “50 Years Data Science”, donde David Donoho identifica seis grandes divisiones grupos de actividades:
- Data Exploration and Preparation
- Data Representation and Transformation
- Computing with Data
- Data Modeling
- Data Visualization and Presentation
- Science about Data Science
Principalmente en los dos primeros puntos, el primero para indicar que el 80% del esfuerzo de un proyecto de estas características se dedica a conocer y preparar los datos para su posterior análisis y el segundo hace especial énfasis en la necesidad de utilizar diferentes fuentes con sus correspondientes diferencias, tecnológicas, de negocio e incluso filosóficas. Es este segundo punto el que nos pone en la tesitura de tener que adoptar una arquitectura de datos que nos permita afrontar el proyecto con garantías.
Data Lake
Es un repositorio que contiene una gran cantidad de datos en su formato nativo, incluyendo datos estructurados, semiestructurados y no estructurados. No se definen los requisitos y estructura de datos hasta que se necesitan los datos. Hadoop lo ha popularizado, basando su solución en el movimiento desde almacenes de datos dispares a un solo Hadoop/HDFS. Los datos de estos almacenes no necesitan relacionarse ni indexarse ni ser fácilmente utilizables en búsquedas, el objetivo es tener los datos disponibles sin tener que acudir a sistemas de producción cada vez que necesitas acceder a esa información. Así mismo este tipo de arquitecturas pueden ser instaladas en relativamente baratas configuraciones de hardware.
Este tipo de soluciones tiene un grave problema, esta información requiere de un altísimo nivel de conocimientos en la manipulación y análisis de grandes volúmenes de datos, así como un conocimiento muy profundo del negocio y de la idiosincrasia del mismo ya que no existe una capa de coherencia semántica ni de gestión de metadatos que facilite la explotación.
Data Warehouse
Es la solución más antigua y más implementada a nivel de inteligencia empresarial. Las principales características son la estructuración de la información almacenada (capas semánticas y de metadatos) y las necesidades de procesamiento previo que se requieren.
Las principales diferencias con respecto al data lake se basan en la estructuración del dato, mientras el datawarehouse depende de esta estructuración, el data lake no la necesita. Este punto es clave a la hora de entender que los objetivos de ambos sistemas no son los mismos, el datawarehouse está enfocado a cubrir necesidades de la capa de negocio y por lo tanto para usuarios analistas de negocio y el data lake está enfocado en el análisis estadístico con mayor o menor nivel de sofisticación y por lo tanto a usuarios científicos de datos.
Data Hub
Un data hub es un sistema de concentración de información y de integración de datos, es un sistema donde los datos son movidos y reprocesados en un nuevo sistema buscando las relaciones y la integridad de los mismos pero conservando la información de origen. El objetivo de un data hub es proveer de una fuente centralizada y unificada de datos a nivel corporativo. En un modelo idílico de la arquitectura de desarrollo y de datos podríamos ver como una sola fuente de datos nutre a todas las aplicaciones corporativas permitiendo una integración basada en datos y en no en flujos de procesamiento.