Empezando
con
Jose Rivera
Consultant
Nagnoi, Inc.
[email protected]
Bases de Datos SQL Azure
• Fácil para provisionar e
implementar
• Alta disponibilidad (HA)
y "fault tolerance "
automaticamente
• Infraestructura automantenida y autoarreglable
• Ninguna necesidad de
administración de
servidor o VM
• Utilidad de Espacio; paga • Se construyen
soluciones de bases de
mientras crezcas
datos "cloud-based " en
• Balance de Carga (Load
un modelo relacional
Balancing) flexible
consistente
• SLAs listos para
• Aprovechar las
negocios
habilidades existentes a
• Permite soluciones
través de herramientas
multi-inquilino
conocidas
• Presencia mundial
Opciones de
Bases de Datos
Valor:
Dedicado
Área de API – 100%
Propio HA/DR/Escalabilidad
Recursos
Valor:
Alta Disponibilidad, FaultTolerance automaticos
Escalabilidad libre de fricción
Auto aprovisionamiento
Compatibilidad Alta
SQL Azure (RDBMS)
Servidor BD Virtual
Gobierno de Recursos @
Base de Datos Lógica (LDB)
Seguridad @ LDB
Compartido
Bajo
Valor:
Control completo Hardware –
Tamaño/Escalabilidad
Compatibilidad 100%
Propio HA/DR/Escalabilidad
En predios (On-premise)
SQL Server u otro s/w en-predios
Gobierno de Recursos @ maquina
Seguridad @ BD Server/SO
Alojado (Hosted)
SQL Server u otro alojado
Gobierno de Recursos @ VM
Seguridad @ Server BD/SO
“Fricción”/Control
Alto
Escenarios para Azure
 Aplicaciones Departamentales
 Aplicaciones simples construidas por individuos o departamentos
 Necesidad de IT para implementación simple y auto-manejable:
“Apoderamiento y Dominio”
 Aplicaciones Web
 Empresas pequeñas o empezando que necesiten la “nube” como IT
 Implementaciones simples, auto-manejables y escalabilidad según
demanda
 Proveedor de Servicios de Internet (ISV)
 Soporte Multi-inquilino para facturación y aislamiento
 Concentrador de Datos (Data Hub)
 Compartir y agregar datos a través de niveles (tiers) y empresas
 Lugar centralizado para datos, alta escalabilidad y sincronización con
fuentes de datos existentes
Topologías de Aplicación (V1)
Acceso de SQL Azure desde MS Datacenter
(Azure compute – ADO.NET)
(En predios – ADO.NET)
Application/
Browser
SOAP/REST
HTTP/S
Acceso de SQL Azure desde fuera de
MS Datacenter
App Code
/ Tools
ADO.NET Data Svcs/REST - EF
HTTP/S
App Code
(ASP.NET)
Windows Azure
T-SQL (TDS)
T-SQL (TDS)
SQL Data
Services
MS
Datacenter
Código Cerca
SQL Data
Services
MS
Datacenter
Código Lejos
Modelo de Provicionamiento de
Servicio
 Cada cuenta tiene cero o mas servidores
Cuenta
 Abarca la plataforma de Azure, provisionado vía un portal
común
 Establece un instrumento de facturación
 Cada servidor tiene una o mas bases de datos
Servidor
 Concepto lógico iguala a un master DB
 Contiene metadata de las bases de datos y su uso
 Contiene: autenticación(SQL), geo-localidad, facturación,
reportes
 Nombres generados basados en DNS

El “Collation” de SQL Azure es SQL_LATIN1_GENERAL_CP1_CI_AS
 Máximo de 150 bases de datos
Base de
Datos
 Cada base de datos tiene objetos estándar de
SQL
 Usuarios, Tablas, Vistas, Índices, etc.
 Consistencia
Arquitectura
 Infraestructura compartida al nivel de base de datos SQL
 Enrutamiento de solicitudes (request routing), seguridad y aislamiento
 Tecnología de Alta Disponibilidad y Escalabilidad
 Replicación y “failover” automáticos
 Infraestructura de medición y facturación
SDS Aprovisionamiento (bases de datos, cuentas, roles, …, Medición y Facturación
Maquina 4
Instancia SQL
User
DB1
SQL BD
User
DB2
User
DB3
User
DB4
User
DB1
Maquina 5
Maquina 6
Instancia SQL
Instancia SQL
SQL BD
User
DB2
User
DB3
User
DB4
User
DB1
SQL BD
User
DB2
User
DB3
User
DB4
Scalability
and Availability:
Failover, Replication,
balancing
Escalabilidad y Disponibilidad:
Fabric,
Failover,Fabric,
Replicación
y Balanceand
deLoad
Carga
Replicas de Base de Datos
Base de Datos unica
Multiples Replicas
!
Replica 1
BD
Replica 2
Replica 3
Replica 4
Primario Unico
SQL Azure
Implementación
DB
Script
SQL Azure
TDS Gateway
SQL Azure
Accesando las bases de datos
Cambia parámetro de
conexión (connection string)
Your
App
SQL Azure
TDS Gateway
Modelo de Programación
 Pequeños conjuntos de datos (Small Data Sets)
 Usa una sola base de datos
 Mismo modelo que SQL Server en los predios
 Grandes conjuntos de datos (Large Data Sets) y/o
rendimiento masivo (Massive Throughput)
 Particionar la data a través de varias bases de datos
 Usar “parallel fan-out queries” para búsqueda de datos
 Código de las aplicaciones debe ser “partition aware” en v1
 Deben estar publicados los “best practices” para escalabilidad
 Post-v1 se trabajara en nivel de abstracción para reducir las
complejidades de particiones
Desarrollo en SQL Azure
Demo
Ejemplos de Compatibilidad de SQL
Soportadas al momento
 Tablas, indexes and vistas *
 Procedimiento almacenado
(Stored Procedures)
 Disparador(Triggers)
 Restricciones(Constraints)
 Variables de tablas,
tablas temporeras de
sesiones (#t)
 Spatial
No soportadas al momento
 Transacciones distribuidas
 Búsquedas (queries)
distribuidas
 CLR
 Service Broker
 DDL and vistas relacionadas al
servidor físico o al catalogo
Para mas información, vean http://msdn.microsoft.com/en-us/library/ee336281(lightweight).aspx
Metas de Compatibilidad




Soporte para patrones comunes de aplicaciones
Administración lógica / basada en pólizas
Patrones que funcionan de SQL Server a SQL Azure
Consideraciones para Multi-inquilinos
 “Throttling” and Balance de Carga (Load Balancing)
 Limites en tamaño de BD, duracion de transacciones, etc
Modelo de Conexion
 Se utilizan librerías de clientes existentes
 ADO.NET, ODBC, PHP
 Librerías de cliente pre-instaladas en roles de Azure
 Soporte para controles ASP.NET
 Clientes se conectan directamente a la base de datos
 No se puede “brincar” a través de las BDs (no USE)
Administración
Lógica vs. Física
 SQL Azure se enfoca en administración lógica
 Creación y manejo de esquemas
 Optimización de búsquedas
 Manejo de seguridad (Logins, Usurios, Roles)
 Servicio maneja el aspecto físico
 Replicación automática con Alta disponibilidad “out of
box”
 Failover transparente en caso de fallo
 Balance de Carga de los datos para asegurar SLA
El rol de DBA se enfatiza mas en manejo lógico
Implementación
 Soporte para opciones de implementación básicas
 Los SQL scripts funcionan (pero no attach database)
 Geo-localización de Windows Azure y de bases de datos SQL
Azure (Datacenters)
 Soporte para aplicaciones y modelo de multi-servidores
 Implementación de Nube (Cloud) o en los predios es un tema de
selección al momento
 Visibilidad de los datos tanto en los predios como en la nube
Modelo de Seguridad
 Utiliza el modelo de seguridad regular de SQL
 Autentica logins, enlace a usuarios y roles
 Autentica usuarios y roles a objetos de SQL
 Limitado a logins de SQL
 Username + password
 Se contempla futuros protocolos de autenticación: AD
Federation, WLID, etc
Modelo de seguridad es 100% compatible con SQL locales
Ediciones de las Bases de Datos
 Dos SQL Azure Database SKUs: Web & Business
 Web Edition: 1 GB @ $9.99/mes | 5 GB @ $49.95/mes
 Business Edition: Hasta 50 GB @ $99.99/10 GB/mes
10 GB @ $99.99 | 20 GB @ $199.98 | 30 GB @ $299.97 | 40 GB @ $399.96 | 50 GB @ $499.95
 DBA especifica la edicion
 Web: EDITION = Web
 Business: EDITION = Business
 DBA especifica MAXSIZE




Web: MAXSIZE = 1GB| 5GB
Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB
El limite de 50 es establecido y no se permitirá crecimiento
Sera cargado por el crecimiento actual (peak) (in cualquier día )
CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB);
CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB);
CREATE DATABASE bar1 (EDITION='web', MAXSIZE=5GB);
CREATE DATABASE bar2 (EDITION='web'); -- Defaults a 1GB
Ediciones de las Bases de Datos
 Transferencia de datos
 América del Norte & regiones de Europa
 $0.10 per GB in
 $0.15 per GB out
 Región Asia Pacifico
 $0.30 per GB in
 $0.45 per GB out
Transferencias de datos de entrada (Inbound) durante horas no
pico (off-peak) hasta octubre 31, 2010 son sin cargos. Precios
revierten a las tasas de cargos de entrada luego de octubre 31,
2010.
Puntos Claves
 Parte integrada de la Plataforma de Datos SQL
 Aprovechar los conocimientos y herramientas existentes de SQL
Server
 SQL Azure es la plataforma de datos de Windows Azure
Quieren saber mas?
 Windows Azure Platform
http://www.azure.com/
 Windows Azure Platform Training Kit
http://www.microsoft.com/downloads/details.aspx?FamilyID=413E
88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en
 MSDN Development Center
http://msdn.microsoft.com/en-us/sqlserver/dataservices
 Team Blog
http://blogs.msdn.com/ssds
 Joe Rivera’s Techno Ramblings
http://joetechramblings.wordpress.com
Descargar

Empezando con SQL Azure