Apache HBase como habrán leído anteriormente es una base NoSql, la cual es orientada a columna.
Pero que características la hacen una base tan especial:
- Balanceador de carga y recuperación de errores automático: HBase corre sobre el sistema de archivos de Hadoop, hdfs, el cual puede recuperarse dado a que cuenta con bloques de recuperación y servidores de replicación.
- Fragmentación automática: HBase maneja el concepto de región lo que permite tener replicaciones en una región determinada y compartir la información con dicha región.
- Integración con Hadoop: HBase corre sobre el sistema de archivos de Hadoop, por lo que cuenta con una muy buena integración con el ecosistema Hadoop.
- Map-reduce: HBase utiliza Hadoop map-reduce framework para resolver problemas en paralelo.
- Java Api: los clientes java pueden utilizar toda la potencia de la jdk, ya que hbase fue escrito en java.
- Thrift o rest web services: HBase brinda 2 caminos para exponer funcionalidad una REST API o servicios Thrift
- Soporta monitoreo: Igual que Hadoop, soporta software de monitoreo el cual nos indicara la salud de nuestra base de datos.
- Distribuida: Puede correr en varios servers.
- Escalabilidad lineal: es decir que podemos prever que va a crecer su performance agragando un servidor o cuanto cae si quitamos un servidor.
- Orientado a Columna: esto no es una ventaja es solo una característica. Pero quería hacer la lista larga.
- Soporta comandos de shell: Se puede administrar HBase totalmente desde una consola .
- Soporta versiones: soporta diferentes versiones, a la vez permite hacer snapshot, de versiones anteriores. A la vez soporta multilples versiones de un solo registro por medio de la snapshot que utiliza internamente