Apache HBase
HBase est une base de données distribuée non relationnelle open source , inspirée de Bigtable de Google et écrite en Java . Développée dans le cadre du projet Apache Hadoop de l...
HBase est une base de données distribuée non relationnelle open source , inspirée de Bigtable de Google et écrite en Java . Développée dans le cadre du projet Apache Hadoop de la fondation Apache Software Foundation , elle s'exécute sur HDFS (Hadoop Distributed File System) ou Alluxio , offrant des fonctionnalités similaires à celles de Bigtable pour Hadoop. Elle permet ainsi de stocker de grandes quantités de données éparses avec une tolérance aux pannes (de petites quantités d'informations noyées dans un vaste ensemble de données vides ou sans importance, comme la recherche des 50 éléments les plus importants parmi 2 milliards d'enregistrements, ou des éléments non nuls représentant moins de 0,1 % d'une immense collection).
HBase offre la compression, le traitement en mémoire et des filtres de Bloom par colonne, comme décrit dans l'article original sur Bigtable . Les tables HBase peuvent servir d'entrée et de sortie pour les tâches MapReduce exécutées dans Hadoop et sont accessibles via l'API Java, ainsi que via les API REST , Avro ou Thrift Gateway. HBase est un système de stockage à colonnes larges , largement adopté grâce à sa compatibilité avec Hadoop et HDFS. Fonctionnant sur HDFS, HBase est parfaitement adapté aux opérations de lecture et d'écriture rapides sur de grands ensembles de données, avec un débit élevé et une faible latence d'entrée/sortie.
HBase ne remplace pas directement une base de données SQL classique . Cependant, le projet Apache Phoenix fournit une couche SQL pour HBase ainsi qu'un pilote JDBC , permettant son intégration avec diverses applications d'analyse et de veille stratégique . Le projet Apache Trafodion, quant à lui , propose un moteur de requêtes SQL avec des pilotes ODBC et JDBC , ainsi qu'une protection transactionnelle ACID distribuée pour plusieurs instructions, tables et lignes utilisant HBase comme moteur de stockage.
HBase est désormais utilisé par plusieurs sites Web basés sur les données mais la plateforme de messagerie de Facebook a migré de HBase vers MyRocks en 2018. Contrairement aux bases de données relationnelles et traditionnelles, HBase ne prend pas en charge les scripts SQL ; l'équivalent est écrit en Java, utilisant une similarité avec une application MapReduce.
Selon le théorème CAP d'Eric Brewer , HBase est un système de type CP.
Histoire
Apache HBase a été initialement développé par la société Powerset pour répondre au besoin de traiter d'énormes quantités de données à des fins de recherche en langage naturel . Depuis 2010, il s'agit d'un projet Apache de premier plan.
Facebook a choisi de mettre en œuvre sa nouvelle plateforme de messagerie en utilisant HBase en novembre 2010, mais a migré hors de HBase en 2018.
La série 2.5.x est la version stable actuelle, elle remplace les versions précédentes.
Cas d'utilisation et déploiements en production
Les entreprises qui utilisent HBase
Voici une liste d'entreprises notables qui ont utilisé ou utilisent HBase :
- 23andMe
- Adobe
- Airbnb utilise HBase dans le cadre de son framework de calcul de flux en temps réel AirStream
- Groupe Alibaba
- Amadeus IT Group , comme principale base de données de stockage à long terme.
- Bloomberg , pour le stockage de données de séries temporelles
- Facebook a utilisé HBase pour sa plateforme de messagerie entre 2010 et 2018.
- Flipkart utilise HBase pour son index de recherche et ses informations sur les utilisateurs.
- Rafale
- HubSpot
- Imgur utilise HBase pour alimenter son système de notifications
- Kakao , opérateur de KakaoTalk
- LY , opérateur de ligne
- Netflix
- Prêts Quicken
- carburant de fusée
- Salesforce.com
- Sears
- Sophos , pour certains de leurs systèmes back-end.
- Spotify utilise HBase comme base pour Hadoop et les tâches d'apprentissage automatique.
- Gazouillement
- Tuenti utilise HBase comme plateforme de messagerie.
- Xiaomi
- Yahoo!