Datos semi-estructurados   

Semi-structured data

¿Qué son los datos semi-estructurados?

Los datos se pueden clasificar según su origen, su rango, el tipo de lenguaje con el que queremos trabajar sobre ellos etc. La clasificación más práctica y global que permite trabajar de forma efectiva en el mundo digital es la basada en su estructura. Según esta, hay 3 tipos de datos:  estructurados, semiestructurados y no estructurados.

Datos semi-estructurados no tienen un esquema definido. No encajan en un formato de tablas/filas/columnas, sino que se organizan mediante etiquetas o “tags” que permiten agruparlos y crear jerarquías. También se les conoce como no relacionales o NoSQL.

Este tipo de datos representa alrededor del 5-10% del volumen de datos global. Sin embargo, tiene casos de uso muy relevantes desde el punto de vista comercial, en grandes infraestructuras de datos y aplicaciones web en tiempo real. Algunos servicios muy conocidos basados en este tipo de datos son el sistema de recomendación de Amazon, o los servicios de Linkedin.

Muchos de los casos de uso tienen que ver con el transporte de datos, compartir datos de sensores, intercambio electrónico de datos, plataformas de medios sociales, y bases de datos NoSQL.

Los ejemplos de datos semi-estructurados más conocidos son:

  • Correos electrónicos, donde los metadatos nativos permiten clasificarlos y realizar búsquedas por palabras clave
  • Lenguaje de marcado XML, cuya flexible estructura, basada en etiquetas, permite universalizar la estructura de datos, el almacenamiento y el transporte en la Web.
  • El estándar abierto JSON (JavaScript Object Notation), otro formato de intercambio de datos semi-estructurados que se utiliza mucho en la transmisión de datos entre aplicaciones web y servidores.
  • Las bases de datos NoSQL, que al no separar el esquema de los propios datos, son más flexibles. Permiten almacenar información que no se adapta bien al formato de registro/tabla, como por ejemplo, el texto de longitud variable. También facilitan el intercambio de datos entre distintas bases de datos.