Rellenar pavos No bases de datos relacionales

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.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Don Pinto, Director Principal de Producto, Couchbase

Don Pinto es Gerente Principal de Producto en Couchbase y actualmente está enfocado en avanzar las capacidades de Couchbase Server. Es un apasionado de la tecnología de datos, y en el pasado ha escrito varios artículos sobre Couchbase Server, incluyendo blogs técnicos y libros blancos. Antes de unirse a Couchbase, Don pasó varios años en IBM, donde desempeñó el papel de desarrollador de software en el grupo de gestión de la información DB2 y, más recientemente, como director de programa en el equipo de SQL Server en Microsoft. Don tiene un máster en informática y una licenciatura en ingeniería informática por la Universidad de Toronto, Canadá.

1 Comentarios

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.