Apache HBase , la enciclopedia libre
Apache HBase | ||
---|---|---|
Información general | ||
Tipo de programa | Bases de datos distribuidas | |
Desarrollador | Apache Software Foundation | |
Lanzamiento inicial | 2006 | |
Licencia | Apache License 2.0 | |
Estado actual | Activo | |
Información técnica | ||
Programado en | Java | |
Plataformas admitidas | máquina virtual Java | |
Versiones | ||
Última versión estable | 1.2.1 ( 11 de abril de 2016 (8 años, 7 meses y 1 día)) | |
Última versión en pruebas | 2.4.217 de marzo de 2021 | |
Enlaces | ||
HBase es un sistema gestor de base de datos distribuida no relacional de código abierto modelada a partir de Google BigTable y escrita en Java. Su desarrollo forma parte del proyecto Hadoop de la Fundación de Software Apache y se ejecuta sobre HDFS (el sistema de archivos distribuidos de Hadoop), proporcionando capacidades al estilos de BigTable para Hadoop. Es decir, proporciona una forma tolerante de fallos de almacenar grandes cantidades de datos dispersos (pequeñas cantidades de información inmersas dentro de una gran colección de datos inexistentes o poco significativos, tales como la búsqueda de los 50 mayores elementos en un grupo de 2 mil millones de registros, o la búsqueda de elementos distintos de cero que representan menos del 0,1% de una enorme colección).
HBase incluye operaciones de compresión en memoria, y filtro de Bloom sobre la base de cada columna como se propone en el artículo original sobre BigTable.[1] Las tablas en HBase pueden servir como entrada o salida para tareas MapReduce en Hadoop, y se puede acceder a través del API en Java, como servicio REST, o con los API de conexión Avro y Thrift. Hbase es un almacén de datos orientado a columnas de tipo clave-valor y basado en Hadoop y HDFS. HBase se ejecuta sobre HDFS y es adecuado para acelerar operaciones de lectura y escritura en los grandes conjuntos de datos con un alto rendimiento y una baja latencia de entrada/salida.[2]
HBase no remplaza las bases de datos SQL clásicas, sin embargo el proyecto Apache Phoenix proporciona una capa de SQL para Hbase así como acceso vía el API JDBC que puede ser integrado con diversas herramientas de analítica de datos e inteligencia de negocios. El proyecto Apache Trafodion proporciona un motor de consulta SQL con drivers ODBC y JDBC y protección de transacciones ACID distribuidas a través de múltiples consultas, tablas y filas utilizando HBase como motor de almacenamiento.
Actualmente, Hbase se utiliza en sitios web orientados a datos,[3] incluyendo la plataforma de mensajería de Facebook.[4][5] A diferencia de las bases de datos relacionales tradicionales, HBase no da soporte a consultas SQL sino a scripts escritos en Java que emplean un motor de cálculo similar a MapReduce.[2]
En términos del teorema CAP de Eric Brewer, HBase es un tipo de sistema CP (consistencia y tolerancia a particiones).
Historia
[editar]Apache HBase empezó como un proyecto de la empresa Powerset para satisfacer sus necesidades de proceso masivo de datos de las búsquedas en lenguaje natural. Actualmente es un proyecto Apache de nivel superior.
Facebook seleccionó Hbase para implementar su nueva plataforma de mensajería en noviembre de 2010.[4]
Véase también
[editar]- NoSQL
- Bigtable
- Apache Cassandra
- Hypertable
- Oracle NOSQL
- Apache Accumulo
- MongoDB
- Riak
- Sqoop
- Elasticsearch
- Apache Phoenix
Referencias
[editar]- ↑ Chang, et al. (2006). «Bigtable: A Distributed Storage System for Structured Data». OSDI '06: 205-218. Consultado el 12 de junio de 2016.
- ↑ a b «Hbase Tutorial». Consultado el 12 de junio de 2016.
- ↑ «Powered By HBase». Consultado el 12 de junio de 2016.
- ↑ a b «The Underlying Technology of Messages». Facebook. Consultado el 12 de junio de 2016.
- ↑ «Facebook: Why our 'next-gen' comms ditched MySQL». Consultado el 12 de junio de 2016.