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

Quelques réflexions sur le futur des bases de données

Présentations similaires


Présentation au sujet: "Quelques réflexions sur le futur des bases de données"— Transcription de la présentation:

1

2 Quelques réflexions sur le futur des bases de données
DBM205 DBA Day Quelques réflexions sur le futur des bases de données Bernard Ourghanlian Chief Technology & Security Officer Microsoft France

3 Pour que les choses soient claires…
Ces réflexions, même si quelques-unes d’entre-elles sont partagées par certains membres de la communauté des bases de données, n’engagent que moi et ne sauraient préfigurer de manière certaine les évolutions prochaines de la gamme de produits Microsoft dans le domaine des bases de données…

4 Quelques considérations préliminaires
Microsoft SQL Server, comme toutes les bases de données commerciales disponibles aujourd’hui, a été architecturé dans le milieu des années 90 en utilisant les idées développées 30 ans plus tôt sur des prototypes de recherche tels que System R [1] Ingres [2] Ces systèmes ont été construits pour adresser les besoins d’un marché unique de la base de données combinant à la fois les charges de travail de type : OLTP Décisionnel Autres… Ils ont pris en considération les caractéristiques du hardware qui était disponible à l’époque mais, depuis, le panorama du marché, le hardware et du software a beaucoup changé… Astrahan, M., et al., "System R: Relational Approach to Database Management", ACM TODS, 1(2), 1976. Stonebraker, M., et al., (1976) "The Design and Implementation of INGRES", ACM TODS, 1(3), TODS, 1(2), 1976.

5 Quelques considérations préliminaires (suite)
SQL 7.0 SQL 2000 SQL 2005 SQL 2008 2 4 6 8 Milliard de $ OLTP DW Mixte

6 Quelques considérations préliminaires (suite)
Aujourd’hui, les segments OLTP et Data Warehousing (DW) ont cru substantiellement, ce qui rend plus concevable le fait de construire des moteurs de base de données spécialisés permettant de mieux servir ces segments de marché Stonebraker, M., et al., The End of an Architectural Era (It’s Time for a Complete Rewrite), Proc. VLDB 2007 En fait, cela a déjà eu lieu dans le segment DW, plusieurs startups ayant mise sur le marché leur moteur spécialisé pour la charge de travail DW Ces moteurs spécialisés atteignent de bien meilleures performances sur ces charges de travail que les moteurs d’usage général et créent un peu de perturbation sur ce segment de marché… Ces gains sont obtenus en tirant parti des évolutions du hardware (mémoires plus importantes, bandes passantes mémoire et disque plus élevée), en utilisant des formats de stockage (stockages en colonne et compression de données) et des techniques de traitement qui sont mieux adaptées à la charge de travail DW

7 L’évolution du hardware
Les SGBD actuels ont été conçus en présupposant que les données résideraient sur disque et que les pages disque seraient fréquemment échangées avec la mémoire Toutefois, les prix de la mémoire continuent de baisser…

8 L’évolution du hardware (suite)
Ainsi qu’indiqué, les prix de la mémoire ont été diminués par un facteur 10 tous les 5 ans depuis les 20 dernières années Il est donc virtuellement certain que l’on ne va pas tarder à voir des serveurs « standards » équipés avec un ou plusieurs TO de RAM et/ou de NVRAM dans les prochaines 5 années Or… ceci est suffisant pour stocker la très grande majorité des bases de données OLTP entièrement en mémoire centrale Même pour les plus grandes bases de données OLTP, cela permet de maintenir l’ensemble de travail actif en mémoire ne laissant que les données « froides » et accédées de manière peu fréquente sur un stockage externe

9 Quelques approches de ce genre
Société /Produit Histoire Applications cibles Fonctionnalités clés Birdstep Technology RDM-Raima Data Manager A démarré comme db Vista en 1984 Systèmes embarqués Petit encombrement, API SQL et navigationnelle McObject / ExtremeDB Société privée fondée en 2001 Petit encombrement, SQL Oracle / TimesTen Spin-off d’HP crée en 1996, acquise par Oracle en 2005 Tier applicatif, cache mémoire pour Oracle PL/SQL, synchronisation de données transparente avec Oracle IBM / SolidDB Solid Information Tech. créé en 1992, acquis par IBM en 2007 Tier applicatif, cache mémoire pour DB2 SQL, synchronisation de données transparente avec DB2, Informix VoltDB Startup émergente Marchés financiers, opérations financières avec très faible temps de latence Pas de verrous, les transactions sont exécutées en série Groovy Corp / Groovy SQL Switch Startup créée en 2007 Applications nécessitant une notification rapide des mises à jour Stocke et transmet les mises à jour

10 OLTP : Vers l’infini et au-delà ?
On est donc en droit de se poser les questions suivantes Est-il possible de créer un moteur OLTP 100 fois plus rapide ? Quelles innovations logicielles et architecturales sont nécessaires pour atteindre cet objectif ? Quelles seraient les conséquences d’un tel système sur le segment OLTP du marché de la base de données ? A mon sens, la réponse à la première question est : OUI

11 Quelques idées de design
La base de données est résidente en mémoire ; le stockage externe n’est utilisé que pour les checkpoints et les journaux Toutes les transactions sont compilées en code natif qui opère directement sur le cœur des services du SGBD ; il n’y a pas de code interprété Le moteur utilise un mécanisme de contrôle du parallélisme qui fournit tous les niveaux d’isolation ANSI sans reposer sur du verrouillage Toutes les structures de données sont lock (latch) free – pas de spinlocks, de sémaphores ou de sections critiques visibles Utilisation de lock free hash maps et de skip lists Utilisation du multi-versioning, mécanisme novateur de contrôle de parallélisme optimiste Le moteur est « maigre » : il ne contient que les services nécessaires pour supporter une charge de travail OLTP Le stockage des données et le traitement sont optimisés pour la charge de travail courante, idéalement à travers un outil automatique d’analyse de charge de travail date

12 Pour aller dans les nuages…
Intermède Pour aller dans les nuages…

13 Explosion du volume de données
Exaoctets de données ingérées dans le monde Selon IDC : En 2007 : 281 EO En 2011 : 1800 EO En 2023 : on dépasse le nombre d’Avogadro en bits : 6,023x1023 bits = 7,53x1022 octets Exaoctets Année

14 Explosion du volume de données
Selon IDC : En 2011, le poids des données non structurées dépassera le poids des données structurées dans un rapport 2:1 3,4 EO

15 L’explosion des données sur Internet
Expériences Simulations Archives Littérature Des péta-octets aux exa-Octets

16 Données et Information
What information consumes is rather obvious: it consumes the attention of its recipients. Hence a wealth of information creates a poverty of attention, and a need to allocate that attention efficiently among the overabundance of information sources that might consume it. Herbert Simon

17 Nouvelle architecture logicielle

18 Distributed Data-Parallel Computing
Problème : Comment écrire des programmes distribués travaillant sur le parallélisme des données pour un cluster de calcul ? Réponse : le modèle de programmation DryadLINQ Abstraction de programmation séquentielle sur une seule machine Le même programme s’exécute sur un seul cœur, une machine multi-cœur ou un cluster Langages de programmation familiers Environnement de développement familier

19 Dryad Fournit une couche d’exécution distribuée générale et flexible
Le modèle utilisé est celui d’un graphe de flux de données Peut être modifié par des optimisations effectuées lors du runtime La couche de langage de plus haut niveau fournit le graphe, le code des nœuds, le code de sérialisation ainsi que des indications concernant la localité des données Gère automatiquement l’exécution distribuée Distribue le code, fait passer les données Ordonnance les processus sur les machines proches des données Masque les défaillances au sein du cluster et du réseau

20 Un job au sein de Dryad Graphe Acyclique Orienté (DAG – Direct Acyclic Graph)
Nœuds de traitement Canaux (fichier, fifo, pipe) Entrées Sorties

21 Pipe 2-D Pipes Unix : 1-D grep | sed | sort | awk | perl Dryad : 2-D

22 LINQ Language Integrated Query
Extensions déclaratives à C# et VB.NET afin d’itérer sur des collections En mémoire Via des fournisseurs de données SQL-Like Facile à adopter par les développeurs Facile à utiliser Réduit le code à écrire Résultats prévisibles Expérience passant à l’échelle Support intégré avec les outils de développement

23 PLINQ Parallel Language Integrated Query
Proposition de valeur Permet aux développeurs de LINQ de tirer parti d’un hardware parallèle ; avec une compréhension de base du parallélisme Parallélisme de données déclaratif (on se concentre sur le « quoi » plutôt que sur le « comment ») Alternative au mappage LINQ – objets Même ensemble d’opérateurs de requêtes + quelques extras Le défaut est fondé sur IEnumerable<T> Disponibilité sous forme de preview au sein de la CTP des Parallel Extensions to .NET Framework 3.5 Livré depuis le .NET Framework 4.0 Beta 2 ; sera intégré en standard au sein du .NET Framework 4.0

24 DryadLINQ LINQ dans des clusters
Le style de programmation déclarative de LINQ pour les clusters Parallélisation automatique Plan de requête parallèle exploitant le parallélisme multi-nœuds PLINQ (en dessous) exploite le parallélisme multi-cœur Intégration avec Visual Studio et .NET Sureté du typage, sérialisation automatique Optimisation du plan de requête Règles d’optimisation statiques pour optimiser la localité Optimisations dynamiques lors de l’exécution

25 Apprentissage automatique
Pile logicielle Apprentissage automatique Traitement d’image Analyse de graphe Fouille de données Applications .NET DryadLINQ Dryad HPC Job Scheduler Windows HPC Server 2008 Windows HPC Server 2008 Windows HPC Server 2008 Windows HPC Server 2008

26 DryadLINQ : De LINQ à Dryad
Génération automatique du plan de requête Exécution de requête distribuée par Dryad Requête LINQ Plan de requête Dryad var logentries = from line in logs where !line.StartsWith("#") select new LogEntry(line); logs where select

27 Une requête LINQ simple
IEnumerable<BabyInfo> babies = ...; var results = from baby in babies where baby.Name == queryName && baby.State == queryState && baby.Year >= yearStart && baby.Year <= yearEnd orderby baby.Year ascending select baby;

28 Une requête PLINQ simple
IEnumerable<BabyInfo> babies = ...; var results = from baby in babies.AsParallel() where baby.Name == queryName && baby.State == queryState && baby.Year >= yearStart && baby.Year <= yearEnd orderby baby.Year ascending select baby;

29 Une requête DryadLINQ simple
PartitionedTable<BabyInfo> babies = PartitionedTable.Get<BabyInfo>(“BabyInfo.pt”); var results = from baby in babies where baby.Name == queryName && baby.State == queryState && baby.Year >= yearStart && baby.Year <= yearEnd orderby baby.Year ascending select baby;

30 PartitionedTable<T> Core data structure for DryadLINQ
Container partitionné capable de passer à l’échelle pour les objets Dérive de IQueryable<T>, IEnumerable<T> Méthodes d’extention ToPartitionedTable() Les opérateurs DryadLINQ consomment et produisent PartitionedTable<T> DryadLINQ génère le code pour sérialiser/désérialiser vos objets .NET Le stockage sous-jacent peut être un fichier partitionné, une table SQL partitionnée ou un système de fichiers cluster

31 DryadLINQ Dans le futur… DyradLINQ sur Azure
Disponible aujourd’hui sous la forme d’un téléchargement pour des objectifs tournant essentiellement autour de l’enseignement et de la recherche Dans le futur… DyradLINQ sur Azure

32 Base de données relationnelle comme un service
32 4/11/ :01 PM Base de données relationnelle comme un service Base de données hautement disponible, autogérée Extension de la plateforme SQL Server Données de référence « Dallas » Synchro de données Reporting Business Intelligence Database © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33 Nom de code « Dallas » Information as a Service…
Découverte d’information - Découvrir, acquérir et consommer des données structurées, non structurées, temps réel afin d’alimenter n’importe quelle application s’exécutant sur n’importe quelle plateforme sur n’importe quel terminal Modèle commercial de courtage – écosystème impulsé par les partenaires afin de fournir données et fonctionnalités aux développeurs et aux consommateurs de l’information Analytics et Reporting – analyse par simple clic afin d’augmenter la richesse des données privées avec des données publiques Mise en œuvre par Windows Azure et SQL Azure

34 Avènement du 4ème paradigme…
Il y a des milliers d’années : La science était empirique décrivant des phénomènes naturels Il y a quelques centaines d’années : Branche théorique utilisant modèles, généralisations Il y a quelques décennies : Branche informatique simulant des phénomènes complexes Aujourd’hui : Exploration des données (eScience) théorie unificatrice, expérience et simiulation Données capturées par des instruments ou générées par des simulations Traitées par du logiciel Information/connaissance stockées dans des ordinateurs Le scientifique analyse la base de données / les fichiers en utilisant de la gestion de données et des statistiques “The impact of Jim Gray’s thinking is continuing to get people to think in a new way about how data and software are redefining what it means to do science." — Bill Gates, Chairman, Microsoft Corporation

35 Pour continuer sur le futur des bases de données…
Retour Pour continuer sur le futur des bases de données…

36 Au-delà… Aujourd’hui, comme on l’a déjà dit, SQL est un peu vu et vécu comme un langage « unitaille » Cf. la polémique NoSQL ( et A l’époque où SQL a été conçu, les segments de marché suivants n’existaient pas : Entrepôts de données, Recherche Web, Analyse en temps réel, Données semi-structurées Pourtant… : Dans le monde des entrepôts de données, pratiquement tous les schémas sont sous la forme d’étoile ou de flocons de neige contenant une fact table centrale avec des jointures 1-n vers les tables de dimensions qui l’entourent, qui peuvent à leur tour participer à d’autres jointures 1-n vers des tables de dimensions de second niveau et ainsi de suite Même si les étoiles et les flocons de neige peuvent facilement être modélisés en utilisant des schémas relationnels, en fait, un modèle entité-relation serait plus simple De plus, les requêtes seraient plus simples si l’on utilisait un tel modèle Enfin, certaines opérations comme le changement de clé d’une ligne dans un table de dimension seraient bien moins coûteuses

37 Au-delà… (suite) Dans le monde OLTP
Personne ne recherche les employés qui gagnent plus que leurs managers… Il n’y a pas de requêtes ad-hoc Personne ne peut donc implémenter un langage moins riche que SQL Pour des raisons de performance, les procédures stockées sont omniprésentes Dans un monde entrepôt de données, on a besoin d’un ensemble différent de SQL puisqu’il y a des requêtes ad-hoc complexes Donc, les différents moteurs de stockage pourraient implémenter des variantes de langage spécifiques au segment de marché qu’ils cherchent à adresser ; ces langages seraient beaucoup plus simples que la complexité intimidante de SQL Repenser SQL permettrait également de corriger un certain nombre de ses erreurs connues depuis deux décennies et peut-être de permettre une intégration propre avec les langages de programmation, en offrant par exemple contrôle de flux, variables locales, etc.

38 On peut donc imaginer, à moyen terme, la fin de la « taille unique »…
Au-delà… (suite) Après tout, si l’on regarde la communauté de langages de programmation, après ce que j’appelle « l’hiver des langages » qui a suivi la sortie de Java, il y a eu une véritable explosion de « petits langages » tels que Python, Perl, Ruby ou PHP (et aussi de « grands » tels que C#, F#,…) L’idée consiste tout simplement à utiliser le meilleur langage disponible pour réaliser une tâche donnée Par ailleurs, les « petits langages » sont attractifs car ils sont plus simples à apprendre que les langages généralistes De plus, dans le champ des langages de programmation, on voit apparaitre de manière de plus en plus significative les DSL (Domain Specific Language) qui, comme leur nom l’indique, sont spécifiques au domaine SQL est un DSL… Pourquoi n’en serait-il pas de même dans le champ des bases de données ? On peut donc imaginer, à moyen terme, la fin de la « taille unique »…

39 En guise de conclusion…
La remise en cause de la « taille unique » Modèle relationnel tel qu’implémenté aujourd’hui inapproprié pour tous les usages Nécessité de repenser les modèles de données et de requêtes pour l’avènement des moteurs spécialisés que l’on peut s’attendre à voir apparaitre de manière significative sur certains segments de marché dans les prochaines années L’arrivée du Cloud Computing et de toute la richesse qu’il revêt La généralisation des machines parallèles Le futur des bases de données n’a jamais été aussi intéressant ! Par certains côtés, une certaine forme de retour à la période pendant laquelle l’imagination était au pouvoir car rien n’est écrit…

40 Votre potentiel, notre passion TM
4/11/ :01 PM Votre potentiel, notre passion TM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

41


Télécharger ppt "Quelques réflexions sur le futur des bases de données"

Présentations similaires


Annonces Google