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

2 DAT306 Construire des applications supportant la montée en charge avec SQL Azure Simon Ferquel Access it IDF Adrien Siffermann Imajin Pascal Laforest.

Présentations similaires


Présentation au sujet: "2 DAT306 Construire des applications supportant la montée en charge avec SQL Azure Simon Ferquel Access it IDF Adrien Siffermann Imajin Pascal Laforest."— Transcription de la présentation:

1

2 2 DAT306 Construire des applications supportant la montée en charge avec SQL Azure Simon Ferquel Access it IDF Adrien Siffermann Imajin Pascal Laforest Access it IDF

3 3 Access It IdF en quelques mots… Société de services, conseil / expertise, et formation, exclusivement sur les technologies Microsoft 20+ collaborateurs spécialisés sur les techno MS, dont 11 MVP Interventions en mode : Conseil, expertise, coaching et formation Réalisation, au forfait ou en Assistance Technique.NET Plateforme Applicative Framework et langages.Net, AZURE, Silverlight, WPF/Surface, VS/TFS, Windows Phone 7,… SQL Server (SSIS, SQL, SSAS, SSRS), PowerPivot, SharePoint & on-line, Office 365,….NETCollab. BI

4 4 Agenda Rappel plateforme Azure SQL Azure Montée en charge Scale Up vs Scale-Out Aujourd’hui : SQL Sharding Demain : les Federations de base de données

5 5 Windows Azure est une plateforme de services à l'échelle d'Internet hébergée et opérée par Microsoft dans des centres de données à travers le monde. Il s'agit d'une plateforme simple, fiable et performante pour créer des applications et services Web. Introduction

6 6 SQL Azure Concepts familiers Modèle relationnel T-SQL classique Support de librairies et protocoles existants SQL Server Management Studio Valeur différentiée Mutualisé Paiement à la consommation Pas d’administration physique Gestion automatisée Provisionnement simple Haute disponibilité

7 7 Etendre SQL Server au Cloud Database Data Sync Reporting Business Intelligence Modèle de programmation et outils communs SGBD-R basé sur SQL Server 2008 Limité à 50 GB, tailles par paliers Index clustered obligatoire Full-Text Search non-supporté SQL CLR non-supporté Procédures systèmes non- supportées Bientôt Capacité additionnelle Services additionnels : Reporting / BI Synchronisation de données Sauvegarde applicative

8 8 Scénarios d’utilisation On Premise Mixte Azure Sync SQL Azure Microsoft Datacenter SQL Code / Outils Hybride Microsoft Datacenter SQL Server Windows Azure Application / Navigateur Windows Azure SQL Azure Azure Microsoft Datacenter Code/ Outils SQL Azure Windows Azure SQL Azure Data Sync Microsoft Datacenter

9 9 Utilisation / Modèle de provisionnement Chaque Compte représente Un compte de facturation Un Serveur virtuel Chaque Serveur dispose D’une ou plusieurs bases limitées en taille (1 à 50 Gb) D’une base maître D’un ou plusieurs logins Chaque base a Un ou plusieurs SQL users CompteCompte ServeurServeur DatabaseDatabase Server=server1.data.database.windows.net Database=testDB Login=nigele[@server1] (maps to testuser) Server=server1.data.database.windows.net Database=testDB Login=nigele[@server1] (maps to testuser)

10 10 Démonstration Premiers pas avec SQL Azure

11 11 Haute disponibilité Replica 1 Replica 2 Replica 3 LB SQL Azure Noeud maître Replica 4 !

12 12 Application Internet LB TDS (tcp) Connectivité SQL Standard: ODBC, ADO.Net, PHP, … Répartition de charge ! Zone de sécurité Gateway Scalabilité et haute disponibilité, reprise en cas d’incident, réplication et répartition de charge SQLSQLSQLSQL SQLSQL Sous le capot…

13 13 Partitionnement Problématiques « traditionnelles » Volume des données Trop d’octets ( > 50 GO) Charge de travail Trop de transactions / seconde Nouvelles problématiques liées au Cloud Coût Type de stockage en fonction de son prix Elasticité / extensibilité Partitionnement ponctuel pour supporter des périodes de forte charge

14 14 Elasticité / montée en charge : 2 stratégies ! Scale Up Acheter un serveur suffisamment puissant Mais les gros serveurs sont chers ! Essayer de le charger autant que possible Quid si la charge change subitement ? Prévoir les pics de charge est coûteux ! Scale-Out Partitionner les données et charger plusieurs serveurs Les petits serveurs sont bon marché ! Bénéficier de ressources de calcul distribuées Grande performance de 800 petits serveurs… Les pics de charge sont mieux maîtrisés ! Load balancing sur tout le Data Center

15 15 Scale-Out avec SQL Azure Souplesse dans la création de bases de données CREATE DATABASE…et hop ! Pas de VMs, pas de serveurs Paiement à la consommation Plus besoin d’une BDD ? => DROP ! Aucune administration « physique » Haute disponibilité, mises à jour, maintenance… Copie de bases & SQL Azure Data Sync CREATE DATABASE abc.prod2clone AS COPY OF xyz.prod2

16 16 Démonstration Scale-out avec SQL Azure

17 17 Le partitionnement Scale-Out => Création de partitions Plusieurs types de partitions : Vertical Horizontal Hybride … QUOI ???? ? ?

18 18 Partitionnement vertical

19 19 Partitionnement horizontal

20 20 Combine le partitionnement horizontal et vertical Ex. ci-dessus : – Données volumineuses réparties dans Windows Azure Storage (vertical) – Données restantes partitionnées horizontalement dans SQL Azure Partitionnement hybride

21 21 Scale-Out dans un contexte d’applications mutualisées Tout mettre dans une BDD ? Trop gros… Créer une base par ‘locataire’ ? Pas mal… Sharding Pattern : mieux !! T1T2T3T4T5 T6T7T8T9T10 T11T12T13T14T15 T16T17T18T19T20 T1 T2T3T4 T5 T6 T7T8T9 T10 T11 T12T13T14 T15 T16 T17T18T19 T20 Toutes mes données sont dans une seule BDD

22 22 Distribution des données Partitionnées Réparties sur les différentes machines Chaque partie est sur une machine Concerne la plupart des données ! Centralisées Accessibles depuis un endroit unique Accès lecture / écriture… mais pas trop ! Répliquées Copiées sur toutes les machines Accès en lecture depuis n’importe où Accès en écriture à limiter… Data1 Config Data2 Data3 Data4 Data5

23 23 Code applicatif Logique de répartition des données sur le bon serveur SQL Azure Impacts applicatifs (1/2) Objet A Objet B Objet C Objet D Base 1 Base 2 Base 3

24 24 Impacts applicatifs (2/2) Adapter le modèle de Sharding à la logique applicative Requêtes uni-shard ! Requêtes multi-shards  ? App

25 25 Démonstration SQL Sharding

26 26 Routing Où est le référentiel ? Comment le dimensionner et l’utiliser ? Gestion des partitions Fractionner et fusionner sans baisse de disponibilité Répartition auto des requêtes sur les différents Shards (membres) Routing Où est le référentiel ? Comment le dimensionner et l’utiliser ? Gestion des partitions Fractionner et fusionner sans baisse de disponibilité Répartition auto des requêtes sur les différents Shards (membres) Provisionnement Elasticité / croissance & diminution Administration Haute disponibilité, mises à jour, maintenance… Sharding : aujourd’hui et demain… SQL Azure aujourd’hui Demain ! SQL Azure Federations

27 27 SQL Azure Federation Une Federation représente les données fragmentées La clé d’une Federation est la valeur déterminant l’acheminement d’un bloc de données Unité atomique: toutes les lignes avec la même clé de fédération, toujours ensemble ! Un Membre d’une Federation (Shard) Containeur physique pour un ensemble d’unités atomiques La Federation Root correspond à la BDD hébergeant le référentiel de la Fédération Root Federation “CustData” Member: [min, 100] AU PK=5 AU PK=25 AU PK=35 Member: [100, 488] AU PK=105 AU PK=235 AU PK=365 Member: [488, max] AU PK=555 AU PK=2545 AU PK=3565 (Federation Key: CustID)

28 28 Création d’une Federation Création de la base racine/référentielle CREATE DATABASE SalesDB Emplacement de la cartographie des partitions Héberge les données centralisées Création de la fédération dans SalesDB CREATE FEDERATION Orders_Fed (RANGE BIGINT) Spécifier le nom et la clé de fédération Crée le 1 er membre, couvrant l’intégralité des champs SalesDB Federation “Orders_Fed” (Federation Key: CustID) Member: [min, max]

29 29 Création du schéma Tables de la Fédération CREATE TABLE orders (…) FEDERATE ON (customerId) La valeur de la clé déterminera le membre (shard) Tables de référence CREATE TABLE zipcodes (…) L’absence d’instruction FEDERATE ON indique qu’il s’agit d’une référence Tables centralisées Créées dans la DB référentielle Federation “Orders_Fed” (Federation Key: CustID) Member: [min, max) SalesDB orders Products zipcode

30 30 Fractionner et fusionner Fractionner un membre Quand trop gros ou trop sensible ! ALTER FEDERATION Orders_Fed SPLIT (100) Crée 2 nouveaux membres Fait à chaud / en ligne ! Fusionner des membres Quand trop petit ! ALTER FEDERATION Orders_Fed MERGE (200) Créé un nouveau membre et supprime les anciens Federation “Orders_Fed” (Federation Key: CustID) Member: [min, max] SalesDB orders Products zipcode Member: [min, 100] zipcode Member: [100, max] zipcode orders

31 31 Récapitulons ! Scénario “up and down” ! Jour 2 => Mon business croît ! ALTER FEDERATION Orders_Fed SPLIT AT(1000) Jour 3 => Passage à Télématin : GO GO GO ! ALTER FEDERATION Orders_Fed SPLIT AT(100) ALTER FEDERATION Orders_Fed SPLIT AT(200,300,400…) Jour 4 => Là c’est sûr, c’est la crise !!  ALTER FEDERATION Orders_Fed MERGE AT(100) Jour 5 => Encore une baisse : le début de la fin...??   (Rez combat plz) ALTER FEDERATION Orders_Fed MERGE AT(200,300,400…)

32 32 Connexion à la Federation Se connecter à l’unité atomique USE FEDERATION Orders_Fed (56) WITH FILTERING=ON Se connecter au membre entier de la federation USE FEDERATION Orders_Fed (56) WITH FILTERING=OFF Member: [min, 100) zipcode AU PK=5 AU PK=25 AU PK=35 App

33 33 Le futur du futur ! (houla) Administration de schéma Déploiement de schéma multi-versions et administration au sein de membres de la fédération Requêtes réparties (fan-out) Requête unique renvoyant des résultats sur un nombre important de membres d’une fédération Répartitionnement automatique SQL Azure auto-administre les BD fédérées en les fractionnant/fusionnant sur la base de règles prédéfinies (temps de réponse des requêtes, taille de la base etc.) Clés multi-colonnes

34 34 Le mot de la fin « Scale Up, Scale-Out, Scale-Out for more writes ! » Bob Mar-laid, Kingston, 1976

35 35 Quelques pointeurs… Site produit : http://www.microsoft.com/en- us/sqlazure/default.aspx Blog SQL Azure Team : http://blogs.msdn.com/b/sqlazure MSDN / SQL Azure : http://msdn.microsoft.com/en- us/windowsazure/sqlazure/default « Pro SQL Azure » - Scott Klein & Herve Roggero (Apress, 2010)

36 36 Testez la plateforme Windows Azure Explorez l’infini en 24h au travers de 3 exercices et repartez avec un Pass qui vous permet d’accéder à un vrai compte Windows Azure gratuitement pendant 30 jours. Les abonnés MSDN bénéficient d’avantages pour tirer profit de la plateforme Windows Azure tels que 750 heures/mois, base de données SQL Azure… Offre de Découverte “Windows Azure Platform Introductory Special” — Cette offre promotionnelle vous permet d'essayer gratuitement la plateforme Windows Azure. L'abonnement comprend un niveau de base de 25h de calcul/mois, du stockage, du transfert de données... www.windowsazure.fr Dès maintenant dans votre kit Windows Azure Ou rendez-vous sur le stand cloud, C41, pour en récupérer un Certifié sans carte bleue

37 37 « Le meilleur des formations Microsoft en France » Accédez à plus de 90 cours de qualité sur les technologies de développement Microsoft en ligne ou avec un formateur SoftFluent. Une carte d’accès Gratuite 1 mois vous attend au stand SoftFluent W5 ! 4 cours AZURE vous attendent… Windows Azure Fundamentals & Introduction to Windows Azure SQL Azure Windows Azure AppFabric Partenaire exclusif en France

38 38 Devenez « Powered by Windows Azure » Pour les développeurs, les éditeurs de logiciels… tous ceux qui créent des logiciels Gratuit et en français En « libre service » Accompagnement en 3 étapes : Aide au Développement avec des outils tels que SDK, codes sources, formations techniques… Aide au test de compatibilité grâce au kit de certification logicielle mis à disposition gratuitement. Visibilité sur le marché: ressources marketing à disposition (PinPoint, logo « Powered by Windows Azure »,…) Rendez-vous sur le stand cloud, C41, pour en savoir plus

39


Télécharger ppt "2 DAT306 Construire des applications supportant la montée en charge avec SQL Azure Simon Ferquel Access it IDF Adrien Siffermann Imajin Pascal Laforest."

Présentations similaires


Annonces Google