Cuando se empieza a aprender sobre bases de datos de documentos, es bueno tener una comprensión de los fundamentos del modelado de datos JSON. Esto te ayudará a navegar por el espacio y los temas más fácilmente teniendo un vocabulario ampliado sobre el tema. La experiencia con una base de datos relacional tradicional también es un buen comienzo. Los conocimientos sobre estructuración de datos, consultas e índices te darán una ventaja. Algunos conceptos se transferirán, especialmente al aprender Couchbase, que utiliza una variante de SQL (SQL++) para realizar consultas. Muchos de los términos que ya conoces de SQL serán aplicables, pero difieren en que se aplican al almacenamiento de datos de documentos clave-valor y documentos anidados en lugar de tablas y filas.
Historia de JSON
Con la popularidad de AJAX a principios de la década de 2000, el término JSON fue acuñado por Douglas Crockford. Los dos primeros enlaces hablan de un periodo anterior a JSON en el que se utilizaba pero no tenía nombre, hasta la época de las Single Page Applications. El segundo enlace es un vídeo del último Silicon Valley Code Camp donde tuve la oportunidad de asistir a la charla de Doug en 2019. Su presentación sobre "La historia de JSON" es una gran manera de comenzar nuestro viaje aprendiendo más sobre el modelado de datos JSON.
Trabajar con JSON
Con una mejor comprensión de su historia y vocabulario, podemos pasar a trabajar realmente con JSON. El enlace MDN a continuación responderá a muchas preguntas sobre la estructura, la obtención de JSON con XMLHttpRequest, y la prueba de tus propias habilidades. Puedes poner a prueba tu comprensión del artículo al final con un divertido desafío. Cuando termines, estarás mucho más preparado para usar JSON.
Con los conceptos básicos de JavaScript Object Notation fuera del camino, estamos preparados para comenzar nuestro viaje en el modelado de documentos.
Herramienta de modelado de datos JSON
En esta categoría, hablaremos primero del modelado de datos JSON en general. En las próximas secciones, hablaremos de estrategias para migrar desde bases de datos relacionales.
A continuación se resumen los aspectos más destacados de cada sección del vídeo anterior, que explica por qué cambiar a NoSQL (en nuestro caso, una base de datos de documentos) puede ser beneficioso. Cubre estrategias de diseño JSON para modelar y acceder a estos datos y discute consejos de migración. Exploremos algunos de los temas de este vídeo.
Por qué NoSQL
Algunas bases de datos, como Couchbase, almacenan sus datos como JSON plano. Esta sección destaca las muchas razones para utilizar una base de datos distribuida de documentos. También aborda el panorama actual de NoSQL y ofrece una breve comprensión de su escalabilidad, flexibilidad, disponibilidad, rendimiento y casos de uso.
Modelado de datos JSON
En esta sección, se ofrece un ejercicio sobre el modelado de datos en JSON y se proporcionan ejemplos de modelado de datos en JSON. Esta sección se completa con propiedades de datos del mundo real, una breve sección sobre el modelado en el mundo relacional a modo de comparación y reglas generales sobre estrategias para modelar tus datos. También se analizan herramientas de modelado de terceros como Hackolade, Erwin, y Idera. Se trata de herramientas orientadas a las bases de datos NoSQL.
Acceso a los datos
Esta parte se sumerge en las estrategias y reglas generales para modelar y acceder a sus datos en una base de datos NoSQL, como la lectura, actualización y eliminación de registros por clave. Se dan recomendaciones para las claves, junto con algunos buenos ejemplos de modelos de datos JSON. Terminamos esta sección con aproximaciones a subdocumentos y subcolecciones, el lenguaje de consulta SQL++ que se encuentra en Couchbase.
Migración de datos
Aquí nos adentramos en el movimiento de datos de una base de datos a otra con herramientas que te ayudarán en el camino. Herramientas como Informatica, Kafka, Talend y Apache Nifi. Couchbase también tiene una herramienta llamada cbimport para ayudar a importar datos a Couchbase.

Antes de invertir en herramientas, manténgalo simple, utilice las herramientas de base de datos para ayudar a exportar, importar y transformar
Migración de datos de RDBMS a NoSQL
Cuando se migran datos de una base de datos relacional, existen muchas restricciones de normalización y requisitos de esquema. Éstos son necesarios cuando se trabaja con tablas o se relacionan otras tablas mediante claves externas. Este tipo de vinculación mediante identificadores únicos también es posible en una base de datos documental. También hay otras opciones, como anidar esos datos, aunque parezcan redundantes. En esta primera categoría de recursos, proporcionamos enlaces a cursos, vídeos y artículos que ayudarán a pasar de bases de datos relacionales a una base de datos de documentos JSON.
Este primer recurso es un vídeo que te explica los conceptos básicos y te ayuda a empezar a pasar de las tablas a los documentos.
Empezamos exportando datos de una base de datos relacional, utilizando un formato CSV, y utilizamos una herramienta llamada cbimport para importar los datos a Couchbase. Luego te enseñaremos cómo transformar y estructurar esos datos en la base de datos de documentos y finalizar nuestros datos usando el lenguaje de consulta SQL++. Con SQL++, podemos mover datos desde un punto de almacenamiento a un cubo de datos final listo para su uso. Este vídeo está repleto de ejemplos de código real que te permitirán seguirlo y probarlo por ti mismo.
Aquí tienes un artículo sobre el mismo tema si prefieres hojear un artículo de blog a ver el vídeo entero.
También puede consultar el siguiente vídeo sobre datos JSON: Modele sus datos de bases de datos relacionales como datos de documentos NoSQLque contiene información adicional y tutoriales. Le ayudará a reflexionar sobre JSON, incluido cómo modelar datos relacionales existentes para documentar datos.
Otro recurso para ayudarte a entender las diferencias entre los datos relacionales y cómo funciona Couchbase viene de un veterano de más de treinta años de la comunidad de bases de datos.
Nuestros blogs son otro gran recurso, así que he seleccionado varios que tratan específicamente sobre el paso de sistemas relacionales a Couchbase. Esta información también es muy aplicable para pasar de cualquier base de datos relacional como SQL Server a una base de datos de documentos JSON como Couchbase.
Migración de MongoDB a Couchbase
La base de datos de documentos que más utilizan nuestros clientes es Mongo. Algunos vienen por la escalabilidad, otros por el lenguaje de consulta. Si necesitas pasar datos de Mongo a Couchbase, ¡estos recursos son para ti!
Algunas entradas de nuestro blog Blog de Couchbase hacen un gran trabajo cubriendo este tema. Los dos primeros enlaces son artículos que son nuevos y contienen información actualizada sobre cómo hacer el cambio de MongoDB a Couchbase.
Próximos pasos y recursos
He aquí algunos recursos finales que pueden despertar su interés en Técnicas de modelado de datos JSON. Dado que el aprendizaje a medida que construyes proyectos del mundo real es fundamental, el siguiente enlace te ayudará a entender cómo abordar el registro, el inicio de sesión y la autenticación en NoSQL.
¿Quieres un tutorial sobre la planificación de una API REST sencilla? El siguiente recurso implementa las ideas discutidas anteriormente utilizando Node y Express JS. Contiene un Repositorio GitHub del código fuente, las colecciones postman y las variables de entorno para facilitar la puesta en marcha del proyecto.
Y no podemos mencionar los dos artículos anteriores sin mencionar el cliente frontend construido explícitamente para la API REST del repositorio anterior usando Angular 11. Además, un recurso que se actualizó con un Repositorio GitHub del código terminado.
Formación de Couchbase sobre modelado de datos
Vamos a presentarle nuestros recursos de modelado de datos Couchbase de Academia Couchbase. Con este curso, te ensuciarás las manos con Couchbase, teniendo en cuenta el modelado de datos y el ajuste de consultas para su uso con el lenguaje de consulta SQL++.
La documentación de Couchbase tiene unas cuantas páginas realmente buenas que tratan sobre el modelado de datos y las relaciones entre entidades en datos de documentos. Los siguientes enlaces formaban parte de las versiones 5x de Couchbase, pero aún contienen información valiosa.
En la versión actual de Couchbase Server, también tenemos una página que evoluciona y se actualiza teniendo en cuenta las versiones más recientes de nuestra base de datos:
Recursos externos de modelado de datos
Couchbase es uno de los mejores lugares en la web para aprender sobre modelado de datos para NoSQL, bases de datos de documentos o almacenes de datos de valor-clave. Pero es bueno aventurarse fuera porque hay muchos más grandes recursos para usted por ahí. Hay un curso maravilloso en Pluralsight que te guía a través de la creación de modelos de datos en JSON y aborda la diferencia entre el modelado de datos relacionales vs documento.

En esta diapositiva del vídeo de Pluralsight, Kishan Iyer habla de una de las muchas tecnologías de bases de datos que cubre en su curso.
En esta diapositiva del vídeo de Pluralsight, Kishan Iyer habla de una de las muchas tecnologías de bases de datos que cubre en su curso.
Pluralsight es un recurso increíble para los desarrolladores de aplicaciones y también tiene muchos cursos relacionados con Couchbase también.
Este artículo del blog Highly Scalable sobre Técnicas de modelado de datos NoSQL es informativo, divertido y está repleto de más recursos externos.
Esperamos que los recursos proporcionados en este artículo te ayuden en tu camino hacia el aprendizaje de las bases de datos de documentos y Couchbase. Hemos intentado construir un recurso de aprendizaje que puedas marcar y volver a visitar. Si crees que hemos omitido algún recurso esencial, coméntalo y menciónalo, ya que siempre buscamos ampliar esta guía y asegurarnos de que todo el mundo se beneficie de tener un único punto de acceso a recursos de modelado de datos JSON.
[...] Puede encontrar el artículo completo y original aquí: https://www.couchbase.com/a-json-data-modeling-guide/ [...]