Acción de Gracias y el pavo van de la mano. Y mientras que rellenar un pavo puede ser bastante divertido (con magdalenas - ver más abajo), rellenar un documento rico en JSON en una base de datos relacional con filas y columnas no lo es.
En los últimos dos años, cuando JSON se ha convertido en un formato de datos muy popular entre los desarrolladores, muchos proveedores de bases de datos basadas en SQL se han subido al carro de JSON ofreciendo soporte para JSON. Sin embargo, estos sistemas no ofrecen la misma superficie de programación intuitiva que los almacenes de documentos JSON: no soportan JSON de forma nativa, sino que ofrecen extensiones JSON sobre una tecnología relacional que ya es difícil de escalar.
¿Por qué no funciona JSON en una base de datos relacional?
Fundamentalmente, la respuesta está en el modelo de datos y la arquitectura.
En una base de datos relacional Cuando insertas un registro, estás insertando un conjunto de campos bien definidos que tienen ciertos tipos, y está rigurosamente definido en un esquema de base de datos. Cuando JSON se construye sobre una tecnología relacional, se produce un desajuste de impedancias que implica definir de antemano que una columna tiene un tipo de datos JSON o que el documento JSON debe dividirse en varias tablas.
Con una base de datos NoSQL como Couchbase que soporta JSON de forma nativa, el documento JSON es autocontenido y libre de esquemas. El formato del documento JSON es flexible y fácil de usar. Los desarrolladores de aplicaciones pueden empezar a trabajar rápidamente con los datos, mientras que la base de datos se adapta fácilmente a los cambios en la estructura de datos. Los documentos JSON pueden almacenar datos completos que pueden ser dispersos, jerárquicos o valores anidados en profundidad como arrays. Los valores JSON también son de tipado dinámicosin un tipo de datos fijo para los atributos de los distintos documentos.
Documentos JSON autónomos facilita la fragmentación de datos en un clúster. El documento JSON no está confinado dentro de una columna en una tabla relacional, sino que se almacena naturalmente tal cual y puede ser indexado por la base de datos. Con Couchbase, tus documentos JSON se separan automáticamente y se distribuyen uniformemente entre varios servidores. Hay múltiples copias de un documento dentro del clúster que aumenta la fiabilidad: Si un nodo se cae, la base de datos sigue funcionando sin pérdida de datos.
Sin esquema significa que su aplicación puede cambiar sin que se produzcan cambios en la base de datos. No es necesario vincular el esquema durante la operación de inserción. Sin embargo, si más tarde cambias de opinión sobre la captura de otros atributos de datos, no tienes que actualizar un esquema y volver a normalizar todas las cosas como en una base de datos relacional. Puedes seguir introduciendo datos en el backend sin necesidad de modificar el esquema de la base de datos.
Couchbase soporta indexación y consulta a través de tus datos JSON. Esto significa que puedes acceder a tus datos de forma clave-valor, a través de vistas o usando N1QLN1QL es un lenguaje tipo SQL para consultar tus datos JSON en Couchbase. N1QL presenta abstracciones fáciles y familiares para desarrollar rápidamente aplicaciones Couchbase escalables. Permite uniones, expresiones de filtro, expresiones agregadas y muchas otras características para construir una aplicación rica.
Conclusión
Lo que todo esto significa es que si trabajas en el mundo de las aplicaciones empresariales, ahora es el momento de empezar a familiarizarte con una opción alternativa de almacenamiento de datos como NoSQL en lugar de meter JSON en una base de datos relacional.
Así que, si estás construyendo una nueva app que ya está generando documentos JSON o si los datos son demasiado complejos para modelarlos en una base de datos relacional, puede que quieras considerar Couchbase para almacenar tus datos. Por ejemplo, en una tienda operativa en la que se recogen datos de usuarios, sistemas o redes sociales, una base de datos NoSQL como Couchbase es una buena opción.
muy interesante