La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capa de datos elastica con Azure SQL DB Warner SQLTurbo.com Pythian.com SQL MCM / Data Platform MVP.

Presentaciones similares


Presentación del tema: "Capa de datos elastica con Azure SQL DB Warner SQLTurbo.com Pythian.com SQL MCM / Data Platform MVP."— Transcripción de la presentación:

1 Capa de datos elastica con Azure SQL DB Warner Chaves warner@sqlturbo.com @warchav SQLTurbo.com Pythian.com SQL MCM / Data Platform MVP

2 Organiza http://tinyurl.com/ComunidadWindows

3 Patrocinadores del SQL Saturday Platinum Sponsor Diamond Sponsor Bronze Sponsor

4 Bio DBA de SQL Server por 10 años. L3 DBA en HP en Costa Rica, actualmente consultor en Pythian en Ontario, Canada. SQL Server MCM y MVP. Twitter: @warchav Email: warner@sqlturbo.comwarner@sqlturbo.com Blog: SQLTurbo.com Compañia: Pythian.com

5 Agenda  Objetivo: hacer un tour de las capacidades elasticas de Azure SQL Database. Intro a la elasticidad de capa de datos Herramientas de base de datos elastica Queries elasticas Pools de bases de datos Jobs elasticos 5

6 Nos vamos a enfocar en DbaaS, Azure SQL Db. Agregar y eliminar capacidad de bases de datos on-demand. La elasticidad se enfoca en scale OUT (horizontal, “Sharding”), en vez de simplemente scale UP (vertical). Asumimos una aplicacion, un mismo esquema en todas las bases de datos. Elasticidad de capa de datos 6

7 1.Llegamos al limite del scale up (CPU-RAM- almacenamiento). 2.Razones geograficas. 3.Requerimientos de seguridad obligan a tener bases de datos separadas. 4.Mas facil para cobrarle de vuelta al cliente. 5.Algunas operaciones son mas faciles cuando se maneja una base de datos individual por cliente. Por que escalar horizontalmente? 7

8 Velocidad de provicionamiento. Controlar los costos. Movimiento de datos. Enrutar la aplicacion a la base de datos correcta. Consultar las bases de datos individualmente asi como consultar el conjunto entero facilmente. Retos comunes al escalar horizontal 8

9 Arquitectura de una solucion elastica 9

10  Creando y trabajando con una capa de datos elastica

11 El proposito es facilitar la construccion de aplicaciones con una capa de datos elastica en Azure SQL Db. Conceptos: Shard ~ Base de datos Shard Set Shardlet Shard Map Manager Tablas de referencia Herramientas elasticas: libreria de.NET 11

12 Libreria de capa de datos elastica 12

13 1.Crear una base de datos “Shard Map Manager”. 2.Registrar bases de datos como shards en la SMM. 3.Configurar el metodo de distribucion (listas de llaves o rangos). Flujo de trabajo de la libreria 13

14 4.Pedir una conexion a la libreria usando la llave de sharding (enrutamiento dependiente de datos). 5.Usar esa conexion para interactuar entre la aplicacion y el shard. 6.Si es necesario, la libreria tambien permite hacer consultas multi-shard. Flujo de trabajo de la libreria (2) 14

15 Ayuda a rebalancear datos. Se puede hacer SPLIT de una base de datos en multiples. Se puede hacer MERGE de multiples en una. Estas operaciones permiten responder a cambios en capacidad requerida. Actualmente es un servicio que el cliente tiene que hostear en Azure. Herramienta de Split/Merge 15

16 Herramienta de Split/Merge 16 Db1 DbN MERGESPLIT Split/Merge Service ShardMap SplitMergeDb

17 Herramienta de Split/Merge 17

18 Herramienta de Split/Merge 18

19 Permiten consultar un conjunto de bases de datos como una sola entidad con un solo connection string. Muy util para aplicaciones como Excel, SSRS, etc. Queries elasticas 19

20 1.Un conjunto de Azure SQL Dbs con un esquema comun. 2.Un shard map y una base de datos Standard o Premium para conectarse. 3.Crear una credencial: Configurar queries elasticas 20 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'; CREATE DATABASE SCOPED CREDENTIAL WITH IDENTITY = ' ', SECRET = ' ';

21 4.Crear un data source externo: Configurar queries elasticas 21 CREATE EXTERNAL DATA SOURCE WITH (TYPE = SHARD_MAP_MANAGER, LOCATION = ' ', DATABASE_NAME = ' ', CREDENTIAL =, SHARD_MAP_NAME = ' ');

22 5.Crear una tabla externa: Configurar queries elasticas 22 CREATE EXTERNAL TABLE [ database_name. [ dbo ]. | dbo. ] table_name ( { } [,...n ]) { WITH ( ) } )[;] ::= DATA_SOURCE =, DISTRIBUTION = SHARDED( ) | REPLICATED | ROUND_ROBIN

23 SP_EXECUTE_FANOUT: usa el shard map para mandar una consulta a multiples bases de datos y devolver el resultado. TARGET=RDBMS: consultas entre bases de datos individuales (parecido a linked server). Otros tipos de queries elasticas 23

24 Queries Elasticas  Demo

25  Administrando recursos elasticos

26 Permiten pooling de recursos de Azure SQL para optimizar el radio de rendimiento/costo. Los recursos se cuantifican en eDTUs (elastic DTUs). La cantidad de almacenamiento tambien depende de los eDTUs. Diferentes pools por nivel de servicio. Pools de bases de datos 26

27 TierMax Pool Size Max DbseDTU pool range Max eDTU/db Max Size / db Basic120GB400100-1200 edtu 52GB Standard1200GB400100-1200 edtu 100250GB Premium750GB50125-1500 edtu 1000500GB Especificaciones de los pools 27

28  Una base de datos  Un pool de 20 bds Pools de bases de datos 28

29 Costo fijo por eDTU (min 100, max 1500). Ejemplo: 16 bds S3: 16x$150 por mes = $2400, cada bd tiene 100 DTU fijos. 250GBx16 almacenamiento. Un pool Standard: (800 eDTUx$2.23) por mes=$1784, cada bd puede oscilar entre 10-100 DTU. 800GB almacenamiento. Pools de bases de datos: precio 29

30 Portal para pools  Demo

31  Jobs en capa de datos elastica

32 Permite correr jobs en un conjunto de bases de datos. Puede ser T-SQL o un DACPAC. Puede ser un conjunto, un map o un pool. Parecido al SQL Agent (sin interfaz grafica por ahora). Jobs elasticos 32

33 Hay que hostearlo en Azure. Requiere los siguientes componentes: Cloud service (worker role que corre las tareas). SQL Db (bd que contiene la info de los jobs, S0 default). Service bus (usado para coordinar trabajo). Azure storage (para diagnosticos). Configurar jobs elasticos 33

34 Arquitectura de los jobs elasticos 34 Control DB Controller Job Task Exec Portal/P$ Un conjunto de bds Job info Tareas del job Ejecucion y resultados

35 Usar jobs elasticos  Demo

36 Para agregar elasticidad de una aplicacion.NET: libreria de capa de datos elastica. Para agregar flexibilidad en el consumo de recursos: pools de bases de datos. Resumen 36

37 Para hacer queries a multiples bases de datos: queries elasticas. Para correr jobs en 1 a N bases de datos: jobs elasticos. Recap 37

38 38 | Warner Chaves warner@sqlturbo.comSqlturbo.com @warchav PREGUNTAS Y RESPUESTAS


Descargar ppt "Capa de datos elastica con Azure SQL DB Warner SQLTurbo.com Pythian.com SQL MCM / Data Platform MVP."

Presentaciones similares


Anuncios Google