Una base de datos semiestructurada almacena datos que no se ajustan a un esquema estrictamente predefinido, pero que mantiene algún marco organizativo.
Base de Datos Semiestructurada
Una base de datos semiestructurada almacena datos que no se ajustan a un esquema previamente definido de manera estricta, pero que mantiene algún marco organizativo (p. ej., etiquetas o pares clave-valor). Ejemplos comunes incluyen bases de datos basadas en JSON o XML. Esta estructura flexible permite que cada registro contenga diferentes conjuntos de campos, mientras que aún admite consultas y validación parcial de datos.
También conocida como: base de datos de esquema flexible, almacén orientado a documentos
Comparaciones
Semiestructurada vs. Estructurada: Las bases de datos estructuradas imponen esquemas rígidos (filas, columnas), mientras que las bases de datos semiestructuradas permiten campos variables con algunos metadatos incrustados.
Semiestructurada vs. No estructurada: Los datos no estructurados (p. ej., texto sin procesar, imágenes) carecen de cualquier organización explícita, mientras que los datos semiestructurados contienen marcadores identificables para elementos o atributos.
Semiestructurada vs. NoSQL: Muchas bases de datos NoSQL (p. ej., documento, gráfico) admiten formatos semiestructurados, combinando esquemas flexibles con capacidades de consulta.
Ventajas
Modelo de datos flexible: Se adapta fácilmente a campos en evolución o irregulares en los registros.
Admite anidamientos complejos: Los datos jerárquicos se pueden expresar dentro de un solo documento.
Evolución del esquema más rápida: Reduce el tiempo de inactividad o la sobrecarga de migración al agregar nuevos atributos.
Desventajas
Menos consistencia impuesta: Carece de restricciones de esquema estrictas, lo que puede llevar a estructuras de datos variadas.
Consultas complejas: Campos profundamente anidados o inconsistentes pueden complicar la lógica de consulta y la indexación.
Ejemplo
Un catálogo de productos almacenado en una base de datos semiestructurada basada en JSON podría tener diferentes atributos para computadoras portátiles, libros o muebles (p. ej., "RAM" para computadoras portátiles, "autor" para libros). Cada registro puede incluir solo los campos relevantes, en lugar de tener columnas vacías o no utilizadas.
