stringtranslate.com

Ingeniería de datos

La ingeniería de datos se refiere a la construcción de sistemas que permitan la recopilación y el uso de datos . Estos datos se utilizan generalmente para permitir el análisis posterior y la ciencia de datos , que a menudo implica el aprendizaje automático . [1] [2] Hacer que los datos sean utilizables generalmente implica un gran volumen de procesamiento y almacenamiento , así como procesamiento de datos .

Historia

Alrededor de los años 1970/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] [4] Estas técnicas estaban destinadas a ser utilizadas por administradores de bases de datos (DBA) y analistas de sistemas basados ​​en una 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 empresarial estratégica y los sistemas de información. Un colaborador temprano clave (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 ella entre 1976 y 1980, y también fue coautor de un influyente informe del Savant Institute sobre ella con James Martin. [5] [6] [7] Durante los siguientes años, Finkelstein continuó trabajando en una dirección más impulsada por los negocios, que tenía la intención de abordar un entorno empresarial que cambiaba rápidamente; Martin continuó trabajando en una dirección más impulsada por el procesamiento de datos. De 1983 a 1987, Charles M. Richter, guiado por Clive Finkelstein, desempeñó un papel importante en la renovación de IEM y ayudó a diseñar el producto de software IEM (datos del usuario), lo que ayudó 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. [8] Luego, otros equipos usaban datos para su trabajo (por ejemplo, informes) y, por lo general, había poca superposición en el conjunto de 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 de los volúmenes, la velocidad y la variedad de datos condujo al término big data para describir los datos en sí, y las empresas de tecnología impulsadas por datos como Facebook y Airbnb comenzaron a usar la frase ingeniero de datos . [3] [8] 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] [8] Este cambio de enfoque se centró particularmente en la computación en la nube . [8] Los datos comenzaron a ser manejados y utilizados por muchas partes de la empresa, como ventas y marketing , y no solo TI. [8]

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 gráfico dirigido (gráfico de flujo de datos); los nodos son las operaciones y los bordes representan el flujo de datos. [9] Las implementaciones populares incluyen Apache Spark y TensorFlow , específico para el aprendizaje profundo . [9] [10] [11] Las implementaciones más recientes, como Differential/Timely Dataflow, han utilizado la computación incremental para un procesamiento de datos mucho más eficiente. [9] [12] [13]

Almacenamiento

Los datos se almacenan de diversas formas, y uno de los factores decisivos es cómo se utilizarán. Los ingenieros de datos optimizan los sistemas de almacenamiento y procesamiento de datos para reducir los costos. Utilizan compresión, partición y archivo de datos.

Bases de datos

Si los datos están estructurados y se requiere alguna forma de procesamiento de transacciones en línea , generalmente se utilizan bases de datos . [14] 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 vuelto populares, ya que se escalan horizontalmente más fácilmente que las bases de datos relacionales al renunciar a las garantías de transacción ACID, así como al reducir el desajuste de impedancia objeto-relacional . [15] Más recientemente, las bases de datos NewSQL , que intentan permitir el escalamiento horizontal manteniendo las garantías ACID, se han vuelto populares. [16] [17] [18] [19]

Almacenes de datos

Si los datos están estructurados y se requiere un procesamiento analítico en línea (pero no procesamiento de transacciones en línea), entonces los almacenes de datos son una opción principal. [20] Permiten el análisis de datos, la minería y la inteligencia artificial en una escala mucho mayor que la que pueden permitir las bases de datos, [20] y, de hecho, los datos a menudo fluyen desde las bases de datos a los almacenes de datos. [21] 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 empresarial . [21]

Lagos de datos

Un lago de datos es un repositorio centralizado para almacenar, procesar y proteger grandes volúmenes de datos. Un lago 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 en las instalaciones 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 se almacenan simplemente como archivos . Existen varias opciones:

Gestión

La cantidad y variedad de diferentes procesos de datos y ubicaciones de almacenamiento pueden llegar a ser abrumadoras para los usuarios. Esto inspiró el uso de un sistema de gestión de flujo de trabajo (por ejemplo, Airflow ) para permitir que las tareas de datos se especifiquen, creen y supervisen. [24] Las tareas se especifican a menudo como un gráfico acíclico dirigido (DAG) . [24]

Ciclo vital

Planificación empresarial

Los objetivos empresariales que los ejecutivos establecen para el futuro se caracterizan en planes empresariales clave, con su definición más destacada en planes empresariales tácticos y su implementación en planes empresariales operativos. La mayoría de las empresas reconocen hoy la necesidad fundamental de desarrollar un plan empresarial que siga esta estrategia. A menudo resulta difícil implementar estos planes 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 los problemas que se deben a la falta de comunicación y la mala interpretación del plan empresarial.

Diseño de sistemas

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

Modelado de datos

Este 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. [27]

Roles

Ingeniero de datos

Un ingeniero de datos es un tipo de ingeniero de software que crea canales ETL de big data para gestionar el flujo de datos a través de la organización. Esto hace posible tomar enormes cantidades de datos y traducirlos en conocimientos . [28] Se centran en la preparación de la producción de datos y en aspectos como los formatos, la resiliencia, la escalabilidad y la seguridad. Los ingenieros de datos suelen tener experiencia en ingeniería de software y son competentes en lenguajes de programación como Java , Python , Scala y Rust . [29] [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 están más centrados en el análisis de los datos, estarán más familiarizados con las matemáticas , los algoritmos , las estadísticas y el aprendizaje automático . [3] [30]

Véase también

Referencias

  1. ^ "¿Qué es la ingeniería de datos? | Una mirada rápida 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. ^ abcdef Black, Nathan (15 de enero de 2020). "¿Qué es la ingeniería de datos y por qué es tan importante?". QuantHub . Consultado el 31 de julio de 2022 .
  4. ^ "Ingeniería de la información: una descripción general | Temas de ScienceDirect" www.sciencedirect.com . Consultado el 23 de agosto de 2022 .
  5. ^ "Ingeniería de la información", parte 3, parte 4, parte 5, parte 6", de Clive Finkelstein. En Computerworld, En profundidad, apéndice. 25 de mayo – 15 de junio de 1981.
  6. ^ Christopher Allen, Simon Chatwin, Catherine Creary (2003). Introducción a las bases de datos relacionales y programación SQL.
  7. ^ Terry Halpin , Tony Morgan (2010). Modelado de información y bases de datos relacionales. p. 343
  8. ^ abcde Dodds, Eric. "La historia de la ingeniería de datos y las megatendencias". Rudderstack . Consultado el 31 de julio de 2022 .
  9. ^ abc Schwarzkopf, Malte (7 de marzo de 2020). "La notable utilidad de la computación de flujo de datos". ACM SIGOPS . Consultado el 31 de julio de 2022 .
  10. ^ "sparkpaper" (PDF) . Consultado el 31 de julio de 2022 .
  11. ^ 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 . Consultado el 31 de julio de 2022 .
  12. ^ McSherry, Frank; Murray, Derek; Isaacs, Rebecca; Isard, Michael (5 de enero de 2013). "Flujo de datos diferencial". Microsoft . Consultado el 31 de julio de 2022 .
  13. ^ "Flujo de datos diferencial". Flujo de datos oportuno. 30 de julio de 2022. Consultado el 31 de julio de 2022 .
  14. ^ "Apuntes de clase | Sistemas de bases de datos | Ingeniería eléctrica y ciencias de la computación | MIT OpenCourseWare". ocw.mit.edu . Consultado el 31 de julio de 2022 .
  15. ^ Leavitt, Neal (2010). "¿Las bases de datos NoSQL cumplirán con su promesa?" (PDF) . IEEE Computer . 43 (2): 12–14. doi :10.1109/MC.2010.58. S2CID  26876882.
  16. ^ 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) . Consultado el 22 de febrero de 2020 .
  17. ^ Pavlo, Andrew; Aslett, Matthew (2016). "¿Qué hay realmente de nuevo con NewSQL?" (PDF) . Registro SIGMOD . Consultado el 22 de febrero de 2020 .
  18. ^ Stonebraker, Michael (16 de junio de 2011). "NewSQL: una alternativa a NoSQL y Old SQL para nuevas aplicaciones OLTP". Comunicaciones del blog de ACM . Consultado el 22 de febrero de 2020 .
  19. ^ Hoff, Todd (24 de septiembre de 2012). «La revelación más sorprendente de Google Spanner: NoSQL está fuera y NewSQL está de moda» . Consultado el 22 de febrero de 2020 .
  20. ^ ab "¿Qué es un almacén de datos?". www.ibm.com . Consultado el 31 de julio de 2022 .
  21. ^ ab "¿Qué es un almacén de datos? | Conceptos clave | Amazon Web Services". Amazon Web Services, Inc. Consultado el 31 de julio de 2022 .
  22. ^ abc "¿Almacenamiento de archivos, almacenamiento en bloques o almacenamiento de objetos?". www.redhat.com . Consultado el 31 de julio de 2022 .
  23. ^ "Almacenamiento de objetos en la nube: Amazon S3: Amazon Web Services". Amazon Web Services, Inc. Consultado el 31 de julio de 2022 .
  24. ^ ab "Inicio". Apache Airflow . Consultado el 31 de julio de 2022 .
  25. ^ "Introducción a la ingeniería de datos". Coursera . Consultado el 31 de julio de 2022 .
  26. ^ Finkelstein, Clive. ¿Cuáles son las fases de la ingeniería de la información ?
  27. ^ "¿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 .
  28. ^ Tamir, Mike; Miller, Steven; Gagliardi, Alessandro (11 de diciembre de 2015). "El ingeniero de datos". Rochester, NY. doi :10.2139/ssrn.2762013. S2CID  113342650. SSRN  2762013. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  29. ^ "Ingeniero de datos vs. Científico de datos". Blog de Springboard . 7 de febrero de 2019. Consultado el 14 de marzo de 2021 .
  30. ^ "¿Qué es la ciencia de datos y por qué es importante?". Edureka. 5 de enero de 2017.

Lectura adicional

Enlaces externos