Articulo de referencia

Ingeniería de datos

La ingeniería de datos es un enfoque de ingeniería de software para la construcción de sistemas de datos , que permite la recopilación y el uso de datos . Estos datos se utiliza...

La ingeniería de datos es un enfoque de ingeniería de software para la construcción de sistemas de datos , que permite la recopilación y el uso de datos . Estos datos se utilizan generalmente para permitir análisis posteriores y ciencia de datos , que a menudo involucra aprendizaje automático . [ 1 ] [ 2 ] Hacer que los datos sean utilizables generalmente requiere computación y almacenamiento sustanciales , así como procesamiento de datos .

Historia

Alrededor de las décadas de 1970 y 1980 se creó el término metodología de ingeniería de la información (IEM) para describir el diseño de bases de datos y el uso de software para el análisis y procesamiento de datos. [ 3 ] Estas técnicas estaban destinadas a ser utilizadas por administradores de bases de datos (DBA) y analistas de sistemas , basándose en la comprensión de las necesidades de procesamiento operativo de las organizaciones para la década de 1980. En particular, estas técnicas estaban destinadas a ayudar a cerrar la brecha entre la planificación estratégica de negocios y los sistemas de información. Un contribuyente clave inicial (a menudo llamado el "padre" de la metodología de ingeniería de la información) fue el australiano Clive Finkelstein , quien escribió varios artículos sobre el tema entre 1976 y 1980, y también fue coautor de un influyente informe del Instituto Savant sobre el tema con James Martin. [ 4 ] [ 5 ] [ 6 ] Durante los años siguientes, Finkelstein continuó trabajando en una dirección más orientada a los negocios, que estaba destinada a abordar un entorno empresarial en rápida evolución; Martin continuó trabajando en una dirección más orientada al procesamiento de datos. Entre 1983 y 1987, Charles M. Richter, guiado por Clive Finkelstein, desempeñó un papel importante en la renovación de IEM, así como en el diseño del software IEM (datos de usuario), lo que contribuyó a automatizar IEM.

A principios de la década de 2000, los datos y las herramientas de datos generalmente estaban en manos de los equipos de tecnología de la información (TI) en la mayoría de las empresas. [ 7 ] Otros equipos luego usaban los datos para su trabajo (por ejemplo, informes), y generalmente había poca superposición en las habilidades de datos entre estas partes de la empresa.

A principios de la década de 2010, con el auge de internet , el aumento masivo en el volumen, la velocidad y la variedad de datos llevó al término big data para describir los datos en sí, y las empresas tecnológicas basadas en datos como Facebook y Airbnb comenzaron a usar la frase ingeniero de datos . [ 3 ] [ 7 ] Debido a la nueva escala de los datos, grandes empresas como Google , Facebook, Amazon , Apple , Microsoft y Netflix comenzaron a alejarse de las técnicas tradicionales de ETL y almacenamiento. Comenzaron a crear ingeniería de datos , un tipo de ingeniería de software centrada en los datos, y en particular en la infraestructura , el almacenamiento , la protección de datos , la ciberseguridad , la minería , el modelado , el procesamiento y la gestión de metadatos . [ 3 ] [ 7 ] Este cambio de enfoque se centró particularmente en la computación en la nube . [ 7 ] Los datos comenzaron a ser manejados y utilizados por muchas partes del negocio, como ventas y marketing , y no solo por TI. [ 7 ]

Herramientas

Calcular

La computación de alto rendimiento es fundamental para el procesamiento y análisis de datos. Un enfoque particularmente extendido para la computación en ingeniería de datos es la programación de flujo de datos , en la que el cálculo se representa como un grafo dirigido (grafo de flujo de datos); los nodos son las operaciones y las aristas representan el flujo de datos. [ 8 ] Entre las implementaciones populares se incluyen Apache Spark y TensorFlow , específico para aprendizaje profundo . [ 8 ] [ 9 ] [ 10 ] Implementaciones más recientes, como el flujo de datos diferencial / temporal , han utilizado computación incremental para un procesamiento de datos mucho más eficiente. [ 8 ] [ 11 ] [ 12 ]

Almacenamiento

Los datos se almacenan de diversas maneras, y uno de los factores clave es cómo se utilizarán. Los ingenieros de datos optimizan los sistemas de almacenamiento y procesamiento de datos para reducir costos. Para ello, utilizan compresión , particionamiento y archivado de datos.

Bases de datos

Si los datos están estructurados y se requiere algún tipo de procesamiento de transacciones en línea , generalmente se utilizan bases de datos . [ 13 ] Originalmente, se utilizaban principalmente bases de datos relacionales , con fuertes garantías de corrección de transacciones ACID ; la mayoría de las bases de datos relacionales utilizan SQL para sus consultas. Sin embargo, con el crecimiento de los datos en la década de 2010, las bases de datos NoSQL también se han popularizado, ya que escalan horizontalmente con mayor facilidad que las bases de datos relacionales al renunciar a las garantías de transacciones ACID, además de reducir el desajuste de impedancia objeto-relacional . [ 14 ] Más recientemente, las bases de datos NewSQL —que intentan permitir la escalabilidad horizontal manteniendo las garantías ACID— se han popularizado. [ 15 ] [ 16 ] [ 17 ] [ 18 ]

almacenes de datos

Si los datos están estructurados y se requiere procesamiento analítico en línea (pero no procesamiento de transacciones en línea), entonces los almacenes de datos son una opción principal. [ 19 ] Permiten el análisis de datos, la minería y la inteligencia artificial a una escala mucho mayor que la que permiten las bases de datos, [ 19 ] y, de hecho, los datos a menudo fluyen de las bases de datos a los almacenes de datos. [ 20 ] Los analistas de negocios , los ingenieros de datos y los científicos de datos pueden acceder a los almacenes de datos utilizando herramientas como SQL o software de inteligencia de negocios . [ 20 ]

lagos de datos

Un lago de datos es un repositorio centralizado para almacenar, procesar y proteger grandes volúmenes de datos. Puede contener datos estructurados de bases de datos relacionales , datos semiestructurados , datos no estructurados y datos binarios . Un lago de datos se puede crear localmente o en un entorno basado en la nube utilizando los servicios de proveedores de nube pública como Amazon , Microsoft o Google .

Archivos

Si los datos están menos estructurados, a menudo simplemente se almacenan como archivos . Hay varias opciones:

Gestión

La cantidad y variedad de procesos de datos y ubicaciones de almacenamiento pueden resultar abrumadoras para los usuarios. Esto impulsó el uso de un sistema de gestión de flujos de trabajo (por ejemplo, Airflow ) para permitir la especificación, creación y supervisión de las tareas de datos. [ 23 ] Las tareas suelen especificarse como un grafo acíclico dirigido (DAG) . [ 23 ]

Ciclo vital

Planificación empresarial

Los objetivos empresariales que los ejecutivos establecen para el futuro se caracterizan en los planes de negocio clave, cuya definición más precisa se encuentra en los planes de negocio tácticos y su implementación en los planes de negocio operativos. La mayoría de las empresas reconocen hoy la necesidad fundamental de desarrollar un plan de negocio que siga esta estrategia. A menudo, la implementación de estos planes resulta difícil debido a la falta de transparencia en los niveles táctico y operativo de las organizaciones. Este tipo de planificación requiere retroalimentación para permitir la corrección temprana de problemas derivados de la falta de comunicación y la mala interpretación del plan de negocio.

Diseño de sistemas

El diseño de sistemas de datos implica varios componentes, como la arquitectura de plataformas de datos y el diseño de almacenes de datos. [ 24 ] [ 25 ]

Modelado de datos

El modelado de datos es el proceso de producir un modelo de datos , un modelo abstracto para describir los datos y las relaciones entre las diferentes partes de los datos. [ 26 ]

Roles

Ingeniero de datos

Un ingeniero de datos es un tipo de ingeniero de software que crea pipelines ETL de big data para gestionar el flujo de datos a través de la organización. Esto permite tomar grandes cantidades de datos y transformarlas en información valiosa . [ 27 ] Se centran en la preparación de los datos para la producción y en aspectos como formatos, resiliencia, escalabilidad y seguridad. Los ingenieros de datos suelen provenir de una formación en ingeniería de software y dominan lenguajes de programación como Java , Python , Scala y Rust . [ 28 ] [ 3 ] Estarán más familiarizados con bases de datos, arquitectura, computación en la nube y desarrollo de software ágil . [ 3 ]

científico de datos

Los científicos de datos se centran en el análisis de datos e información y tendrán experiencia en matemáticas , algoritmos , estadística y aprendizaje automático . [ 3 ] [ 29 ]

Véase también

Referencias

  1. "¿Qué es la ingeniería de datos? | Un vistazo rápido a la ingeniería de datos" . EDUCBA . 5 de enero de 2020. Consultado el 31 de julio de 2022 .
  2. "Introducción a la ingeniería de datos" . Dremio . Consultado el 31 de julio de 2022 .
  3. 1 2 3 4 5 6 Black, Nathan (15 de enero de 2020). "¿Qué es la ingeniería de datos y por qué es tan importante?" . QuantHub . Recuperado el 31 de julio de 2022 .
  4. "Ingeniería de la información," parte 3 , parte 4 , parte 5 , parte 6 " por Clive Finkelstein. En Computerworld, En profundidad, apéndice. 25 de mayo - 15 de junio de 1981.
  5. Christopher Allen, Simon Chatwin, Catherine Creary (2003). Introducción a las bases de datos relacionales y la programación SQL.
  6. Terry Halpin , Tony Morgan (2010). Modelado de información y bases de datos relacionales. pág. 343
  7. 1 2 3 4 5 Dodds, Eric. "La historia de la ingeniería de datos y las megatendencias" . Rudderstack . Recuperado el 31 de julio de 2022 .
  8. 1 2 3 Schwarzkopf, Malte (7 de marzo de 2020). "La notable utilidad de la computación de flujo de datos" . ACM SIGOPS . Recuperado el 31 de julio de 2022 .
  9. "sparkpaper" (PDF) . Consultado el 31 de julio de 2022 .
  10. Abadi, Martin; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). "TensorFlow: Un sistema para el aprendizaje automático a gran escala" . 12º Simposio USENIX sobre Diseño e Implementación de Sistemas Operativos (OSDI 16) . págs. 265–283 . Recuperado el 31 de julio de 2022 . 
  11. McSherry, Frank; Murray, Derek; Isaacs, Rebecca; Isard, Michael (5 de enero de 2013). "Flujo de datos diferencial" . Microsoft . Recuperado el 31 de julio de 2022 .
  12. "Flujo de datos diferencial" . Flujo de datos oportuno. 30 de julio de 2022. Consultado el 31 de julio de 2022 .
  13. "Apuntes de clase | Sistemas de bases de datos | Ingeniería eléctrica e informática | MIT OpenCourseWare" . ocw.mit.edu . Consultado el 31 de julio de 2022 .
  14. Leavitt, Neal (febrero de 2010). "¿Cumplirán las bases de datos NoSQL con lo prometido?". Computer . 43 (2): 12– 14. doi : 10.1109/MC.2010.58 .
  15. Aslett, Matthew (2011). "¿Cómo responderán los proveedores de bases de datos a NoSQL y NewSQL?" (PDF) . 451 Group (publicado el 4 de abril de 2011) . Recuperado el 22 de febrero de 2020 .
  16. Pavlo, Andrew; Aslett, Matthew (2016). "¿Qué hay realmente nuevo con NewSQL?" (PDF) . Registro SIGMOD . Consultado el 22 de febrero de 2020 .
  17. Stonebraker, Michael (16 de junio de 2011). "NewSQL: una alternativa a NoSQL y SQL antiguo para nuevas aplicaciones OLTP" . Blog de Communications of the ACM . Consultado el 22 de febrero de 2020 .
  18. Hoff, Todd (24 de septiembre de 2012). "La revelación más sorprendente de Google Spanner: NoSQL está fuera y NewSQL está dentro" . Recuperado el 22 de febrero de 2020 .
  19. 1 2 "¿Qué es un almacén de datos?" . www.ibm.com . Consultado el 31 de julio de 2022 .
  20. 1 2 "¿Qué es un almacén de datos? | Conceptos clave | Amazon Web Services" . Amazon Web Services, Inc. Recuperado el 31 de julio de 2022 .
  21. 1 2 3 "¿Almacenamiento de archivos, almacenamiento de bloques o almacenamiento de objetos?" . www.redhat.com . Consultado el 31 de julio de 2022 .
  22. "Almacenamiento de objetos en la nube – Amazon S3 – Amazon Web Services" . Amazon Web Services, Inc. Consultado el 31 de julio de 2022 .
  23. 1 2 "Inicio" . Apache Airflow . Consultado el 31 de julio de 2022 .
  24. "Introducción a la ingeniería de datos" . Coursera . Consultado el 31 de julio de 2022 .
  25. Finkelstein, Clive. ¿Cuáles son las fases de la ingeniería de la información ?
  26. "¿Qué es el modelado de datos? Descripción general, conceptos básicos y tipos en detalle" . Simplilearn.com . 15 de junio de 2021. Consultado el 31 de julio de 2022 .
  27. Tamir, Mike; Miller, Steven; Gagliardi, Alessandro (11 de diciembre de 2015). El ingeniero de datos (Informe). SSRN 2762013 . 
  28. "Ingeniero de datos vs. Científico de datos" . Blog de Springboard . 7 de febrero de 2019. Consultado el 14 de marzo de 2021 .
  29. "¿Qué es la ciencia de datos y por qué es importante?" . Edureka. 5 de enero de 2017.

Lecturas adicionales

  • Hares, John S. (1992). Ingeniería de la información para el profesional avanzado . Wiley. ISBN 978-0-471-92810-2.
  • Finkelstein, Clive (1989). Introducción a la ingeniería de la información: De la planificación estratégica a los sistemas de información . Addison-Wesley. ISBN 978-0-201-41654-1.
  • Finkelstein, Clive (1992). Ingeniería de la información: Desarrollo de sistemas estratégicos . Addison-Wesley. ISBN 978-0-201-50988-5.
  • Ian Macdonald (1986). "Ingeniería de la información". En: Metodologías de diseño de sistemas de información . TW Olle et al. (eds.). North-Holland.
  • Ian Macdonald (1988). "Automatización de la metodología de ingeniería de la información con la plataforma de ingeniería de la información". En: Asistencia informatizada durante el ciclo de vida de los sistemas de información . TW Olle et al. (eds.). North-Holland.
  • James Martin y Clive Finkelstein . (1981). Ingeniería de la información . Informe técnico (2 volúmenes), Savant Institute, Carnforth, Lancs, Reino Unido.
  • James Martin (1989). Ingeniería de la información . (3 volúmenes), Prentice-Hall Inc.
  • Finkelstein, Clive (2006). Arquitectura empresarial para la integración: métodos y tecnologías de entrega rápida . Artech House. ISBN 978-1-58053-713-1.
  • Reis, Joe; Housley, Matt (2022). Fundamentos de ingeniería de datos . O'Reilly Media. ISBN 978-1-0981-0827-4.
  • Kleppmann, Martin; Riccomini, Chris (2026). Diseño de aplicaciones con uso intensivo de datos (2.ª  ed.). O'Reilly Media. ISBN 978-1098119065.
  • El IEM del método complejo fue archivado el 20 de julio de 2019 en la Wayback Machine .
  • Desarrollo rápido de aplicaciones
  • Ingeniería empresarial y entrega rápida de arquitectura empresarial
  • Data Engineering Vault , un centro de conocimiento conectado que abarca conceptos, herramientas y patrones de ingeniería de datos.