Perspectives

Vector dans Hadoop 5.0 - Nouvelles fonctionnalités à prendre en compte

Emma McGrattan

19 septembre 2017

Vecteur dans Hadoop 5.0

Nous annonçons aujourd'hui le lancement de la prochaine version d'Actian Vector dans Hadoop, qui étend notre support Apache Spark pour inclure un accès direct aux formats de fichiers Hadoop natifs et une intégration plus étroite avec les applications Spark SQL et Spark R. Cette version comprend également des améliorations de performance, une intégration avec les cadres de sécurité Hadoop et des améliorations administratives. Je couvrirai chacun de ces points plus en détail ci-dessous.

Combiner des tables natives Hadoop avec des tables vectorielles

Dans les versions précédentes, Vector in Hadoop exigeait que les données soient stockées dans un format propriétaire qui optimisait les performances analytiques et offrait une grande compression pour réduire la latence d'accès. Vector in Hadoop 5.0 offre la possibilité d'enregistrer des fichiers de données Hadoop (tels que des fichiers Parquet, ORC et CSV) en tant que tables dans VectorH et de joindre ces tables externes aux tables Vector natives. Vector in Hadoop fournira l'exécution analytique la plus rapide contre les données dans ces formats, même plus rapide que leurs moteurs de requête natifs. Cependant, l'exécution des requête ne sera jamais aussi rapide avec des tables externes qu'avec des données Vector natives. Si les performances sont importantes, nous vous suggérons de charger ces données dans Vector in Hadoop à l'aide de notre chargeur à grande vitesse.

Cette fonction permet aux clients qui ont normalisé un format de fichier particulier et qui veulent éviter de copier des données dans un format propriétaire de bénéficier de l'accélération des performances offerte par VectorH. Les détails du benchmark de stockage que nous avons réalisé dans le cadre de notre article SIGMOD ont montré que le format de fichier Vector était plus efficace du point de vue de la performance de la requête des données et de la compression des données. Voir notre article de blog de juillet 2016 qui explique plus en détail ce benchmark.

Véritable intégration de la sécurité Hadoop à l'échelle de l'entreprise

L'année dernière, une enquête de Forrester a indiqué que la sécurité des données est la préoccupation numéro un dans les déploiements Hadoop. Vector dans Hadoop fournit nativement la sécurité de niveau entreprise que l'on attend d'une plateforme EDW mature, c'est-à-dire le contrôle d'accès discrétionnaire (contrôle de qui peut lire, écrire et mettre à jour quelles données dans la base de données), le cryptage des données au repos au niveau des colonnes, le cryptage des données en mouvement , l'audit de sécurité avec des journaux d'audit adressables par SQL, et les alarmes de sécurité. Pour le reste de l'écosystème Hadoop, ces préoccupations ont conduit au développement de cadres de sécurité Hadoop, par le biais de projets tels qu'Apache Knox et Apache Ranger. Comme ces cadres commencent à apparaître dans les demandes de renseignements des clients, nous avons reçu de la documentation sur la façon de configurer VectorH pour l'intégration avec Apache Knox et Apache Ranger.

Améliorations significatives des performances

Les améliorations de performance qui ont permis à Vector 5.0 d'obtenir les meilleures performances dans le benchmark TPC-H 3000GB pour les systèmes non clusterisés sont maintenant disponibles dans Vector in Hadoop 5.0, où nous observons typiquement une évolutivité linéaire ou supérieure à la linéarité.

Génération automatique d'histogrammes

Les plans d'exécution des requête base de données dépendent fortement de la connaissance des données sous-jacentes ; sans statistiques sur les données, il faut faire des hypothèses sur la distribution des données , par exemple en supposant que tous les codes postaux ont le même nombre de résidents ou que les noms de famille des clients ont autant de chances de commencer par un X que par un M. VectorH 5.0 comprend une implémentation de la génération automatique de statistiques et d'histogrammes pour les tables Vector. Il en résulte que les histogrammes sont automatiquement créés et mis en cache en mémoire lorsqu'une requête contient une référence à une colonne dans une clause WHERE, HAVING ou ON sans histogramme explicitement créé (par optimizedb ou CREATE STATISTICS).

Accélérer le démarrage et l'arrêt avec un journal distribué en écriture anticipée

Dans les versions précédentes de Vector in Hadoop, le fichier journal en avance sur l'écriture, qui contient les détails des mises à jour dans le système, était géré sur le nœud leader de VectorH. Ce fichier journal résidant en mémoire consommait une grande partie de la mémoire du Leader Node et devenait un goulot d'étranglement au démarrage, car le fichier journal devait être rejoué pendant le démarrage et ce processus pouvait prendre plusieurs minutes. Dans VectorH 5.0, nous avons mis en place un fichier WAL (Write Ahead Log) distribué, où chaque nœud dispose d'un WAL local. Cela permet d'alléger la pression sur la mémoire, d'améliorer les temps de démarrage et, accessoirement, d'accélérer le traitement des COMMIT.

Accélérer les requêtes avec des index distribués

Dans les versions précédentes, le nœud leader de VectorH était responsable du maintien des index min-max automatiques pour toutes les partitions. Pour rappel, l'index min-max garde la trace des valeurs minimales et maximales stockées dans un bloc de données ; cet index interne nous permet d'identifier rapidement les blocs qui participeront à la résolution d'une requête et ceux qui n'ont pas besoin d'être lus. Cet index réside en mémoire et est construit au démarrage du serveur. Dans VectorH 5.0, chaque nœud est responsable de la maintenance de sa propre partie de l'index, ce qui allège la pression sur la mémoire du nœud leader, améliore nos temps de démarrage en distribuant le travail et accélère les requêtes DML.

Gestion simplifiée des partitions grâce à la spécification des partitions

Nous avons constaté qu'un certain nombre de clients de VectorH ont rencontré des problèmes de performance parce qu'ils ne savaient pas qu'il fallait inclure la clause PARTITION lors de la création de tables, en particulier lors de l'utilisation de CREATE TABLE AS SELECT (CTAS). Disons qu'ils avaient une table existante distribuée sur 15 partitions et qu'ils voulaient créer une nouvelle table basée sur cette table originale, leur hypothèse était qu'elle aurait également 15 partitions, mais ce n'est pas la façon dont le standard SQL l'a prévu, et dans ce cas, être fidèle au standard SQL nous a fait du tort. Pour remédier à ce problème, nous avons ajouté un paramètre de configuration qui peut être défini pour exiger l'utilisation de NOPARTITION ou PARTITION= lors de la création d'une table vectorielle explicitement ou via CTAS.

Simplifier la sauvegarde et la restauration avec le clonage de bases de données

VectorH 5.0 introduit un nouvel utilitaire, clonedb, qui permet aux utilisateurs de faire une copie exacte de leur base de données dans une instance séparée de Vector, par exemple en prenant une copie d'une base de données de production dans un environnement de développement à des fins de test. Cette fonctionnalité a été demandée par l'un de nos clients existants mais a été très bien accueillie par tous les comptes Vector/VectorH.

Exportations plus rapides grâce au déchargement parallèle du connecteur d'étincelles

Le connecteur Vector Spark peut désormais être utilisé pour décharger de gros volumes de données en parallèle sur tous les nœuds.

Chargement simplifié avec la syntaxe SQL pour vwload

VectorH 5.0 inclut la possibilité d'utiliser vwload avec l'instruction SQL COPY pour un chargement parallèle rapide des données à partir de SQL.

Création simplifiée d'exportations CSV à partir de SQL

VectorH 5.0 inclut la possibilité d'exporter des données au format CSV à partir de SQL en utilisant la syntaxe suivante :

INSERT INTO EXTERNAL CSV 'filename' SELECT ... [WITH NULL_MARKER='NULL', FIELD_SEPARATOR=',', enregistrement'n']

Prochaines étapes

Pour en savoir plus, demandez une démo ou une version d'essai de VectorH pour l'essayer dans votre Cluster Hadoop. Vous pouvez également explorer la version monoserveur d'Actian Vector fonctionnant sous Linux, distribuée gratuitement en tant qu'édition communautaire, disponible en téléchargement.

blog d'emma mcgrattan

À propos d'Emma McGrattan

Emma McGrattan est directrice technique chez Actian, où elle dirige la R&D mondiale dans les domaines de l'analyse de de haute performance , de la gestion des données et de l'intégration. Depuis plus de vingt ans chez Actian, Emma détient plusieurs brevets dans le domaine des technologies de données et a joué un rôle déterminant dans l'innovation pour les applications critiques. Elle est une autorité reconnue, intervenant fréquemment lors de conférences de l'industrie telles que Strata Data, et elle a publié des articles techniques sur l'analytique moderne. Dans les articles qu'elle publie sur le blogue d'Actian, Emma aborde l'optimisation des performances, les architectures de nuages hybrides et les stratégies d'analytique avancée . Découvrez ses meilleurs articles pour une réussite basée sur les données.