cité, cohérence, intégrité référentielle, persistance (les données ne se perdent pas!), temps réel, ... BIG DATA Gain apporté par cette nouveauté version 21: Hadoop au service de vos applications ! 139 n o u v e a u t é W D W B W M Connecteur natif à Hadoop: Hbase, Hive, HDFS La version 21 propose un accès natif à Hadoop. Hadoop permet l’écriture et l’accès aux données selon 3 niveaux hiérarchiques: • soit au niveau colonne (HBASE) • soit au niveau «requête», car finalement les concepteurs de bases NO SQL se sont aperçus que de temps en temps une requête était nécessaire (Hive). • soit au niveau «fichier» entier (ou bloc de fichier) (HDFS) La version 21 de WINDEV permet d’utiliser les technologies Big Data Hadoop facilement, directement en WLangage. 137 Gain apporté par cette nouveauté version 21: n o u v e a u t é W D W B Connecteur natif à Hadoop ! W M Hadoop: architecture distribuée 140 n o u v e a u t é W D W B W M HBase Hadoop est un ensemble de technologies (framework) permettant le traitement de volumes de données massifs en utilisant des clusters de serveurs. Hadoop en soit n’est pas un logiciel, c’est un «concept». Parmi les logiciels composant Hadoop on trouve Hbase (la base de données elle-même), Hive (le langage de requêtage) et HDFS (couche bas niveau de stockage des fichiers, qui sont forcément distribués). Le concept essentiel dans le domaine du «big data» est que l’architecture de stockage est massivement distribuée, en général sur des centaines ou des milliers de serveurs. Cinq machines (qui peuvent être des machines virtuelles) minimum sont nécessaires pour mettre en place une base Hadoop. Les architectures Big Data sont «échelonnables» (ou scalables), c'est-à-dire qu'il est possible d'ajouter des serveurs supplémentaires pour absorber la montée en charge des applications. Les applications développées avec la version 21 accèdent nativement aux clusters de données Hadoop. Gain apporté par cette nouveauté version 21: Hadoop au service de vos applications ! 138 n o u v e a u t é W D W B W M HBase est une base de données non relationnelle (NoSQL) distribuée, orientée colonne disposant d'un stockage non structuré pour les grandes tables. HBase est une composante essentielle de Hadoop. HBase est conçue pour traiter des données aux volumes importants (plusieurs milliards de lignes, plusieurs millions de colonnes par ligne) et non uniformes (chaque ligne peut avoir une structure différente des autres lignes). Dans une base HBase, les données sont stockées dans une table, de manière dénormalisée. Une table est découpée en familles de colonnes, qui contiennent elles-mêmes des colonnes. Chaque ligne («row», équivalent d'un enregistrement dans un SGBD traditionnel) est identifiée par un et un seul «rowKey». Le «rowKey» est la seule clé de la table. Une cellule est l’intersection d’une ligne et d’une colonne (rien de neuf là-dedans !). L’historique du contenu d’une cellule est conservé de façon horodatée (avec la date/heure d'écriture). On peut poser des filtres sur une table HBase (un peu à la manière d’un filtre sur HFSQL). Gain apporté par cette nouveauté version 21: Hadoop, NoSQL: bases de données non relationnelles Les bases de données Hadoop sont dénommées bases «NoSQL». Ce terme est galvaudé, car ils s’agit en réalité de bases «non relationnelles». Une base NoSQL est une base qui s’affranchit des limites des bases de données relationnelles (scalabilité), mais en s’affranchissant également de certaines de leurs fonctionnalités: atomi- Accédez nativement aux bases Big Data depuis vos applications et vos sites. 141 n o u v e a u t é W D W M HBase : programmation La version 21 propose une nouvelle famille de fonctions WLangage pour accéder aux bases HBase. Ces nouvelles fonctions WLangage permettent de créer une table, d'ajouter des lignes «row», de lire des données et de sup- 35 Les nouveautés WINDEV 21 W B WEBDEV 21 WINDEV Mobile 21