Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parRené Julien Modifié depuis plus de 8 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.