Dada la arquitectura y el diseño de los sistemas NoSQL, especialmente las bases de datos de la familia de documentos como Couchbase que no imponen un esquema en la escritura, el modelado de datos para NoSQL suele ser un desafío al migrar de sistemas relacionales a NoSQL o al construir aplicaciones desde cero usando NoSQL. De hecho, el modelado de datos suele ser un factor crítico de éxito para las implementaciones de Couchbase, y optimizar progresivamente los modelos de datos puede ser un gran impulsor del rendimiento de las aplicaciones dada la naturaleza de rápida evolución de las aplicaciones de big data.
Tradicionalmente, el modelado de datos para sistemas relacionales era la ciencia de identificar los objetos de datos, sus relaciones entre sí y su representación precisa, lo que sentaba las bases para un buen diseño de bases de datos. El modelado para NoSQL, por otro lado, explora patrones de acceso específicos de la aplicación, por ejemplo, “¿cuáles son los tipos de preguntas que a los usuarios les gustaría responder con estos datos?”. Esto a su vez dicta el tipo de consultas que deben admitirse y se centra en la mejor manera de organizar los datos para optimizar el rendimiento. Estas consideraciones nos llevan a cambiar nuestro enfoque de modelado de datos desde las restricciones tradicionales de los RDBMS (esquema al escribir) hacia el modelado de datos para la aplicación específica (esquema al leer).
Otro diferenciador entre los sistemas RDBMS y NoSQL que impacta en los paradigmas de modelado es el concepto de normalización y desnormalización de datos. Si bien los sistemas RDBMS enfatizaban la normalización de datos para comprender relaciones estrictas y cumplir con limitaciones rígidas de almacenamiento en el pasado, los sistemas NoSQL flexibles tienden hacia la desnormalización de datos, ya que los datos se distribuyen en clústeres y la redundancia puede facilitar el escalado de las lecturas de datos. A menudo, el modelo de datos ideal es una combinación de ambos enfoques, según el caso de uso.
Por lo tanto, el modelado de datos preciso sigue siendo una disciplina fundamental para el éxito con las bases de datos NoSQL.
Ahora, profundicemos en el modelado utilizando erwin DM NoSQL. erwin DM NoSQL ofrece tres funcionalidades principales:
Ingeniería directa
El proceso de convertir sus modelos relacionales en modelos JSON compatibles con Couchbase.
Transformación
Capacidad de elegir la forma de transformación deseada (normalizada, desnormalizada, personalizada) para sus modelos.
Ingeniería inversa
Capacidad de importar el esquema de los datos de producción en Couchbase al entorno de erwin.
La siguiente es la guía paso a paso para modelar datos para Couchbase Data Platform utilizando erwin DM NoSQL:
Configuración:
Paso 1:
Solicitud de cuenta Aquí e inicie sesión en erwin DM NoSQL utilizando sus credenciales.

Paso 2:
Importe un modelo Entidad-Relación generado en erwin DM o en cualquier otra herramienta de modelado relacional en formato “XML” utilizando la opción de importación en erwin DM NoSQL.

Paso 3:
Visualiza tus diagramas ER en el entorno de erwin.

Transformación
Paso 1:
Elija transformar los modelos usando una transformación normalizada, desnormalizada o personalizada.

Paso 2:
Transformación normalizada:
La normalización suele ser el proceso de organizar los datos en la base de datos creando tablas separadas y estableciendo relaciones para eliminar la duplicación. Por lo general, se hace referencia a los objetos o entidades en este proceso. Al crear modelos JSON, las tablas referenciadas normalmente serían documentos separados.


b. Transformación desnormalizada:
En este proceso, los objetos de datos suelen estar incrustados. Dado que se incrustan objetos similares en muchos documentos, esta organización presenta redundancia. A menudo se recurre a la desnormalización para mejorar significativamente el rendimiento, ya que no necesitamos uniones para recuperar los datos necesarios. Esto se adopta con frecuencia en los sistemas NoSQL. En esta herramienta, el modelo transformado generado mediante la desnormalización es una combinación de objetos incrustados y referenciados.

En la figura anterior, la orden de compra y el artículo del pedido son objetos incrustados, mientras que la editorial, el nombre de la tienda y la devolución de libro son objetos referenciados.
c. Transformación personalizada:
Erwin DM NoSQL normalmente analiza la organización de los datos utilizando su diagrama E-R y transforma sus modelos en modelos JSON compatibles con Couchbase basándose en ciertas reglas. Sin embargo, dado que usted, como desarrollador o propietario de una aplicación, es quien mejor la conoce, le ofrecemos la capacidad de personalizar sus modelos. Tiene la opción de referenciar ciertos objetos incrustados y le proporcionamos algunas pautas dentro de la herramienta para ayudarle a tomar la decisión correcta.

Nota: Puedes clonar cualquiera de estos modelos y modificarlos agregando o eliminando atributos, propiedades, etc.,
Ingeniería directa
Paso 1:
Descarga el modelo creado en tu sistema local.

Paso 2:
Configurar clústeres de Couchbase en AWS y acceder a la consola web usando el puerto 8091

Paso 3:
Usa una copia segura y copia el archivo descargado desde tu máquina local a tu instancia EC2 de Couchbase.
Sintaxis (OSX): scp -i path to key -r path to directory ec2-user@hostname:~
Ej: scp -i /Users/chaitra.ramarao/Downloads/US_East.pem -r /Users/chaitra.ramarao/Downloads/Cl_De_EMOVIES r9.64_20180329185059 ec2-user@ec2-54-152-108-80.compute-1.amazonaws.com:~

Paso 4:
Inicia sesión en tu instancia de AWS usando ssh
Sintaxis (OSX):ssh -i ruta/al/key.pair ec2-user@ip.remota
Ex: ssh -i /Users/chaitra.ramarao/Downloads/US_East.pem ec2-user@ec2-34-203-230-73.compute-1.amazonaws.com
Paso 5:
Verifica si los archivos se copiaron listándolos usando “ls”
Paso 6:
Navegue al archivo bulkInsert.sh
Ej: Cd /De_movies../scripts/5.x para localizar bulkInsert.sh
Paso 7:
Haz que el archivo bulkInsert sea ejecutable y establece la ruta
Chmod +x bulkInsert.sh
PATH=/opt/couchbase/bin:$PATH
Paso 8:
Ejecutar el script bulkInsert con la siguiente sintaxis
./bulkInsert.sh
Ej : ./bulkInsert.sh localhost 8091 Administrator password sample
Puedes ver los datos de muestra modelados cargados en Couchbase con el nombre del bucket especificado por ti.

El script suele crear modelos con datos basura, y los desarrolladores de la aplicación pueden modificarlo para crear modelos con muestras de datos reales y usarlos para implementarlos en Couchbase utilizando los scripts de implementación proporcionados.

También puede consultar los datos una vez cargados en Couchbase utilizando N1QL (SQL para JSON) y probar la precisión y eficiencia de sus modelos mediante el banco de trabajo de consultas y el planificador de consultas.
Ingeniería inversa
Paso 1:
Establezca la conexión con Couchbase usando el administrador de conexiones como se muestra a continuación:

Paso 2:
Elegir ingeniería inversa en Couchbase

Paso 3:
Importación de esquemas de datos de producción de Couchbase

Paso 4:
Visualizar los modelos de Couchbase sometidos a ingeniería inversa en el entorno de erwin

Continúe ajustando sus modelos periódicamente para garantizar que estén optimizados y ofrezcan el mejor rendimiento.
El modelado de datos con erwin lo ayudará a acelerar su tiempo de comercialización, le proporcionará la interfaz para visualizar su proceso de modelado y mejorará enormemente la precisión de sus modelos. Unos mejores modelos de datos garantizan un mejor rendimiento y un mayor éxito con Couchbase.
Comparta sus comentarios aquí o comuníquese con nosotros en forums.couchbase.com

Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.