Servidor Couchbase

Guía para sincronizar datos entre Couchbase y bases de datos relacionales con GlueSync

Introducción

¿Está modernizando su proceso de desarrollo? ¿Está siguiendo un enfoque de desarrollo rápido para ofrecer a sus clientes capacidades de mayor calidad y con mayor frecuencia? Parte de ese proceso suele requerir que trabajemos con varias bases de datos durante un periodo de transición en el que necesitamos disponer de ambas bases de datos. Necesitamos una forma de sincronizar los datos entre las bases de datos, cuanto más fluida, mejor. Usando Couchbase con GlueSync se ajusta a ese propósito. 


GlueSync te permite replicar datos desde y hacia RDBMS (Microsoft SQL Server y Oracle) en tiempo real con Couchbase.


Usaremos Docker en este post mientras seguimos los pasos para instalar y configurar Couchbase, Microsoft SQL Server y GlueSync, demostrando la sincronización de datos entre ambos.

Antes de empezar

Docker

En primer lugar, este tutorial utiliza Docker y si no tienes Docker, puedes encontrar más información aquí https://www.docker.com/. Necesitará instalar Docker para completar los pasos que se indican a continuación.

GlueSync

A continuación, GlueSync requiere una licencia. Para completar este tutorial, necesitarás una licencia del equipo de GlueSync. Puedes ir a https://gluesync.com/plans/ y ver más información sobre sus planes y https://gluesync.com/contact-sales/ para ponerse en contacto con el equipo de GlueSync.

Pasos de alto nivel

  1. Ejecutar y configurar Couchbase y MSSQL
  2. Crear el archivo de configuración para GlueSync
  3. Configurar y ejecutar GlueSync para Couchbase a MSSQL
  4. Ver la magia

Ejecutar Couchbase y MSSQL

Couchbase

Usaremos Couchbase 6.6.3 para este tutorial. El siguiente comando Docker pondrá Couchbase en marcha, exponiendo los puertos que necesitamos.

MSSQL

Para el comando MSSQL Docker run, observa que estamos incluyendo la contraseña SA. Actualízala y anótala, la usaremos más adelante.

Verificar contenedores

Ahora deberías tener dos contenedores ejecutándose, Couchbase y MSSQL. Iniciaremos el contenedor GlueSync después de configurarlos.

 

Configurar Couchbase con GlueSync y MSSQL

Empezaremos con Couchbase y haremos una instalación básica.

Configurar un nuevo clúster

Ejecutando los comandos Docker anteriores habrás iniciado Couchbase y expuesto los puertos para que puedas abrir la interfaz de usuario de Couchbase en http://localhost:8091/ui/index.html.

Elegiremos Configurar un nuevo clúster y configurar un clúster de un nodo (no se recomienda para la producción, pero funciona muy bien para dev y hacer un tutorial). 

Introduzca la información del nuevo clúster y haga clic en Siguiente Aceptar condiciones. Anota tu contraseña, la necesitaremos más adelante. Estamos utilizando ¡RandomCBPass2! para esta instancia.

Si acepta los términos y condiciones, marque esa opción y haga clic en Terminar con valores por defecto.

NOTA GlueSync trabaja con Couchbase usando un par de tecnologías de Couchbase, Sync Gateway y el servicio Eventing. En este tutorial utilizaremos la opción Eventing. La función Eventing se instalará con el Terminar con valores por defecto selección a continuación. 


Couchbase ofrece una única instalación donde puedes habilitar todos los servicios o escoger y personalizar según las necesidades de tu proyecto. Este tutorial instalará todos los servicios para mayor comodidad. Más información sobre los servicios Couchbase y el escalado multidimensional.  


Se le redirigirá al panel de control. En este tutorial utilizaremos los datos del cubo de muestra. Para instalar los datos, haga clic en Cubos de muestra.

Si, por alguna razón, usted no ve el Cubo de muestra en el salpicadero, vaya a Ajustes del menú de la izquierda, mire cerca de la parte superior derecha de la interfaz de usuario y verá un elemento de menú para Cubos de muestracomo se muestra a continuación. 

Compruebe la muestra de cerveza y haga clic en Cargar datos de muestra.

Espere unos minutos a que se cargue y haga clic en Cubos en la navegación de la izquierda.

 Deberías ver el cubo de muestras de cerveza que acabamos de cargar.

Vamos a ver los documentos. Haga clic en el botón Documentos a la derecha, junto a Estadísticas.

Vamos a sincronizar documentos de tipo cerveza. Puedes poner un filtro (type="beer") en el cuadro N1QL WHERE y hacer clic en Recuperar documentos para obtener esos documentos; así será más fácil verlos y probarlos.

 

Crear usuario Couchbase

Crearemos un usuario para que lo use la aplicación GlueSync. Esto es para propósitos de tutorial y debes seguir tus prácticas de seguridad cuando administres tus usuarios en conjunto con los requerimientos de Couchbase y GlueSync.

Ir a la Seguridad de la izquierda y haga clic en AÑADIR USUARIO arriba a la derecha.

Rellene la información de usuario, como se muestra a continuación. Estamos utilizando el nombre de usuario de cb-usuario y Contraseña ¡RandomCBPass2!Guarde esta información para más tarde. Asegúrese de comprobar Administración completa debajo de las funciones. Una vez rellenado, haga clic en el botón Añadir usuario botón.

Debería ver el usuario que acabamos de crear.

 

Añadir un cubo de metadatos GlueSync

GlueSync utiliza el servicio Eventing de Couchbase. Eventing requiere un bucket de metadatos, y vamos a crear uno ahora. Más información en GlueSync y el cubo de metadatos.

Ir a Cubos en el menú de la izquierda y haga clic en AÑADIR CUBO arriba a la derecha.

Introduzca el nombre de los metadatos y haga clic en Añadir cubo. Utilizaremos los valores predeterminados para las demás opciones.

Ahora debería ver dos cubos.

 

MSSQL

Utilizaremos SQL Server Management Studio para configurar MSSQL, que se instaló en el paso anterior. Si necesita instalar el estudio de gestión, puede Encuéntrelo aquí. 

Inicia sesión con las credenciales pasadas al comando Docker del paso anterior, en este caso, Login: sa y Contraseña: ¡RandomMSSQLPass2!.

 

Crear nueva base de datos

Crearemos una nueva base de datos donde se cargarán los datos de Couchbase.

En este caso, como soy muy creativo, utilizaré cby seleccione Ok.

 

Crear inicio de sesión

A continuación, cree un inicio de sesión MSSQL. Haga clic con el botón derecho en la carpeta Login y seleccione Nuevo inicio de sesión....

El nombre de usuario que utilizamos es mssql-user y Contraseña es ¡RandomMSSQLUserPass2!.

Establezca la base de datos por defecto en cbla base de datos creada anteriormente.

Debes seguir tus normas de seguridad al crear usuarios. Las instrucciones de este artículo son solo a modo de tutorial y algunas opciones que elijo son por simplicidad.

Ir a Asignación de usuarios, a la izquierda bajo Seleccione una páginay seleccione cb en Usuarios asignados a este inicio de sesión y db_propietario bajo el Pertenencia a una función de la base de datos.

Ahora que tenemos esa configuración, verifique que puede iniciar sesión con el usuario. Salga de sa y vuelva a iniciar sesión con el nuevo usuario.

Crear tabla

Vamos a crear una tabla para que los datos se sincronicen, desde Couchbase. Vamos a la tabla Bases de datosentonces cba continuación, abra un Nueva consulta ventana. Los campos de esta tabla coinciden con los atributos del documento Couchbase beer-samples. El SQL para crear la tabla es el siguiente.

Ejecute la sentencia create table. 

Configurar y ejecutar GlueSync para Couchbase a MSSQL

GlueSync tiene dos componentes, uno para Couchbase a MSSQL, y otro para MSSQL a Couchbase. Esto configurará la aplicación para sincronizar datos de Couchbase a MSSQL. La configuración en la otra dirección es muy similar.   

Crear carpeta de configuración

Crea una carpeta para el archivo de configuración de GlueSync. Lo compartiremos con el contenedor Docker al iniciarlo.

 

Obtener direcciones IP de red Docker para Couchbase y MSSQL

Necesitamos la información de red Docker para los contenedores Couchbase y MSSQL para configurar GlueSync.

Obtener los ID de los contenedores.

Ahora, obtén las direcciones IP de los contenedores usando esos IDs usando el comando Docker Inspect en Couchbase.

Ejecute el comando Docker Inspect en MSSQL.

Las direcciones IP son:

  • Couchbase - 172.17.0.2
  • MSSQL - 172.17.0.3

NOTA: Si detienes y reinicias los contenedores, la dirección IP puede cambiar y tendrás que verificar que la configuración sigue siendo correcta.

Crear el archivo de configuración de GlueSync

Actualice la información a continuación con su información específica y guárdelo en el archivo config.json en la carpeta que ha creado anteriormente, es decir, c:³a\gluesync\config\config.json

Obtener credenciales GlueSync para extraer la imagen GlueSync de Docker

Consulte la sección Antes de empezar para obtener información sobre la licencia de GlueSync para el registro de Docker y la descarga del producto. 

Una vez que tengas esa información, sigue los siguientes pasos para instalar GlueSync.

Dado que es posible que ya tenga credenciales almacenadas, es posible que desee cerrar la sesión. Si te encuentras con problemas de credenciales, esta puede ser la razón.

Acceda al registro - puede que sea un registro diferente al que utiliza habitualmente, así que compruebe dos veces ese valor.

 

Tira de la imagen.

Es posible que desee cerrar la sesión de nuevo (me he tropezado cuando no cerrar la sesión y obtener errores la próxima vez que ejecute un comando).

 

Iniciar el contenedor/aplicación GlueSync

Actualice la ruta del archivo de configuración en el comando Docker siguiente para que coincida con la ruta de su ordenador.

Deberías tener tres contenedores ejecutándose en Docker.

Si no se está ejecutando, comprueba si hay mensajes en los registros del contenedor. Yo he puesto sin querer el archivo de configuración en la carpeta equivocada y GlueSync no arrancó; los registros me permitieron saber lo que estaba pasando.

Ver la magia

Ve a MSSQL y consulta la tabla, deberías ver los datos del bucket de Couchbase en la tabla que hemos creado. Una vez que GlueSync se inició, sincronizó los datos de Couchbase a MSSQL.

Para jugar con ello, puedes modificar los datos y ver los cambios sincronizados en las bases de datos. Ve a los documentos de las muestras de cerveza y haz un cambio. Aquí, he actualizado dos documentos. Puedes ver el registro de salida de Docker debajo de la interfaz de usuario de Couchbase. GlueSync detectó los dos cambios.

Cambiando a MSSQL, también puedo ver las actualizaciones en MSSQL.

 

Conclusión

A menudo tenemos que trabajar con múltiples bases de datos, particularmente cuando estamos haciendo una modernización. Podemos tener un lanzamiento por fases o necesitar obtener datos existentes de una base de datos relacional antigua a Couchbase. Esto podría implicar código personalizado y pruebas o considerar un producto como GlueSync que hace el proceso más fluido. 

Pedido GlueSync para más información sobre sus productos y capacidades.

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

Autor

Publicado por David Elliott, Ingeniero de soluciones

Ingeniero de soluciones en Couchbase, aprendiz de todo, maestro de algo.

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.