Plan Administration des Bases de Données Systèmes de Gestion de Base de Données Panorama MySQL Louis-Claude Canon [email protected] PostgreSQL Bureau 429C Oracle Database Licence 3 informatique – Semestre 6 Louis-Claude Canon ABD – Panorama NoSQL et BigData 1 / 24 Systèmes de Gestion de Base de Données Louis-Claude Canon ABD – Panorama 2 / 24 Systèmes de Gestion de Base de Données Plan SGBDs libres Systèmes de Gestion de Base de Données Synthèse des principales solutions libres MySQL MySQL “Le SGBD libre le plus populaire du monde.” PostgreSQL “Le SGBD libre le plus avancé du monde.” PostgreSQL SQLite SGBD intégrable dans une application (Firefox, Skype, Google Gears, . . . ). Oracle Database Firebird, Ingres, . . . NoSQL et BigData Louis-Claude Canon ABD – Panorama 3 / 24 Louis-Claude Canon ABD – Panorama 4 / 24 Systèmes de Gestion de Base de Données SGBDs propriétaires Synthèse des principales solutions propriétaires Oracle Database Le SGBD le plus complexe, robuste et flexible du monde. DB2 Plus proche compétiteur d’Oracle Database (IBM). SQL Server Leader sur les systèmes Windows (Microsoft). Louis-Claude Canon ABD – Panorama 6 / 24 Systèmes de Gestion de Base de Données Systèmes de Gestion de Base de Données Répartition des offres d’emploi et des salaires moyens 2 Répartition des revenus liées aux SGBDs propriétaires Revenu total en 2010/2011 des SGBDs (millions de dollars Vendeur Oracle IBM Microsoft SAP Teradata Autres Total 2010 9 990,5 4 300,4 3 641,2 744,4 754,7 1 315,3 20 746,6 2011 787,0 870,4 098,9 101,1 882,3 1 389,7 24 129,5 11 4 4 1 Part 2010 48,2% 20,7% 17,6% 3,6% 3,6% 6,3% 100,0% US) 1 Part 2011 48,8% 20,2% 17,0% 4,6% 3,7% 5,8% 100,0% : Progression 18.0% 13,3% 12,6% 47,9% 16,9% 5,7% 16,3% I Les revenus liés au produit Oracle Database dépassent ceux des 4 plus gros compétiteurs. I Oracle + IBM (DB2 et Informix) + Microsoft = 86% des revenus. 1. Chiffres Gartner, mars 2012 : Market Share : All Software Markets, Worldwide, 2011, http://www.gartner.com/id=1969315, 9 995$. Louis-Claude Canon ABD – Panorama 7 / 24 SGBD 13/2/15 13/2/13 Progression SQL Server MySQL Oracle Database PostgreSQL DB2 SQLite 17325 5529 2012 990 729 122 21706 6101 2924 819 842 129 -20% -9% -31% +21% -13% -5% 2. http://www.itjobswatch.co.uk Louis-Claude Canon Systèmes de Gestion de Base de Données ABD – Panorama MySQL Performances et tailles des grandes bases de données Plan Tests de performance normalisés pour comparer les différents SGBDs sur une base commune 3 : Systèmes de Gestion de Base de Données Taille du bench 100 GB 300 GB 1 000 GB 3 000 GB 10 000 GB 30 000 GB 100 000 GB SGBD EXASOL EXASolution 4.0 EXASOL EXASolution 4.0 EXASOL EXASolution 4.0 EXASOL EXASolution 4.0 EXASOL EXASolution 4.0 Oracle Database 10g R2 EE Hitachi Advanced Data Binder 01-02 8 / 24 Query-per-Hour 1 112 401 2 180 712 4 253 937 5 556 993 7 128 255 150 960 82 678 MySQL PostgreSQL Oracle Database NoSQL et BigData 3. http://www.tpc.org/tpch/results/tpch_perf_results.asp Louis-Claude Canon ABD – Panorama 9 / 24 Louis-Claude Canon MySQL I I MySQL : historique 3.23 (2001) Version correspondant à l’arrivée concrète de MySQL. Partie commune : I 10 / 24 MySQL MySQL : architecture I ABD – Panorama 4.0 (2003) UNION, introduction d’InnoDB. Gestion des connexions. Interpréteur, optimisation et cache de requêtes. 4.1 (2005) Support pour les sous-requêtes et UTF-8. 5.0 (2006) Vues, déclencheurs et procédures stockées. Moteur de base de données : InnoDB Supporte les transactions et l’intégrité référentielle. MyISAM Performant pour les lectures. Archive Optimisé pour les insertions uniquement. ... 5.1 (2008) Partitionnement, réplication par ligne. 5.5 (2010) InnoDB par défaut, amélioration des performances, de la réplication, de la scalability, . . . 5.6 (2013) Amélioration de l’optimisateur de requêtes. 5.7 (2015) Amélioration de la sécurité, . . . Louis-Claude Canon ABD – Panorama 11 / 24 Louis-Claude Canon ABD – Panorama 12 / 24 MySQL PostgreSQL MySQL : prospective Plan Systèmes de Gestion de Base de Données I MySQL acquis pas Sun en 2008 (racheté ensuite par Oracle en 2010). I MariaDB : alternative à MySQL (fork communautaire de 2009). MySQL PostgreSQL Oracle Database NoSQL et BigData Louis-Claude Canon ABD – Panorama 13 / 24 Louis-Claude Canon PostgreSQL I I Écriture de procédures stockées en Python ou en Perl (extensions pour Java, Lua, SQL/PSM, R, Ruby, . . . ). Plus avancées que MySQL, proche d’Oracle Database. Volonté de supporter le standard (la plupart des fonctionnalités de SQL:2011 sont supportées). Exemple de procédure en Python Performance : I I I I PostgreSQL : langages supportés Fonctionnalités : I Optimisateur de requêtes efficace pour les requêtes complexes. Initialement réputé pour être lent, en particulier pour les requêtes simples. Performance actuelle comparable à MySQL et Oracle Database. Versions : 0.01 (1995), . . . , 8.3 (2008), 8.4 (2009), 9.0 (2010), 9.1 (2011), 9.2 (2012), 9.3 (2013), 9.4 (2014), 9.5 (2016). Louis-Claude Canon 14 / 24 PostgreSQL PostgreSQL I ABD – Panorama ABD – Panorama 1 2 3 4 5 6 7 8 9 CREATE TABLE em ployee ( name TEXT , salary INT , age INT ) ; CREATE FUNC TION ov erpa id ( e emp loy ee ) RETURNS BOOLEAN AS $$ if e [ " salary " ] > 2 0 0 0 0 0 : return True if ( e [ " age " ] < 3 0 ) and ( e [ " salary " ] > 1 0 0 0 0 0 ) : return True return False $$ LANG UAGE p l p y t h o n u ; Louis-Claude Canon 15 / 24 Oracle Database ABD – Panorama 16 / 24 Oracle Database Plan Oracle Database Systèmes de Gestion de Base de Données MySQL PostgreSQL Oracle Database I Historique : V2 (1979), V3 (1983), V4 (1984), V5 (1985), V6 (1988), V7 (1992), V8 (1997), V9 (2001), V10 (2003), V11 (2007), V12 (2013). I Écrit en C. I Multi-plateforme (mainframe/serveur, Unix/Windows, . . . ). I Interconnexion possible avec d’autres SGBD. NoSQL et BigData Louis-Claude Canon ABD – Panorama 17 / 24 Louis-Claude Canon ABD – Panorama 18 / 24 Oracle Database Oracle Database Dictionnaire Oracle I Organisation du dictionnaire Oracle 4 classes : I Vues relatives aux objets d’un utilisateur (préfixées par USER_) : Contient des informations sur : I I I les tables, les vues, les déclencheurs, les procédures stockées, les utilisateurs et l’activité de la base de données. I I I 1300 4 ). I Accessible par l’intermédiaire de vue (plus de I Modifiable par les processus Oracle uniquement. USER_TABLES, USER_OBJECTS, USER_CONSTRAINTS USER_SOURCE, USER_TRIGGERS, USER_ERRORS USER_USERS, USER_TAB_GRANTS, USER_TAB_PRIVS I Vues relatives aux objets accessibles par un utilisateur (préfixées par ALL_). I Vues relatives aux administrateurs (préfixées par DBA_). I Vues relatives au suivi des performances (préfixées par V$). 4. http://www.oracle.com/pls/db102/catalog_views Louis-Claude Canon ABD – Panorama 19 / 24 Louis-Claude Canon NoSQL et BigData ABD – Panorama 20 / 24 NoSQL et BigData Plan Simplifications du SQL Systèmes de Gestion de Base de Données NoSQL et Big Data MySQL Apparition à la fin de la décade 2000. Adapté aux besoins et problématiques qui sortent du cadre bases de données relationnelles : PostgreSQL Oracle Database I traitement simple sur de nombreuses données, I simples associations clé-attribut (table de hachage), I relâchement des propriétés ACID (pour la concurrence). NoSQL et BigData Louis-Claude Canon ABD – Panorama 21 / 24 NoSQL et BigData Répartition des offres d’emploi et des salaires moyens 5 Mot-clé 26/9/14 29/9/12 Progression Big Data NoSQL MongoDB MapReduce 2026 1792 1407 250 664 835 566 96 305% 115% 149% 160% 5. http://www.itjobswatch.co.uk, septembre 2014. Louis-Claude Canon ABD – Panorama 23 / 24 Louis-Claude Canon ABD – Panorama 22 / 24