La forma en que ingiere sus datos depende del tipo de datos y su propósito. Por ejemplo, ¿es alta complejidad, alta velocidad o baja complejidad, baja velocidad? ¿Lo deposita en una capa de prueba para transformarlo antes de moverlo, o lo ingiere de varios proveedores de datos, confiando en que es correcto, y lo transmite directamente a sus sistemas? (En ese caso, admiro que no tenga preocupaciones).
Estas son las preguntas que puede hacer para fundamentar su estrategia de ingesta de datos:
- ¿Qué parámetros de calidad debemos cumplir?
- ¿Cuál es la complejidad?
- ¿Cuál es la velocidad?
- ¿Cuáles son las necesidades del consumidor?
- ¿Existen regímenes normativos a seguir? (por ejemplo, SOC2, PCI)
- ¿Existen necesidades normativas o de cumplimiento? (por ejemplo, HIPAA, RGPD, CCPA)
- ¿Se puede automatizar?
Cuanto mayor sea su necesidad en cuanto a la calidad de los datos, aquí, o en cualquier capa o ubicación a través de la cual pasarán los datos, mayor será su necesidad de observabilidad de la ingesta de datos. Es decir, la mayor visibilidad que necesita sobre la calidad de los datos que se ingieren.
Como ya comentamos en la introducción, los errores tienden a propagarse en cascada, y la información errónea que se introduce puede convertir rápidamente en información errónea en todas partes. Los pequeños esfuerzos para mejorar la calidad aquí tendrán un efecto acumulativo y ahorrarán días o semanas enteros de trabajo.
Como dice Fithrah Fauzan, líder del equipo de ingeniería de datos de Shipper: “Con tan solo un error tipográfico cambia el esquema y daña el archivo. Esto nos ocurría semanalmente. Sin IBM® Databand, a menudo no sabíamos que teníamos un problema hasta dos o tres días después, cuando teníamos que volver a completar los datos”.
Además, cuando puede observar los datos ingeridos, puede establecer reglas para limpiarlos automáticamente y garantizar que se mantengan limpios. Así que, si un proveedor de datos cambia su API, detectas el cambio de esquema. Y si hay errores humanos en su base de datos que han causado algunos valores excesivamente inestables, los nota, se detiene y los aborda.
Cuando puede observar tu proceso de ingesta de datos, puede realizar lo siguiente de forma más fiable:
- Agregar los datos: reunir todo de forma integral.
- Fusionar: combinar conjuntos de datos similares.
- Dividir: dividir a diferencia de los conjuntos de datos.
- Resumir: producir metadatos para describir el conjunto de datos.
- Validar los datos: verificar que los datos sean de alta calidad (como se esperaba)
- (Tal vez) Estandarizar: alinear esquemas
- Depurar: eliminar datos incorrectos
- Deduplicar: eliminar duplicados involuntarios
A partir de ahí, puede empezar a crear el marco que funcione para usted. Los datos altamente complejos exigen una observabilidad, muy complexa: si su herramienta de monitoreo no es altamente personalizable y no puede detectar automáticamente valores anómalos, la automatización no le sirve de mucho. Siempre estará arreglando el sistema, modificando las reglas y refinando las cosas a mano.
Los datos altamente complejos también lo convierten en un buen candidato para un enfoque de ingesta híbrida, en el que puede designar los datos ingeridos en un flujo de trabajo por lotes o transmitido. Si tiene cualquier cantidad de datos de alta velocidad, que se supone que están muy actualizados, es candidato para una arquitectura de ingesta de transmisión o, por supuesto, híbrida.
A partir de ahí, necesita comprender cuáles son las necesidades específicas de sus usuarios.
Estas son algunas herramientas de ingesta de datos que quizá le resulten útiles para esto:
- Herramienta de ingesta: Apache Storm, Apache Flume, Gobblin, Apache NiFi, Apache Logstash
- Almacenamiento: Snowflake, Azure, AWS, Plataforma en la nube de Google
- Plataforma de streaming: Apache Kafka
- Plataforma de observabilidad: Databand