HBase es una base de datos distribuida no relacional de código abierto modelada a partir de Bigtable de Google y escrita en Java . Se desarrolló como parte del proyecto Apache Hadoop de Apache Software Foundation y se ejecuta sobre HDFS (Hadoop Distributed File System) o Alluxio , lo que proporciona capacidades similares a las de Bigtable para Hadoop. Es decir, proporciona una forma tolerante a fallas de almacenar grandes cantidades de datos dispersos (pequeñas cantidades de información atrapadas dentro de una gran colección de datos vacíos o sin importancia, como encontrar los 50 elementos más grandes en un grupo de 2 mil millones de registros, o encontrar los elementos distintos de cero que representan menos del 0,1 % de una gran colección).
HBase ofrece compresión, operaciones en memoria y filtros Bloom por columna, como se describe en el artículo original de Bigtable. [2] Las tablas en HBase pueden servir como entrada y salida para trabajos de MapReduce ejecutados en Hadoop, y se puede acceder a ellas a través de la API de Java, pero también a través de las API de puerta de enlace REST , Avro o Thrift . HBase es un almacén de columnas anchas y ha sido ampliamente adoptado debido a su linaje con Hadoop y HDFS. HBase se ejecuta sobre HDFS y es adecuado para operaciones rápidas de lectura y escritura en grandes conjuntos de datos con alto rendimiento y baja latencia de entrada/salida.
HBase no es un reemplazo directo de una base de datos SQL clásica , sin embargo, el proyecto Apache Phoenix proporciona una capa SQL para HBase, así como un controlador JDBC que se puede integrar con varias aplicaciones de análisis e inteligencia empresarial . El proyecto Apache Trafodion proporciona un motor de consultas SQL con controladores ODBC y JDBC y protección de transacciones ACID distribuidas en múltiples declaraciones, tablas y filas que utilizan HBase como motor de almacenamiento.
HBase ahora presta servicio a varios sitios web basados en datos [3], pero la plataforma de mensajería de Facebook migró de HBase a MyRocks en 2018. [4] [5] A diferencia de las bases de datos relacionales y tradicionales, HBase no admite scripts SQL; en cambio, el equivalente está escrito en Java, empleando la similitud con una aplicación MapReduce.
En el lenguaje del Teorema CAP de Eric Brewer , HBase es un sistema de tipo CP. [6]
Historia
Apache HBase nació como un proyecto de la empresa Powerset, que surgió de la necesidad de procesar cantidades masivas de datos para realizar búsquedas en lenguaje natural . Desde 2010 es un proyecto Apache de alto nivel.
Facebook decidió implementar su nueva plataforma de mensajería usando HBase en noviembre de 2010, pero abandonó HBase en 2018. [4]
La serie 2.4.x es la línea de lanzamiento estable actual y reemplaza las líneas de lanzamiento anteriores.
Casos de uso e implementaciones de producción
Empresas que utilizan HBase
La siguiente es una lista de empresas notables que han utilizado o están utilizando HBase:
- 23andMe
- Adobe
- Airbnb utiliza HBase como parte de su marco de cálculo de flujo en tiempo real AirStream [7]
- Grupo Alibaba
- Amadeus IT Group , como su principal base de datos de almacenamiento a largo plazo.
- Bloomberg , para el almacenamiento de datos de series temporales
- Facebook utilizó HBase para su plataforma de mensajería entre 2010 y 2018
- Flipkart utiliza HBase para su índice de búsqueda [8] y para la información de los usuarios. [9]
- Ráfaga
- HubSpot
- Imgur utiliza HBase para impulsar su sistema de notificaciones [10] [11]
- Cacao [12]
- Netflix [13]
- Interés [14]
- Préstamos rápidos
- Combustible para cohetes
- Salesforce.com [15]
- Sears
- Sophos , para algunos de sus sistemas back-end.
- Spotify utiliza HBase como base para trabajos de Hadoop y aprendizaje automático. [16]
- Gorjeo
- Tuenti utiliza HBase para su plataforma de mensajería. [17] [18]
- Xiaomi
- ¡Yahoo!
Véase también
- No SQL
- Tienda de columnas anchas
- Mesa grande
- Casandra apache
- Oracle NOSQL
- Hipertabla
- Acumulación Apache
- MongoDB
- Proyecto Voldemort
- Riak
- Golpe de puño
- Búsqueda elástica
- Fénix apache
Referencias
- ^ abc "Apache HBase – Descargas de Apache HBase" . Consultado el 27 de septiembre de 2022 .
- ^ Chang, et al. (2006). Bigtable: un sistema de almacenamiento distribuido para datos estructurados
- ^ "Apache HBase – Powered By Apache HBase". hbase.apache.org . Consultado el 8 de abril de 2018 .
- ^ ab "Migración del almacenamiento de Messenger para optimizar el rendimiento". www.facebook.com . 26 de junio de 2018 . Consultado el 5 de julio de 2018 .
- ^ Facebook: Por qué nuestras comunicaciones de "próxima generación" abandonaron MySQL Consultado: 17 de diciembre de 2010
- ^ "Compensaciones de consistencia en el diseño de sistemas de bases de datos distribuidas modernas" (PDF) . Febrero de 2012 . Consultado el 23 de octubre de 2024 .
- ^ HBaseCon (2 de agosto de 2016). «Apache HBase en Airbnb». slideshare.net . Consultado el 8 de abril de 2018 .
- ^ "Indexación de búsquedas en tiempo casi real". 4 de enero de 2018.
- ^ "¿La localización de datos está siempre lista para usar en Hadoop?". 10 de marzo de 2018.
- ^ "Por qué Imgur abandonó MySQL en favor de HBase - Base de datos DZone". dzone.com . Consultado el 8 de abril de 2018 .
- ^ "Martes tecnológico: Notificaciones de Imgur: de MySQL a HBase - El blog de Imgur". blog.imgur.com . Consultado el 8 de abril de 2018 .
- ^ Doyung Yoon. "S2Graph: una base de datos de gráficos a gran escala con HBase".
- ^ Cheolsoo Park y Ashwin Shankar. "Netflix: Integrando Spark a escala de petabytes".
- ^ Ingeniería, Pinterest (30 de marzo de 2018). "Mejora de la eficiencia de las copias de seguridad de HBase en Pinterest". Medium . Consultado el 14 de abril de 2020 .
{{cite web}}:|first=tiene nombre genérico ( ayuda ) - ^ "Hbase en Salesforce.com".
- ^ Josh Baer. "Cómo Apache impulsa las recomendaciones musicales de Spotify".
- ^ "Chat grupal de Tuenti: sencillo pero complejo". Archivado desde el original el 24 de noviembre de 2012. Consultado el 29 de septiembre de 2015 .
- ^ "Tuenti Asincrónico". GitHub . 6 de noviembre de 2013.
Bibliografía
- Dimiduk, Nick; Khurana, Amandeep (28 de noviembre de 2012). HBase in Action (1.ª ed.). Manning Publications . pág. 350. ISBN 978-1617290527.
- George, Lars (20 de septiembre de 2011). HBase: The Definitive Guide (1.ª ed.). O'Reilly Media . pág. 556. ISBN 978-1449396107.
- Jiang, Yifeng (16 de agosto de 2012). Libro de recetas de administración de HBase (1ª ed.). Publicación de paquetes . pag. 332.ISBN 978-1849517140.
Enlaces externos
- Página de inicio oficial de Apache HBase