Searching...
lunes, 5 de septiembre de 2016

Ingestión de Datos

Por Ingestión entendemos el proceso de introducción de datos en el sistema que estamos construyendo o utilizando. Alguien puede preguntarse porque merece la pena hablar de esto. Solo tenemos que leer los datos de de alguna parte, cómo de un fichero, y luego utilizar un comando para colocarlo en el sistema, o puede que tengamos algún tipo de formulario web u otro interfaz visual que rellenamos para introducir los datos en el sistema. Ambas formas de ingesta de datos son válidas. De hecho, son válidas para algunos sistemas de Big Data como, por ejemplo, en el caso de un sistema de reservas para unas líneas aéreas.
Flujo de Ingestión de Datos
Sin embargo, cuando pensamos en un sistema a gran escala, lo ideal es tener una mayor automatización de los procesos de ingesta de datos, por lo que la ingestión de datos se convierte entonces en una parte de la infraestructura de gestión de Big Data.

A continuación enumero una serie de preguntas que podemos querer hacernos cuando automatizamos la ingestión de datos:
  • ¿Cuantas fuentes de datos tenemos?
  • ¿Qué tamaño tienen los elementos de datos?
  • ¿Es previsible que aumente el número de fuentes de datos?
  • ¿Cual es la tasa de ingestión de datos?
  • ¿Que hacemos con los datos que tiene errores?
  • ¿Que hacemos cuando hay muy pocos datos o cuando tenemos demasiados?
Vamos a ver un par de ejemplos para estudiar estas preguntas con mayor detalle.
  • El primer ejemplo es el de un hipotético sistema de información hospitalaria que ya hemos comentado en el curso en el contexto de la medicina de precisión. Hemos dicho que los hospitales recogen terabytes de registros médicos de los diferentes departamentos y son considerados sistemas de Big Data.
Sistema de Información Hospitalario
No tengas en cuenta la precisión de estas cifras, ya que son sólo algunos ejemplos, pero ilustran algunos puntos importantes.
  • ¿Cuantas fuentes de datos tenemos? Aproximadamente 20
  • ¿Qué tamaño tienen los elementos de datos? Tamaño medio de registro: 5 KB, Tamaño medio de las imágenes: 2 GB, #registros: 50 millones.
  • ¿Es previsible que aumente el número de fuentes de datos? No mucho
  • ¿Cual es la tasa de ingestión de datos? 3 K/día
  • ¿Que hacemos con los datos que tiene errores? Avisar, marcar e ingerir
  • ¿Que hacemos cuando hay muy pocos datos o cuando tenemos demasiados? No es probable
1) Observe que hay dos formas asociadas con los datos. Algunos datos como las imágenes médicas son objetos grandes de datos de por sí. Por otro lado, los registros en sí son bastante pequeños, pero el tamaño total de la colección de registros es muy elevado.

2) Si bien existen una gran cantidad de datos de los pacientes, el número de fuentes de datos, es decir, los diferentes sistemas departamentales que contribuyen al sistema de información en su totalidad no cambian mucho con el tiempo.

3) La velocidad de ingesta de datos no es desmesurada y suele ser proporcional al número de actividades con el paciente que tienen lugar en el hospital.

4) El sistema contiene registros médicos por lo que los datos nunca se pueden descartar, aunque haya errores en los datos. Los errores de este caso específico se marcan, pero los datos se conservan. Este tipo de regla es lo que se denomina una política de control de errores, que puede ser diferente para diferentes problemas de aplicación.

La política de gestión de errores es parte de un plan más amplio de las políticas llamadas políticas de ingestión. Otro tipo de política de ingestión implica las decisiones con respecto a lo que el sistema debe hacer si la velocidad de datos aumenta o se vuelve de repente sospechosamente baja. En este ejemplo hemos decidido deliberadamente no incluirla en el diseño.
  • El segundo ejemplo es un almacén de datos basado en la nube donde muchas personas suben sus mensajes, chats, imágenes, videos, música, etc. El almacenamiento en la nube también soporta la comunicación activa entre los miembros y almacena sus comunicaciones en tiempo real.
Almacén de datos basado en la nube
De nuevo, este solo es un ejemplo imaginario, así que no pienses que todos los parámetros son exactos. En este caso tenemos lo siguiente:
  • ¿Cuantas fuentes de datos tenemos? 2 M
  • ¿Qué tamaño tienen los elementos de datos? Tamaño medio de registro: 3 KB, Tamaño medio de las imágenes: 2 MB, #registros: 200 mil millones
  • ¿Es previsible que aumente el número de fuentes de datos? Actualmente 25 M y aumenta a un 15% por año
  • ¿Cual es la tasa de ingestión de datos? Máximo de 200 K/hr
  • ¿Que hacemos con los datos que tienen errores? Reintentar una vez y descartar
  • ¿Que hacemos cuando hay muy pocos datos o cuando tenemos demasiados? Guardar en un servidor auxiliar lo que exceda de 10 TB, ingerir en modo perezoso, reducir la ingesta al 0.1% cuando el llenado supera el 85%
1) El almacén tendrá una velocidad rápida de suscripción de sus miembros. Cada miembro utilizará varios dispositivos para capturar e ingerir sus datos.

2) El sitio será actualizado a un ritmo muy rápido para todos sus suscriptores a la vez, haciendo que este sea un almacén de datos de gran volumen con una tasa rápida de consumo.

3) En este sistema, nuestro desafío principal es seguir el ritmo de la velocidad de datos y, por lo tanto, se descartaran los datos erróneos después de un solo reintento de ingerir los datos.

4) Existe una política concreta para gestionar el desbordamiento de datos que consiste esencialmente en guardar el excedente de datos en un almacén del sitio e ingerirlos cuando la velocidad de datos se vuelva más lenta, pero si el almacén del sitio empieza a llenarse, comenzar a reducir algunos datos de entrada a una velocidad del 0.1%.

0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!