La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Benjamin Talmard Stéphane Goudeau Microsoft DX.

Présentations similaires


Présentation au sujet: "SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Benjamin Talmard Stéphane Goudeau Microsoft DX."— Transcription de la présentation:

1 SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Benjamin Talmard - @benjiiim Stéphane Goudeau - @stephgou66 Microsoft DX

2 SQLSaturday Paris 2015 Merci à nos sponsors…

3 SQLSaturday Paris 2015 Merci à nos volontaires…

4 SQLSaturday Paris 2015 SQL Server sur Azure

5 SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Azure SQL Database

6 SQLSaturday Paris 2015 Performance et élasticité

7 SQLSaturday Paris 2015 Performance et élasticité CPU Writes Reads Memory 30% 75% 50% 60% Utilization Machine Compute Writes Reads Memory DB 1 workload DB 2 work- load DB 3 work- load DB 5 workload DB 6 workload DB 8 work- load DB 7 work- load DB 4 workload

8 SQLSaturday Paris 2015 Performance et élasticité $5$15$30$75$150$930$7,000 DTUs B S0 S1 S2 S3 P2 P11 P1 $465 5 10 20 50 100 125 250 1750 P4 500 $1,860 P6 1000 $3,720

9 SQLSaturday Paris 2015 Transition vers Azure SQL Database v12

10 SQLSaturday Paris 2015 demo Azure SQL Database

11 SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Quelques nouveautés

12 SQLSaturday Paris 2015 Row-Level Security  Contrôle des accès plus fins  Transparent pour l’application  Règles centralisées

13 SQLSaturday Paris 2015 Row-Level Security  Predicate function (inline table-valued function)  Security predicate  Security policy CREATE SECURITY POLICY mySecurityPolicy ADD FILTER PREDICATE dbo.fn_securitypredicate(region, start, end) ON dbo.customers

14 SQLSaturday Paris 2015 2) L’utilisateur demande les données de la table concernée 3) La policy va réécrire la requête de manière transparente pour appliquer le prédicat 1) Le responsable crée la function, le prédicat et la policy en T-SQL Row-Level Security Database Policy Manager Security Policy Application Patients Nurse SELECT * FROM Patients CREATE FUNCTION dbo.fn_securitypredicate(@wing int) RETURNS TABLE WITH SCHEMABINDING AS return SELECT 1 as [fn_securitypredicate_result] FROM StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND @wing = d.Wing; CREATE SECURITY POLICY dbo.SecPol ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON Patients WITH (STATE = ON) SELECT Patients.* FROM Patients, StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND Patients.wing = d.Wing;

15 SQLSaturday Paris 2015 demo Row-Level Security

16 SQLSaturday Paris 2015 Dynamic Data Masking  Protection des données sensibles  Conformité aux réglementations en vigueur  Agilité et transparence

17 SQLSaturday Paris 2015 Dynamic Data Masking ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber] ADD MASKED WITH (FUNCTION = 'Partial(0,"XXX-XX-",2)') ALTER TABLE [Employee] ALTER COLUMN [Email] ADD MASKED WITH (FUNCTION = ‘EMAIL()’) ALTER TABLE [Employee] ALTER COLUMN [Salary] ADD MASKED WITH (FUNCTION = ‘RANDOM(1,20000)’) GRANT UNMASK to admin1 1) L'administrateur définit la policy en T-SQL 2) L'utilisateur de l'application demande les données de la table 3) La policy masque les données sensibles dans le résultat SELECT [Name], [SocialSecurityNumber], [Email], [Salary] FROM [Employee] admin1 loginother login

18 SQLSaturday Paris 2015 demo Dynamic Data Masking

19 SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Implémenter une application SaaS orientée données

20 SQLSaturday Paris 2015 1 DB par client 1 DB pour N Clients 1 schéma par client 1 DB pour N Clients 1 schéma pour N clients Notre cahier des charges…  Implémenter une application SaaS orientée données...  Trois modèles pour y répondre  https://msdn.microsoft.com/en-us/library/aa479086.aspx https://msdn.microsoft.com/en-us/library/aa479086.aspx

21 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Un service Cloud, load- balancé et multi-tenant Bases de données client Scale–out par ajout de bases de données client Catalogue clients Cli. 3Cli. N Le plus simple des trois… Le catalogue permet de référencer l’ensemble des bases de données client Une infrastructure data single-tenant

22 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Bases de données client Catalogue clients Cli. 3Cli. N Problématique #1 : Scale-Up, Scale-Down

23 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Bases de données client Catalogue clients Cli. 3Cli. N Problématique #1 : Scale-Up, Scale-Down Cli. 1 Cli. 2 Cli. 3

24 SQLSaturday Paris 2015 Problématique #2 : La performance n’est pas prédictible, le nombre de bases est très élevé Catalog Service Cloud Catalogue clients Cli. 3 Cli. 4 Cli. 2Cli. 1 Cli. 9 Cli. 3 Cli. 4 Cli. 9 Cli. 1 Bases de données client Cli. 2 Cli. N Cli. 6 Cli. 7Cli. 5 Cus Cli. 6 Cli. 7Cli. 8Cli. 5

25 SQLSaturday Paris 2015 Une solution : Elastic database Pools  Partager les capacités entre de multiples bases de données pour globaliser les coûts  Adapter le dimensionnement à des performances imprédictibles  Pas de surcapacité à anticiper au niveau de chacune des bases de données  Plus besoin de superviser les performances à l’échelle de chaque base de données  Possibilité de déplacer les tenants entre différents pools 2001200DTUs400800 Niveau de burst maximal par database

26 SQLSaturday Paris 2015 Exemple de scénario avec impact coûts  100 S2 avec 20% de consommation DTU en moyenne  15% des DB peuvent consommer 100% de leur budget DTU à un instant t

27 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Bases de données client Catalogue clients Cli. 3Cli. N Problématique #3 : Il y a grosses différences entre les capacités requises par type de client

28 SQLSaturday Paris 2015 Une solution : Possibilité de regrouper les bases sur différents pools Catalog Service Cloud Catalogue clients Cli. 3 Cli. 4 Cli. 2Cli. 1 Cli. 9 Cli. 3 Cli. 4 Cli. 9 Cli. 1 Bases de données client Cli. 2 Cli. 6 Cli. 7Cli. 5 Cus Cli. 6 Cli. 7Cli. 5 Cli. N Cus Cli. 8

29 SQLSaturday Paris 2015 Une solution : Possibilité de déplacer une base hors du pool en cas de charge exceptionnelle Catalog Service Cloud Catalogue clients Cli. 3 Cli. 4 Cli. 2Cli. 1 Cli. 3 Cli. 4 Cli. 2Cli. 9 Cli. 3 Cli. 4 Cli. 9 Cli. 1 Bases de données client Cli. 2 Cli. 6 Cli. 7Cli. 5 Cus Cli. 6 Cli. 7Cli. 5 Cli. N Cus Cli. 8

30 SQLSaturday Paris 2015 demo Azure SQL Database Pools

31 SQLSaturday Paris 2015 Problématique #4 : Factorisation multi- database [ shards_global ] sidsmidserverdatabase 11Server1DB1 21Server1DB2 [shardmaps_global] smidname 1RangeShardMap [ shard_mappings_global ] midsmidminmaxSid 1101001 21 2002 DB 1 [0-100)... DB 2 [100-200) DB 3 [200-300) DB 4 [300-400) DB 5 [400-500) DB 6 [500-600) DB n [n – n+100) Catalog ? ?

32 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud 2.Le service Cloud recherche les références de la base client dans le catalogue Bases de données client 3. Le service Cloud redirige directement les requêtes sur la base de données client Catalogue clients 1.L’utilisateur se connecte au service Cloud Cli. 3Cli. N Problématique #5 : Data-Dependent Routing

33 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Bases de données client Cli. 3Cli. N Problématique #6 : Requête multi-database PowerBI Catalogue clients Elastic Query

34 SQLSaturday Paris 2015 Une solution : Elastic Tools & DB Query OLTP Cloud Application Elastic Tools Libraries DB PowerBI SQL DB Elastic Query Azure SQL DB v12 SQL TDS, ODBC, JDBC, ADO

35 SQLSaturday Paris 2015 demo Sharding & Data-Dependent Routing avec la librairie Microsoft.Azure.SqlDatabase. ElasticScale.Client

36 SQLSaturday Paris 2015 Catalog Cli. 1 Cli. 2 Service Cloud Bases de données client Catalogue clients Cli. 3Cli. N Problématique #7 : Administration multi- database T-SQL

37 SQLSaturday Paris 2015 Une solution : Elastic Database Jobs  Application de changements ou d’opérations administratives à de multiples databases  Utilisation de scripts T-SQL classiques pour définir les jobs  Intégration native d’une logique de « retry » pour la gestion des erreurs de transition  Forte intégration avec les Elastic Pools depuis le nouveau portail Azure  Conçu pour le traitement batch

38 SQLSaturday Paris 2015 demo Elastic Database Jobs

39 SQLSaturday Paris 2015 Conclusion  Modèle single-tenant Database pour bâtir des applications SaaS dans le Cloud :  Spécificités d’Azure SQL Database  Isolation des données  Simplification des développements  Extension des possibilités avec :  Elastic Database Tools  Elastic Database Pools (preview)  Elastic Database Query (preview)  Elastic Database Jobs (preview) Un environnement Database-as-a-Service globalisé ▪ Charges non prédictibles pour des applications SaaS d’échelle très significative ▪ Pas de remise en cause des outils de management ou de développement existants

40 SQLSaturday Paris 2015 …Et en plus on peut gagner des cadeaux http://GUSS.pro/sqlsat


Télécharger ppt "SQLSaturday Paris 2015 SQL Server sur Azure dans tous ses états ! Benjamin Talmard Stéphane Goudeau Microsoft DX."

Présentations similaires


Annonces Google