NewSQL
▪ Principes
▪ Quelques exemples de systèmes
▪ Convergence SQL, NoSQL et NewSQL/Distributed SQL
©Maude Manouvrier - Univ. Paris-Dauphine 581
NewSQL : définition
▪ « Catégorie » de SGBD Relationnels (SGBDR) offrant :
• La même puissance évolutive (capacité d’adaptation à un changement
d'ordre de grandeur, par exemple une forte demande) que les systèmes
NoSQL
• Le maintien des propriétés ACID
• La prise en compte des évolutions du matériel et des nouvelle architectures
distribuées
▪ Définition d’un groupe de recherche (451 group’s) : NewSQL est "un
SGBDR qui offre l'évolutivité et la flexibilité promise par NoSQL, tout en
conservant le support pour les requêtes SQL et les propriétés ACID"
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de [Link] 582
NewSQL : catégories de systèmes
Systèmes pouvant être classés en plusieurs catégories :
▪ New design :
• Souvent écrits à partir de zéro, en architecture distribuée avec des composants
tels que le contrôle distribué de la concurrence et le traitement de requêtes
distribuées.
• Généralement utilisé pour fonctionner dans un cluster de nœuds distribués sans
partage (shared-nothing) dans lequel chaque nœud possèdent un sous ensemble
de donnée
▪ SQL Engine : fortement orienté moteurs de stockage optimisé pour SQL
▪ Middleware : avec une couche "sharding" qui permet de diviser automatiquement
les bases de données sur plusieurs nœuds
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de [Link] 583
NewSQL : Share-nothing
©Maude Manouvrier - Univ. Paris Dauphine - Repris de [Link] 584
Exemples
de moteurs
NewSQL
585
Caractéristiques des principaux moteurs NewSQL
586
Type de licence par moteurs NewSQL
©Maude Manouvrier - Univ. Paris Dauphine - Repris de [Link]
5/publication/353353310_Multidimensional_Analysis_of_NewSQL_Database_Systems/links/619a7fa407be5f31b7a6cec8/[Link] (2021)
587
NewSQL : VoltDB
▪ Base de données open-source en mémoire conçue par Michael
Stonebraker,
▪ Version commerciale du projet H-Store, conçu conjointement par le MIT,
Carnegie Mellon, Yale et d’autres universités
▪ SQL avec un fonctionnement en parallèle en mémoire
▪ Base fractionnée en multiples partitions - Pas de verrou et aucune
latence dans le système
▪ Site officiel : [Link]
▪ Documentation : [Link]
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de [Link] 588
VoltDB : Architecture
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de [Link] 589
VoltDB : partitionnement
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de [Link] 590
NewSQL : autres exemples de systèmes
▪ Google Spanner : service de base de données relationnelles
horizontalement extensible et globalement cohérent
▪ NuoDB : base de données distribuée « élastique » sur le cloud
▪ CockroachDB : inspiré de Google Spanner, construit au dessus du moteur
clé-valeur RocksDB, compatible avec PostgreSQL
591
©Maude Manouvrier - Univ. Paris Dauphine - Adapté de de [Link] et [Link]
donnees-SQL-devient-distribuee
Convergence SQL, NoSQL et NewSQL ?
▪ Support du JSON dans la norme SQL:2016 et dans certains SGBD relationnels :
• PostgreSQL : [Link]
• MySQL : [Link]
• Oracle : [Link]
▪ Extension des modèles des SGBD relationnels :
• Gestion de clé-valeur sous PostgreSQL :
[Link]
• Gestion de graphes sous PostgreSQL : [Link]
multi-model-graph-database-extension-for-postgresql-2050/
• Gestion de graphes sous MariaDB : [Link]
• Gestion de graphe, documents et de clé-valeurs sous Oracle NoSQL :
[Link]
technologies/nosqldb/overview/[Link]
©Maude Manouvrier - Univ. Paris Dauphine 592
Convergence SQL, NoSQL et NewSQL ? : des
moteurs qui étendent leur modèle de base
©Maude Manouvrier - Univ. Paris Dauphine – Repris de [Link] 593
Convergence SQL, NoSQL et NewSQL ? : extension de plusieurs
moteurs et uniformatisation
▪ Extension en version distribuée ou Cloud ou DAS des SGBD relationnels :
• Postgres-XC (eXtensible Cluster) : multi-maître basée sur une architecture shared-
nothing
• MySQL Cluster : base de données distribuée de MySQL
• MariaDB SkySQL : plateforme MariaDB pour SQL distribué
• Amazon Aurora : service de base de données relationnelle hébergé développé et
proposé par Amazon
▪ Extension SGBD relationnels en mémoire : ex. Oracle ou SQL Server
▪ Ajout de fonctionnalités SQL ou propriétés ACID dans les moteurs NoSQL : ex.
MongoDB (ACID dans Mongo Atlas et traducteur SQL-requêtes MongoDB
[Link] sous ElastichSearch ou Apache Phenix
(requêtes SQL au-dessus de Hbase)
▪ Uniformisation des accès SQL/NoSQL : ex. SQL++ et Toad Data point
©Maude Manouvrier - Univ. Paris Dauphine 594
Modèle et langage unifié
SQL++ : projet de recherche de
University of California San
Diego - Dr. Yannis
Papakonstantinou
[Link]
/2014_1.pdf
PartiSQL ([Link]
Amazon) et N1QL (Couchbase)
basés sur SQL++
A Unified Metamodel for NoSQL
and Relational Databases (2022)
[Link]
©Maude Manouvrier - Univ. Paris Dauphine – Repris de [Link] 595
Toad Data
[Link]
©Maude Manouvrier - Univ. Paris Dauphine – Repris de [Link] 596