Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría Elena Montes Belmonte Modificado hace 8 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.