Compartir a través de


Arquitectura de SQL Azure

SQL Azure expone a través del protocolo TDS (Tabular Data Stream) las bases de datos existentes en la nube. El protocolo TDS es el mismo protocolo que emplea SQL Server, por lo que una aplicación cliente puede conectarse a SQL Azure de la misma manera en que se conecta a un SQL Server.

Este hecho provoca que la gran mayoría de las aplicaciones existentes puede llegar a conectar a SQL Azure sin que este hecho suponga cambiar una sólo línea de código. A la hora de conectar desde las aplicaciones cliente, SQL Azure permite elegir varios tipos de conexión:

  • ADO.NET, incluido Entity Framework.

  • Acceso ODBC nativo.

  • Soporte para PHP.

De hecho, 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.

Aunque la forma de conectarse sea idéntica a la forma de conectarse a un SQL Server, no debe olvidarse la latencia de la red. Desde el punto de vista de rendimiento siempre hay que considerar que la base de datos de SQL Azure se encuentra en un Data Center remoto y que el nivel de eficiencia no puede ser el mismo que podría llegar a conseguirse empleando un SQL Server dentro de la misma red.

Por este motivo, es recomendable elegir correctamente la ubicación del servidor SQL Azure, eligiendo la ubicación más cercana posible a la aplicación para evitar los costes adicionales del consumo de ancho de banda y lograr un mejor rendimiento.

SQL Azure, dentro del mismo Data Center, está diseñado como un sistema de replicas a través de múltiples servidores físicos. Esta arquitectura proporciona un sistema automático de balanceo de carga y recuperación ante errores.

Existen tres instancias de SQL Azure por cada servidor. El sistema de réplicas en un sistema completamente transparente a la aplicación, cuya única finalidad es ofrecer un sistema de escalabilidad y disponibilidad.


Figura 1.- Arquitectura de SQL Azure