Bienvenidos a SQL Azure

Como seguro que todo ya sabréis, SQL Azure es uno de los componentes que forman parte de la plataforma Windows Azure.

A lo largo de este post intentaré haceros un resumen de los principales aspectos a tener en cuenta de este producto, que considero que os puede venir bien si estáis empezando a conocer esta plataforma.

image

La idea es muy sencilla: si sabes SQL Sever sabes SQL Azure.

Y esto justamente es uno de los aspectos clave. Hasta ahora Microsoft es el único proveedor que ofrece un almacenamiento relacional en la nube, con los consiguientes beneficios que esto genera.

Generalmente la mayoría de las aplicaciones que desarrollamos usan en mayor o menor medida un almacenamiento relacional. Si no tuviéramos este tipo de almacenamiento en la nube y quisiéramos migrar nuestras aplicaciones, nos veríamos obligados a cambiarlas, para posteriormente subirlas a la nube….malo!

Tener que cambiar mi aplicación o mi forma de trabajar para adaptarme la nube, hace que la adopción de la plataforma sea mucho más lenta y sobre todo, mucho más costosa para la empresa “que quiere ir al nube”.

Saber SQL Server te hace que prácticamente sepas SQL Azure….pero ¿Todo lo que hace SQL Server lo hace SQL Azure?

Pues no, ahí está clave para saber si podemos o no usar SQL Azure. Trabajando con SQL Azure, el principal aspecto a tener en cuenta son las limitaciones que SQL Azure tiene.

Conocer las limitaciones de SQL Azure es clave para saber si podríamos usarla o no. Eso sí, que tenga una serie de limitaciones ahora no significa que las vaya tener a futuro.

La plataforma Windows Azure es una plataforma nueva, recordad que la primera versión Release es de este año, y tenemos que tener en cuenta que en los próximos meses irá evolucionando. Por ejemplo, dentro de poco el tamaño máximo de una base de datos pasará de 10Gb a 50Gb o se espera que en breve exista la posibilidad de hacer backups.

Las siguientes características de SQL Server no están soportadas a día de hoy en SQL Azure:

Backup and Restore
Replication
Extended Stored Procedures
Common Language Runtime (CLR) and CLR User-Defined Types
Database Mirroring
Service Broker
Table Partitioning
Typed XML and XML indexing is not supported. The XML data type is supported by SQL Azure.
Change Data Capture
Data Auditing
Data Compression
Extended Events
External Key Management / Extensible Key Management
FILESTREAM Data
Integrated Full-Text Search
Large User-Defined Aggregates (UDAs)
Large User-Defined Types (UDTs)
Performance Data Collection (Data Collector)
Policy-Based Management
Resource Governor
Sparse Columns
Spatial data with GEOGRAPHY and GEOMETRY data types
SQL Server Replication
Transparent Data Encryption

Por lo tanto, ya sabemos que si nuestra aplicación necesita alguna de estas características no podremos usar SQL Azure, salvo que nos busquemos una alternativa.

Por ejemplo, el tema de backup, que estará disponible durante los próximos meses. No tenemos la opción backup pero no significa que podemos buscar otras alternativas, como usar la sincronización con Microsoft Sync Framework.

Es importante tener en cuenta, que esto no es blanco ni negro. SQL Azure nos podrá servir para una serie de aplicaciones y para otras no. Esto es extensible a toda la plataforma. No por el hecho de existir Windows Azure Platform, ahora tenemos que llevar todo  a la nube. Unas cosas nos interesarán y otras no…

 

¿Cómo podemos hacer uso de SQL Azure?

Como administradores, podemos conectarnos a SQL Azure haciendo uso de SQL Server 2008 R2 Management Studio.  Eso sí, olvidaros de interfaz visual a la hora de crear tablas, relaciones y demás. Todo a base de scripts, aunque veremos que hay otras alternativas…

Desde el punto de vista de nuestra aplicación, como regla general, no vamos a tener que cambiar nada, salvo la cadena de conexión.

Nos podemos conectar por ADO.NET, ODBC y desde aplicaciones PHP. No soporta conexiones OLEDB.

Si estamos usando Entity Framework tampoco tenemos por qué preocuparnos, cambiamos la cadena de conexión y punto.

¿Cómo se factura?

Espacio y tráfico. Si creo una base de datos de 10 Gb, estaré pagando por esos 10Gb. Si creo una de 1 Gb estaré pagando por ese Giga. Una base de datos de 10 Gb podría llegarse a contratar por $74.95 al mes.

También se factura por el tráfico, pero por el tráfico que sale y entra de Azure. Si nos conectamos desde una aplicación que también está en la nube, nos se pasa por el tráfico entre la aplicación y SQL Azure, todo está en la nube.

Si nos conectamos desde una aplicación que está fuera de la nube (Management Studio, una aplicación nuestra, Reporting Services etc…) estaremos pagando por el tráfico que generamos. Un select * from table, aparte de poco recomendable, ahora cuesta más 🙂

El coste del tráfico es un aspecto a tener en cuenta, porque a priori podemos hacer que nuestra aplicación corra fuera de la nube y se conecte a SQL Azure….pero tened en cuenta, que el tráfico se paga (aun así en algunos escenarios nos puede interesar) y lógicamente, la latencia de la red!.

Espero que este resumen os haya sido de utilidad…en los próximos post espero poder ir entrando en más detalles y por ejemplo, escribir sobre cómo podemos migrar una base de datos a SQL Server, cómo podemos conectarnos desde nuestra aplicación o cómo podemos hacer uso de Microsoft Sync Framework para sincronizar SQL Azure con otro origen de datos.

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

2 comentarios en “Bienvenidos a SQL Azure”

  1. También habria que tener en cuenta el tema de la protección de datos, que ya es difícil teniendo los datos dentro de Europa, imagínate en la nube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *