martes, 28 de febrero de 2017

15. HBase



HBASE

 

Descripción

Es una base de datos orientada a columnas distribuidas, construido en la parte superior del sistema de archivos Hadoop. Es un proyecto de código abierto y es escalable horizontalmente.HBase es un modelo de datos que es similar a la gran mesa de Google diseñado para proporcionar acceso aleatorio rápido de grandes cantidades de datos estructurados. Se aprovecha la tolerancia a fallos proporcionada por el sistema de archivos de Hadoop (HDFS).Es una parte del ecosistema Hadoop que proporciona al azar en tiempo real el acceso de lectura / escritura a los datos en el sistema de archivos de Hadoop.Uno puede almacenar los datos en HDFS ya sea directamente o a través de HBase. Consumidor de datos lee / accede a los datos en HDFS utilizando al azar HBase. HBase se sienta en la parte superior del sistema de archivos Hadoop y proporciona acceso de lectura y escritura.HBase y HDFS 
HDFS
HBase
HDFS es un sistema de archivos distribuido adecuado para almacenar archivos de gran tamaño.
HBase es una base de datos integrada en la parte superior de la HDFS.
HDFS no soporta rápidas búsquedas de registros individuales.
HBase ofrece búsquedas rápidas para las tablas más grandes.
Proporciona el procesamiento por lotes de alta latencia; ningún concepto de procesamiento por lotes.
Proporciona acceso de baja latencia a las filas individuales de miles de millones de registros (de acceso aleatorio).
Se proporciona sólo acceso secuencial de los datos.
HBase utiliza internamente Las tablas hash y proporciona acceso aleatorio, y almacena los datos en archivos HDFS indexadas para búsquedas más rápidas.
 Mecanismo de almacenamiento en HBase HBase es una base de datos orientada a columnas y las tablas en que están ordenadas según la fila. El esquema de la tabla define familias columna solo, que son los pares de valores clave. Una mesa de tener múltiples familias de columna y cada familia columna puede tener cualquier número de columnas. Valores de las columnas subsiguientes se almacenan de forma contigua en el disco. Cada valor de la celda de la tabla tiene una marca de tiempo. En resumen, en un HBase: 
  • Tabla es una colección de filas.
  • Fila es una colección de familias de columna.
  • familia de columna es una colección de columnas.
  • La columna es un conjunto de pares de valores clave 
A continuación se realiza un esquema de ejemplo de la tabla en HBase. 
rowid
columna de la familia
columna de la familia
columna de la familia
columna de la familia
col1
col2
col3
col1
col2
col3
col1
col2
col3
col1
col2
col3
1
2
3

Orientada columna y fila OrientadaLas bases de datos orientadas a columnas son los que almacenan las tablas de datos como secciones de columnas de datos, en lugar de como filas de datos. En breve, tendrán las familias de las columnas. 
Base de datos de fila-Oriented
Base de datos de la columna-Oriented
Es conveniente para el proceso de transacciones en línea (OLTP).
Es conveniente para el procesamiento analítico en línea (OLAP).
Estas bases de datos están diseñados para pequeño número de filas y columnas.
Bases de datos orientadas a columnas están diseñadas para grandes tablas.

S.O. Soportados 

 Los principales conjuntos de programas de sistemas que gestionan los recursos de hardware y que proveen servicios a los programas de aplicación de software que se ejecutan en HBase son: ·         Linux ·         Unix ·         Windows  

Aplicaciones

  • Se utiliza cada vez que hay una necesidad de escribir aplicaciones pesadas.
  • HBase se utiliza siempre que necesitamos para proporcionar un acceso aleatorio rápido a los datos disponibles.
  • Empresas como Facebook, Twitter, Yahoo y Adobe utilizan HBase internamente.

Escalabilidad

 

HBase es u almacén distribuido del tipo column-oriented que puede ser también denominado como la base de datos Hadoop. El proyecto está dirigido a ofrecer tablas enormes de “miles de millones de filas, y millones. 

No. Usuarios concurrentes

 110 TB en HDFS~ 40 TB en HBase2300 crash p/min> 120 servidores físicos 12+30 Billones de eventos de + 10 Millones de usuarios+ 10 años de datos (clínicos, financieros, operacionales). 

Transacciones

Tephra es una solución open-source (licencia Apache 2.0) que ofrece transacciones globales sobre Apache HBase.
HBase ofrece consistencia para operaciones ACID a nivel de row o región, pero no multi-tabla o multi-región.Tephra soportar transacciones globales sobre regiones, tablas o múltiples RPCS, lo que simplifica el desarrollo sobre HBase.Para esto Tephra ofrece versionado de datos proveyendo multi-versioned concurrency control (MVCC), de modo que cada transacción ve su “snapshot” de los datos.Tephra está compuesto de 3 componentes:·    Transaction Server – maintains global view of transaction state, assigns new transaction IDs and performs conflict detection;
·      Transaction Client – coordinates start, commit, and rollback of transactions; and
· TransactionProcessor Coprocessor – applies filtering to the data read (based on a given transaction’s state) and cleans up any data from old (no longer visible) transactions.
La forma de usarlo con HBase es esta:

Herramientas de apoyo

 Abarca sistema de archivos, carga de datos, búsqueda como:·         Avro 1.7.4
·         Chukwa 0.5.0
·         Flume 1.3.1
·         HBase 0.96.0
·         HDFS 2.2.0
·         Hive 0.12.0
·         Lucene 3.3.0
·         Oozie 3.3.2
·         Pig 0.12.0
·         Sqoop 1.4.3
·         Zookeeper 3.4.5    
 

Soporte técnico 

·         Soporte a través de foro                                      
·         Soporte estándar de IBM                                     
·         Actualizaciones de Software                                         
·         Soporte de Alta Disponibilidad  
 

Costo y tipos de licencia

 Soporte de facturación y administración de suscripciones gratuitoPlanes de soporte flexibles desde MXN$559.71/mes.Conectividad garantizada del 99,9 % para varias instancias.  

Última actualización

 
Año
Evento
2006 Nov
Google libera el papel de BigTable.
2007 Feb
HBase prototipo inicial fue creada como Hadoop contribución.
2007 Oct
La primera utilizable junto con Hadoop HBase 0.15.0 se ha lanzado.
2008 Ene
HBase se convirtió en el subproyecto de Hadoop.
2008 Oct
HBase 0.18.1 fue liberado.
2009 Ene
HBase 0.19.0 fue liberado.
2009 Sept
HBase 0.20.0 fue liberado.
Mayo de 2010
HBase convirtió en Apache project de nivel superior.
  

Clientes importantes que la usan

 Entre las empresas que han adoptado HBase, podemos destacar:– Adobe– Amadeus IT Group, Como almacenamiento a largo plazo– Daumkakao– Facebook, Plataforma de mensajería.– LinkedIn– Netflix– Spotify, Usa HBase como base para trabajos Hadoop y Machine learning.– Tuenti, Plataforma de mensajería.– Sears 

Requisitos de instalación 

Se puede considerar "la base de datos" de Hadoop. Basado en BigTable de Google, proporciona la capacidad de crear tablas con millones de entradas y permite hacer accesos de lectura/escritura rápida y consistentemente. También es versionada y no-relacional, por lo que ofrece flexibilidad. Además es fácilmente conectable, ya sea a través de su API java o mediante web services. Podemos usar HBase para dar forma a nuestros datos.Si usa una suscripción de Azure de la que no es el administrador o el propietario como, por ejemplo, una suscripción propiedad de una empresa, debe comprobar lo siguiente antes de seguir los pasos descritos en este artículo:·         Para iniciar sesión en Azure, debe tener al menos acceso de colaborador al grupo de recursos de Azure. Este grupo de recursos se utiliza para crear un clúster de Azure HDInsight y otros recursos de Azure.
·         Un usuario con al menos acceso de Colaborador a la suscripción de Azure debe haber registrado previamente el proveedor para el recurso que está utilizando. El registro del proveedor se produce cuando un usuario con acceso de Colaborador a la suscripción crea un recurso por primera vez en la suscripción. También puede realizarse sin crear ningún recurso mediante el registro de un proveedor con REST.
  

Requisitos de software

 Una configuración común incluye de 6 a 12 terabytes (TB) de espacio en disco y de 48 a 96 gigabytes (GB) de RAM. Controladores RAID para los discos son innecesarias porque HDFS proporciona protección de datos cuando los discos fallan. 

Requisitos de almacenamiento


HBase requiere una caché de lectura y escritura que se asigna desde el almacenamiento dinámico de Java. 

Lenguajes soportados

·         C 


·         C# 


·         C++


·         Java 


·         PHP 


·         Python


·        
Scala     

    Referencias Bibliográficas

 http://db-engines.com/en/system/HBases
    by: Violeta FM.



    

x

No hay comentarios:

Publicar un comentario