[MÚSICA] [MÚSICA] En la charla de hoy, vamos a hablar de los diferentes tipos de datos con los que vamos a trabajar en proyectos de big data, y vamos a presentar cuatro puntos básicos en esta presentación de hoy. Primero, vamos a hablar un poco de datos estructurados, datos semiestructurados, datos estructurados y, finalmente, vamos a hablar un poco del proceso de anonimización de los datos, que se produce cuando queremos publicar un resultado de un experimento. Existen diferentes tipos de clasificación de los datos, según diferentes características, y en la charla de hoy, vamos a hablar según su estructura. Entendiendo esa estructura de datos, podemos encontrar tres tipos de datos. Los datos estructurados, datos semiestructurados y datos no estructurados. Como se puede ver en la presentación, clasificamos los datos en función del formato que tienen. Los datos estructurados forman parte de SQL. Los datos semiestructurados tienen una estructura ligera, flexible que, básicamente, se utilizan en formatos ampliamente usados como XML o JSON. Y luego, finalmente, tenemos la gran cantidad de datos en Internet, que son los datos no estructurados, que son de tipo texto sin ningún formato. Ahora vamos a entrar en detalle cada uno de ellos. Primero, vamos a hablar de los datos no estructurados. Debemos entender que los datos no estructurados suponen el gran volumen de datos que existe en Internet. La gran mayoría de depósitos de datos de información empresarial o de negocio son datos no estructurados, y en estos datos no existe un modelo predefinido. Hay un gran volumen de información, básicamente, en texto, que no somos capaces de... bueno, no hay una estructura. No conocemos las relaciones semánticas entre los elementos que la componen. A veces, hay la duda, cuando tenemos un documento que conocemos muy bien, tenemos esta idea de: "No pues, yo conozco la estructura de mi documento", pero eso, aunque se conozca, no existe una forma general ni formalizada de extraer aquellas entidades semánticas de ese dato, de ese depositorio, con lo cual, bueno, hace falta la ayuda de un experto. Queremos superar ese nivel a partir de definiciones de metadefiniciones de datos. Como decía antes, hay muchísimos ejemplos. La gran mayoría de datos que existen en Internet son de este tipo. Podemos hablar, por ejemplo, de imágenes, vídeos, imágenes satelitales, datos científicos provenientes de la simulación o de la estación, por ejemplo, de datos meteorológicos, los datos sobre circulación de vehículos en el tránsito. En general, los volcados de documentación empresarial, you sean estadísticas, memorándums, encuestas, correos. Todos esos son datos no estructurados. Y lo que cada vez tiene más importancia son los datos provenientes de las aplicaciones web y las aplicaciones móviles, datos que reflejan las operaciones y los usuarios que han realizado sobre esas aplicaciones. En general, como caso, son los locks que obtenemos de las aplicaciones web. Los datos semiestructurados son un paso más allá en esta estructuración de la información, y suponen, utilizan una cierta información que se establece a partir de categorías y etiquetas. En ese sentido, se utilizan formatos muy flexibles, como JSON o XML, donde el programador, el diseñador del proyecto, puede cambiarlas en cualquier momento, para que estos tengan más riqueza. Y entonces, la definición semántica de los datos va basada en estas pequeñas categorías. Ahora veremos un ejemplo. Estos datos se almacenan en el registro, son fácilmente identificables para el programador, para el desarrollador, y los depositorios, el problema que tienen es que pueden contener ambigüedades. Esta flexibilidad, la penalización que tienen, es que puede existir ambigüedad en los datos. Ese es un ejemplo de datos en un formato JSON, donde vemos que el esquema es flexible, y en cualquier momento, puedo cambiar con estas cuatro categorías, nombre, apellido, identificador y total. Puedo cambiarlas en cualquier momento, cambiar el formato, cambiar los datos, añadir nuevos campos, y hacer que mi aplicación sea más rica, pero no estamos libres de que en alguna aplicación, en un volcado, el número, por ejemplo, que tenga que ver con el total, pues, aparezca una letra. Entonces, eso es un error, y el formato en sí no nos corrige ese error. No quedamos libres de incoherencia. En ese sentido, se plantean los datos estructurados, que pertenecen a un modelo de dos abstractos donde se organizan los elementos, básicamente, en entidades, donde son objetos que tienen propiedades, y las relaciones con las demás entidades. Cada elemento de este conjunto tiene un contenido semántico, tiene una una interpretación semántica en función de su definición y la relación con el resto, y si lo ha realizado alguien, un experto en generación de bases de datos, ha creado un modelo de datos donde se reflejan estas relaciones. Estos modelos de datos estructurados forman parte de bases de datos estructuradas, como puede ser MySQL o mariaDB, y que son ejemplos de sistemas de gestión de bases de datos. Un ejemplo de una estructura de información podría ser esta tabla donde tenemos una serie de pedidos. Tenemos unos nombres de usuario, el apellido, el identificador del pedido y el importe de este pedido, y esto está almacenado en una tabla, de forma que almacenamos estas entidades, y los datos, y los valores que identifican cada una de estas transacciones. Bien. Finalmente, es importante, cuando vayamos a publicar datos masivos o de una cierta cantidad, es importante conocer el proceso de anonimización. Este proceso consiste en la eliminación de las referencias de cualquier identificador personal de un conjunto de datos, lo que se conoce como el PII, información de identificación personal. Debemos intentar que en la publicación de estos datos desaparezca cualquier referencia al individuo, y este proceso se aplica sobre un conjunto de datos con el objetivo de preservar la privacidad de los individuos que forman parte del conjunto. Es necesario aplicar este proceso de anonimización para cuando se hacen públicos elementos que pueden identificar al individuo, como puede ser su nombre, datos sobre su vivienda, o por ejemplo, como puede ser un código postal o una dirección. Los métodos para permitir esa anonimización son varios, y vamos a destacar los tres principales. El primero es la eliminación completa de estos datos, de forma que nuestro depositorio no contenga ninguna referencia a las personas de las cuales estamos obteniendo datos. La segunda es el cifrado. En esta segunda, lo que hacemos es conservar los campos originales de nuestra base de datos, pero creamos un algoritmo de cifrado donde se obtiene una clave cifrada de los datos originales. Este proceso de cifrado es costoso, y también, es tan robusto como la robustez de la clave utilizada. Finalmente, se puede utilizar técnicas de enmascaramiento, donde se conserva la estructura de datos originales, de forma que el procesamiento de los datos se hace como si fuera de la propia fuente original, pero se cambian todos los datos que tienen que ver con los campos sensibles de identificación del usuario. Los tipos se conservan, los valores no. Bien. Es importante conocer que este proceso de anonimización no asegura la protección, puesto que, cualquier conjunto de datos suficientemente extenso añadido a una información contextual de la geografía o del entorno donde se han obtenido, puede derivar a la obtención aproximada de los individuos, con lo cual, es necesario, sobre todo en datos sensibles, dependiendo de la legislación del país donde se esté trabajando, hay ciertos datos, como por ejemplo, los datos de salud, que son del máximo nivel de protección, y debemos aplicar las técnicas de anonimización más complejas posible para evitar, en toda posibilidad, que las personas con esos datos no se publiquen. [MÚSICA] [AUDIO_EN_BLANCO]