SQL (Structured Query Language) 6 minutes
SQL (Structured Query Language) est un langage de « programmation » standard utilisé pour contrôler les bases de données relationnelles et effectuer diverses opérations sur les informations qu’elles stockent. Développé pour la première fois dans les années 1970, SQL est régulièrement utilisé non seulement par les administrateurs de bases de données, mais aussi par les développeurs qui écrivent des scripts pour l’intégration des données et par les analystes de données qui veulent créer et exécuter des requêtes pour l’analyse.
Les utilisations de SQL comprennent la modification des tables et des structures d’index dans les bases de données, notamment l’ajout, la mise à jour et la suppression de lignes de données, ainsi que l’extraction de sous-ensembles de données de la base de données pour des applications analytiques et de traitement des transactions. Les requêtes et les autres opérations SQL sont constituées d’instructions écrites sous forme de commandes. Les instructions SQL les plus fréquemment utilisées sont les suivantes : select, add insert updates delete, create, modify, and reduce.
SQL est devenu le langage de programmation commun utilisé pour les bases de données relationnelles lorsqu’elles ont vu le jour à la fin des années 1970 et au début des années 1980. Également appelés bases de données SQL, ces systèmes sont constitués de tables contenant des colonnes et des lignes. Chaque colonne d’une table est liée à un type de données spécifique, comme le nom du client ou l’adresse. De même, chaque ligne a une valeur pour la colonne qui la croise.
SQL standard et extensions
Une norme SQL officielle a été élaborée par l’American National Standards Institute (ANSI) en 1986, puis par l’Organisation internationale de normalisation, également connue sous le nom d’ISO, en 1987. Plus d’une demi-douzaine de révisions conjointes de la norme ont été publiées par les deux organismes de normalisation depuis lors. Au moment de la rédaction de ce document, la version la plus récente est SQL :2011. Elle a été approuvée la même année.
Les organisations peuvent utiliser des systèmes de gestion de bases de données relationnelles ouverts et propriétaires qui sont construits autour de SQL. Cela inclut Microsoft SQL Server, Oracle Database, IBM DB2, SAP HANA, SAP Adaptive Server, MySQL (maintenant propriété d’Oracle) et PostgreSQL. Cependant, un grand nombre de ces bases de données prennent en charge SQL avec leurs propres extensions du langage standard utilisé pour la programmation procédurale ainsi que d’autres fonctions. Par exemple, Microsoft propose un ensemble d’extensions connu sous le nom de Transact-SQL (T-SQL) et la version de SQL d’Oracle est appelée PL/SQL. En fin de compte, les différentes versions de SQL proposées par les fournisseurs ne sont pas totalement compatibles entre elles.
Les commandes SQL et la syntaxe
Les commandes SQL sont classées en plusieurs types, notamment les instructions en langage de manipulation des données (DML) et en langage de définition des données (DDL), les contrôles de transaction et les mesures de sécurité. Le vocabulaire DML est utilisé pour manipuler et récupérer des données, tandis que les instructions DDL peuvent être utilisées pour créer et modifier les structures des bases de données. Les contrôles de transaction aident à gérer le traitement des transactions, en s’assurant que les transactions sont complètes ou sont annulées en cas de problèmes ou d’erreurs. Les instructions de sécurité peuvent être utilisées pour réguler l’accès aux bases de données ainsi que pour définir les rôles et les autorisations des utilisateurs.
Outils SQL-on-Hadoop
Le moteur de requête SQL-on-Hadoop est une nouvelle variante de SQL qui permet aux entreprises dont les architectures de big data sont construites sur des systèmes Hadoop d’utiliser ces moteurs au lieu d’avoir à utiliser des langages plus complexes et non éprouvés, notamment le langage de programmation MapReduce pour le développement d’applications par lots.
Plus d’une douzaine d’outils SQL-on Hadoop sont désormais disponibles via les sociétés de distribution Hadoop et d’autres vendeurs. Beaucoup sont des logiciels libres ou des versions commerciales. En outre, le moteur de traitement Apache Spark, qui est généralement utilisé avec Hadoop, est livré avec le module Spark SQL qui prend également en charge la programmation basée sur SQL.
En général, SQL sur Hadoop est encore une nouvelle technologie, et la majorité des outils disponibles ne prennent pas en charge toutes les fonctionnalités disponibles dans la version relationnelle de SQL. Cependant, ils sont en train de devenir une partie intégrante des déploiements Hadoop, car les entreprises cherchent à embaucher des analystes de données et des développeurs ayant une expertise SQL.