Vidéo: Comprendre les collations dans SQL Server 2024
Un certain nombre d'entreprises investissent massivement pour piloter des projets open source et des solutions propriétaires pour l'accès SQL aux données Hadoop. Lorsque vous entendez le terme accès SQL, vous devez savoir que vous vous basez sur quelques hypothèses de base:
-
Normes linguistiques: La norme la plus importante, bien sûr, implique le langage lui-même. De nombreuses solutions "SQL-like" existent, bien qu'elles ne soient généralement pas à la hauteur de certains aspects fondamentaux, ce qui empêcherait même les instructions SQL classiques de fonctionner.
L'American National Standards Institute (ANSI) a établi SQL en tant que norme technique officielle, et l'industrie informatique accepte la norme ANSI SQL-92 comme étant la référence en matière de conformité SQL de base. ANSI a publié un certain nombre de versions progressivement plus avancées au fil des ans que les technologies de base de données ont évolué.
-
Pilotes: Un autre composant clé d'une solution d'accès SQL est le driver , l'interface permettant aux applications de se connecter et d'échanger des données avec le magasin de données. Sans pilote, il n'y a pas d'interface SQL pour les applications client ou les outils auxquels se connecter pour la soumission de requêtes SQL.
En tant que telle, toute solution SQL sur Hadoop doit avoir des pilotes JDBC et ODBC à tout le moins, car ce sont les technologies d'interface de base de données les plus utilisées.
-
Accès en temps réel: Jusqu'à Hadoop 2, l'exécution basée sur MapReduce était la seule option disponible pour l'analyse des données stockées dans Hadoop. Pour des requêtes relativement simples impliquant un balayage complet des données dans une table, Hadoop était assez rapide par rapport à une base de données relationnelle traditionnelle.
Gardez à l'esprit qu'il s'agit d'un cas d'utilisation de l'analyse par lots, où rapide peut signifier des heures, selon la quantité de données impliquées. Mais lorsqu'il s'agissait de requêtes plus complexes, impliquant des sous-ensembles de données, Hadoop ne s'est pas bien comporté. MapReduce est un framework de traitement par lots, ce qui permet d'obtenir de hautes performances pour les requêtes en temps réel avant que Hadoop 2 ne soit architecturalement impossible.
Un des premiers facteurs de motivation pour YARN, le nouveau système de gestion et de planification des ressources sur le bloc, était de prendre en charge d'autres frameworks de traitement pour activer les charges de travail en temps réel, telles que les requêtes SQL interactives. En effet, une bonne solution SQL ne devrait pas laisser les gens en attente de requêtes raisonnables.
-
Données Mutable: Une question fréquente dans de nombreuses discussions autour du support SQL sur Hadoop est "Pouvons-nous utiliser, et des instructions, comme nous pourrions le faire dans une base de données relationnelle typique? "Pour l'instant, la réponse est non, ce qui reflète la nature de HDFS - il est axé sur de grands fichiers immuables.Des technologies telles que Hive offrent un accès en lecture seule à ces fichiers. Peu importe, le travail est en cours dans le projet Hive Apache.