La sincronización de bases de datos en nube es
el mecanismo de mantener la misma versión de datos en múltiples dispositivos a
través de un servidor alojado en internet.
La sincronización en la nube consiste en un grupo de
servidores alojados en internet encargados de atender las peticiones en
cualquier momento. Se puede tener acceso a su información o servicio, mediante
una conexión a internet desde cualquier dispositivo móvil o fijo ubicado en
cualquier lugar. Sirven a sus usuarios desde varios proveedores de alojamiento
repartidos frecuentemente por todo el mundo. Esta medida reduce los costes,
garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables
a los hackers, a los gobiernos locales y a sus redadas policiales.
Ventajas:
- Integración con facilidad y rapidez.
- Prestación de servicios a nivel mundial.
- Actualizaciones automáticas.
- Reducción de equipos.
- Comodidad y Accesibilidad inmediata a los datos.
Desventajas:
- La disponibilidad de las aplicaciones está ligada a la disponibilidad de acceso a Internet.
- Los datos "sensibles" de la empresa no residen en sus instalaciones.
- La confiabilidad de los servicios depende de la "salud" tecnológica y financiera de los proveedores de servicios en nube.
- Escalabilidad a largo plazo. A medida que más usuarios empiecen a compartir la infraestructura de la nube, la sobrecarga en los servidores aumentará, si no se posee un esquema de crecimiento óptimo puede llevar a degradaciones en el servicio.
¿Qué es Windows Azure?
Windows Azure (anteriormente Azure Services Platform) es una
plataforma ofrecida como servicio y alojada en los Data Centers de Microsoft.
Una ventaja añadida es que los desarrolladores y el
personal de IT no necesita instalar, actualizar y gestionar la infraestructura
de bases de datos. La alta disponibilidad, aspecto siempre complejo, es
gestionado de manera transparente.
La gran ventaja de utilizar SQL Azure frente a otros
sistemas de almacenamiento en la nube es que todos los conocimientos sobre
bases de datos relacionales y el lenguaje de consulta SQL siguen siendo
válidos. No es necesario adaptar los conocimientos a nuevos paradigmas de
almacenamiento, como pasa con otros sistemas de almacenamiento en la nube no
basados en bases de datos relacionales ni SQL. “Si sabes utilizar SQL Server,
todos tus conocimientos te valen para SQL Azure”.
Es cierto que hay
ciertas características de SQL Server que SQL Azure no soporta, pero si soporta
todas las más usadas:
- · Tablas, tablas temporales, vistas, índices, roles, procedimientos almacenados y funciones.
- · Consultas complejas y ‘joins’ entre múltiples tablas.
- · Insert, update y delete.
- · Restricciones
- · Transacciones
Entre las
caracteristicas no soportadas cabe destacar:
- · Transacciones distribuidas
- · El broker de mensajes de SQL Server
- · Consultas a servidores remotos
- · Acceso desde tecnologías antiguas, ya obsoletas, en concreto OleDb, etc.
Sincronización con Windows Azure
Con la aparición de SQL Azure, se abre todo un mundo
de posibilidades para el uso de bases de datos en la nube; no solo para
albergar aplicaciones sin necesidad de infraestructura y en régimen de pago por
uso, sino también para mantener versiones de bases de datos SQL Server
sincronizadas en la nube, a modo de herramienta de continuidad de negocio, que
permita mantener los datos sincronizados y en una ubicación física diferente a
la empresarial. Asimismo, aquellas aplicaciones que cuenten con usuarios
móviles, o que necesiten proporcionar parte de la información a proveedores o
clientes a través de Internet, son buenas candidatas para sincronizar con los
servidores de SQL Server on-premise (locales).
Las
bases para la sincronización: SQL Azure Data Sync
Microsoft Data Sync es el marco de trabajo que nos
proporciona la infraestructura necesaria para realizar este tipo de
sincronizaciones, permitiéndonos centrarnos solo en la parte más relacionada
con el negocio y abstrayendo la parte más "de detalle" del proceso.
Es un servicio de
sincronización de datos en la nube basada en las tecnologías de Microsoft Sync
Framework. SQL Azure Data Sync permite crear y programar sincronizaciones periódicas entre
SQL Azure y SQL Server (local) u otras bases de datos de SQL Azure. Proporciona
sincronización bidireccional de datos y las capacidades de gestión de datos
permite que los datos que se pueden compartir fácilmente a través de bases de
datos SQL Azure en múltiples centros de datos.
Requisitos para el uso de SQL Azure Data Sync
Los requisitos
previos para el uso de SQL Azure Data Sync son:
• Tener una cuenta de Windows Live ID. Si
no se tiene, una cuenta de Windows Live
• ID ir a la página de Windows Live y
registrarse.
• Tener una cuenta de Windows Azure activa.
Si no tiene una cuenta de Windows Azure ir a la página de inicio
de Windows Azure y regístrate o aplicar a la evaluación gratuita de 90
días.
• Tener una suscripción activa de base de
datos de Windows Azure SQL Database.
Las bases de datos
On-premises deben ser SQL Server 2005 Service Pack 3 o posterior.
Desarrollo
El escenario planteado consiste la
replicación de una base de datos local de SQL Server, con otra almacenada en la
nube, para fines demostrativos solamente replicamos una tabla muy sencilla,
cuya estructura deberá ser la misma en la base de datos Azure. Esto puede ser
escalado y dependerá de que tablas o campos queramos mantener sincronizados.
Instalar el Client Agent
Para lograr la sincronización de Bases de Datos de SQL Server con la de SQL Azure se debe instalar el Agent Client., el cual es el encargado de gestionar todo lo relacionado a la sincronización de la base de datos local.
Instale el software requerido
•
.NET Framework 4.0
•
Microsoft SQL Server 2008 R2 SP1 System CLR Types (x86)
•
Microsoft SQL Server 2008 R2 SP1 Shared Management Objects (x86)
Una vez instalado el software requerido procedemos a la Instalación de Microsoft SQL Data Sync Agent Preview como se muestra en las siguientes imágenes:
Una vez instalado el software requerido procedemos a la Instalación de Microsoft SQL Data Sync Agent Preview como se muestra en las siguientes imágenes:
Introducir un nombre de usuario y una contraseña:
Elegir el directorio donde se va a instalar. A
continuación solo dar click en siguiente hasta finalizar.
Procedimiento para la Sincronización en Windows Azure con Data Sync
Entrar a la Base de Datos usando la
autenticación de Windows
En
este documento se hará referencia a una Base de Datos llamada “uesocc”, con una
tabla llamada “dbo_alumnos” la cual ya contiene algunos datos agregados
Dirigirse al sitio web de Windows Azure cuya dirección es www.windowsazure.com/es-es/ dentro del sitio de Azure dar clic en la opción de Portal
Iniciar
sesión con nuestra cuenta de correo electrónico y la contraseña.
Aparecerá el portal de Windows Azure con todos
sus servicios.
En el panel izquierdo damos clic en Bases de
Datos SQL para crear una nueva base de datos
Ahora creamos un Servidor dando clic en la
opción SERVIDORES
Dar clic en la opción Crear un servidor de
Bases de Datos SQL
Ingresamos el nombre del servidor, la
contraseña de acceso al mismo y la región que este mas cerca a nuestra zona. La
contraseña debe contener letras mayúsculas, minúsculas y números. Después de
llenar los campos damos clic en el cheque o Completado.
Una vez creado el servidor aparece en el panel
inicial, ahora vamos a crear la base de datos dando clic en BASE DE DATOS
Dar clic en Crear una Base de Datos SQL
Se coloca el nombre de la Base de Datos, se
define que es una edición web, se asigna el tamaño de capacidad de
almacenamiento, se define el tipo de lenguaje que se utilizara y por último se
le indica que pertenecerá al servidor que recién acabamos de crear. Luego
dar clic en Completado
Para administrar la Base de datos damos clic en Administrar
La primera vez que se accesa aparece un mensaje que pedirá confirmar las reglas del firewall para la administración de la base de datos
Espera un momento
mientras se carga el portal de administración. Iniciar sesión con el nombre de
la Base de Datos, el nombre de Usuario y Contraseña del servidor, luego dar
clic en Iniciar Sesión
Una vez cargado el modulo de administración dar
clic en Diseñar
Hay dos
formas de crear una tabla:
PRIMERA - Mediante una nueva consulta sql.
1.- Dar clic en la opción Nueva que se encuentra en parte superior.
2.- En el apartado se introduce el código para crear una tabla la cual tiene que ser exactamente igual a la creada en la Base de Datos del Servidor local.
3.- Dar clic en Ejecutar y aparecerá un mensaje que nos indica que la tabla se ha creado con éxito.
4.- Volvemos al panel de Diseñar y damos clic en Actualizar
5.- Aparecerá la tabla con todos sus campos creados.
PRIMERA - Mediante una nueva consulta sql.
1.- Dar clic en la opción Nueva que se encuentra en parte superior.
2.- En el apartado se introduce el código para crear una tabla la cual tiene que ser exactamente igual a la creada en la Base de Datos del Servidor local.
3.- Dar clic en Ejecutar y aparecerá un mensaje que nos indica que la tabla se ha creado con éxito.
4.- Volvemos al panel de Diseñar y damos clic en Actualizar
5.- Aparecerá la tabla con todos sus campos creados.
SEGUNDA - Con el
diseñador.
1.- Dar clic en
Nueva Tabla
2.- Comenzar a
llenar los campos con la estructura que tendrá la tabla con nombre de la tabla,
nombre de las columnas, tipo de datos y longitud.
3.- Clic en Guardar y aparecerá la nueva tabla
creada
Lo que sigue es crear el Agente de
Sincronización. Dirigirse a la parte inferior del panel y dar clic en la opción
Agente de Sincronización, luego elegir Nuevo Agente de Sincronización.
Agregar un nombre al Nuevo Agente de Sincronización y una Contraseña, luego dar clic en Aplicar
Lo que sigue es
crear una clave de identificación con la cual se podrá tener acceso a la Base
de Datos que se encuentra en Azure.
Dar clic en el
botón Generar y luego en la opción Copiar. Posteriormente
clic en Aplicar.
En el equipo local ejecutar Microsoft SQL Data Sync Agent Preview y dar clic en Submit Agent Key y
pegar la contraseña generada con el Agente de Sincronizacion
Para comprobar la
conexión se hace un ping de servicio haciendo clic en Ping Sync Service, si
todo esta bien aparecerá un mensaje indicando el resultado positivo de
conexión.
A continuación se hace el registro del servidor
y de la Base de Datos que vamos a sincronizar dando clic en Register.
Seleccionar la autenticación de Windows, ingresar el nombre del servidor y el
nombre de la Base de Datos, luego dar clic en Test Conection para verificar que
todo este bien de ser asi aparecerá un mensaje corroborándolo
Lo siguiente es crear un grupo de Sincronizacion,
dicho grupo contendrá las bases de datos que participaran en la sincronización.
En el panel principal de Windows Azure dar clic en Agente de Sincronización
luego elegir la opción Nuevo Grupo de Sincronización
Agregar un nombre al nuevo Grupo de Sincronización
y seleccionar la región, luego clic en la flecha siguiente
Seleccionar la ubicación de la Base de Datos
Central, introducir el nombre de usuario y contraseña de la misma. Dar clic en
la flecha siguiente.
Seleccionar la Base de Datos que se encuentra en
el servidor local, los otros campos quedan vacios. Dar clic en el botón Siguiente.
Lo que sigue es crear
las reglas de sincronización. Seleccionar el grupo creado y luego dar clic en
REGLAS DE SINCRONIZACION
En el panel que aparece dar clic en DEFINIR
REGLAS DE SINCRONIZACION, aparecerá un asistente para crear la regla.
Seleccionar el nombre del Servidor, los campos y la tabla que se quiere
sincronizar para finalizar dar clic en Guardar.
Una vez creada la regla, ir a la opción CONFIGURAR
ahí se hará lo siguiente:
1.- Activar el grupo de Sincronización.
2.- Definir cada cuanto se estarán actualizando los datos.
3.- Guardar la configuración
1.- Activar el grupo de Sincronización.
2.- Definir cada cuanto se estarán actualizando los datos.
3.- Guardar la configuración
Con esto ya tenemos
listo todo el escenario, ahora queda por parte del usuario hacer las pruebas
respectivas para comprobar la funcionalidad con esta herramienta. Para una
ayuda audiovisual puede ver el video donde se encuentran los mismos pasos con
mayor detalle, pueden verlo en este video:
Referencias
- http://www.estoyenlanube.com/microsoft-sync-framework-y-sql-azure/
- http://msdn.microsoft.com/en-us/library/hh456371.aspx
- http://msdn.microsoft.com/en-us/library/jj823137.aspxwww.windowsazure.com/en-us/manage/services/sql-databases/getting-started-w-sql-data-sync/
- http://jonathanvanderoost.com/2013/02/01/how-to-use-windows-azure-sql-data-sync-new-portal/
- geeks.ms/blogs/johnbulla/archive/2012/10/12/sql-azure-data-sync-sincronizaci-243-n-de-datos-entre-bases-de-datos-sql-server-on-premise-y-base-de-datos-de-windows-azure-sql-database.aspx
2 comentarios:
gracias por compartir, tengo un problema que no encuentro la opcion de administrar la base de datos desde azure. me podrias ayudar a la fecha de hoy azure se ve diferente a los pantallazos que tienes. gracias
Buenas tardes. Solo en Azure se pueden sincronizar Bases de Datos SQL en Nube?
Es que yo tengo un servidor en la nube con 1&1, y quiero replicar ahi una BD de SQL que tengo en un servidor de mi oficina, pero al llegar el paso donde tengo que crear la suscripcion y conectarme a la BD en el servidor en la nube, no lo permite, a pesar de que si yo me conecto con el Managment a ese servidor de manera remota no tengo problema.
Gracias y saludos
Publicar un comentario