What is Apache HBase and when should you use it?

Visión de conjunto: Apache HBase can be defined as the Hadoop database. It is a distributed, non-relational and open source database written in Java. It is developed based on the Google BigTable framework and runs on HDFS (Hadoop distributed file system). Apache HBase se utiliza cuando tiene un requisito de azar, el acceso en tiempo real a su gran volumen de datos. HBase es un candidato adecuado cuando tienes cientos de millones o miles de millones de filas y el hardware suficiente para apoyarlo. Como HBase se basa en HDFS y HDFS se comporta bien cuando hay mínimo 5 nodos de datos. Así que en breve, HBase es un "almacén de datos’ marco tipo que se distribuye y adecuado para el procesamiento de grandes volúmenes de datos.

En este artículo voy a explicar los detalles con conceptos arquitectónicos.

Introducción: Apache HBase es un sistema de gestión de base de datos orientada a columnas NoSQL que se ejecuta en la parte superior de HDFS. HBase no es compatible con el lenguaje estructurado de consultas SQL como. HBase aplicaciones son todas las tareas de MapReduce y escritos en Java. HBase es compatible con las aplicaciones escritas en REST, Ahorro y Avro. Algunas de las características importantes de HBase se enumeran a continuación.

• HBase apoya sharding automática.
• HBase apoya HDFS como su almacenamiento distribuido.
• HBase apoya MapReduce para el procesamiento paralelo de gran volumen de datos.
• HBase tiene soporte para las API de cliente Java.
• HBase apoya firmemente lectura consistente y operaciones de escritura. Es adecuado para la agregación de contador de alta velocidad.

Diferencia entre HBase y HDFS: Hemos descrito que HBase se basa en la parte superior de HDFS. Lo que podría tener confusión que HDFS y similares HBase. Pero hay que recordar que el HDFS no es un sistema simple de archivos, más bien se trata de un almacenamiento distribuido adecuado para almacenar gran volumen de datos. HDFS no admite registro rápido mirar hacia arriba para gran volumen de datos. Pero HBase funciona por encima de HDFS y proporciona una rápida mirar hacia arriba y actualización.

¿Cuándo se debe utilizar HBase?
HBase es un típico almacén de datos NoSQL y columnares. La selección de una base de datos NoSQL y RDBMS depende del requisito de la aplicación. Así que primero, debemos entender la exigencia de claridad y luego seleccione la base de datos. Si solo tiene que seleccionar un NoSQL DB sin un análisis adecuado, entonces puede causar problemas para usted. Y también será un mal uso de la tecnología y los recursos. Los siguientes son algunos puntos que deben tenerse en cuenta para la selección de una base de datos NoSQL como HBase.

Volumen: El volumen de datos es el primer criterio para la selección de una base de datos NoSQL. Usted debe tener un sinfín de datos (millones o billones de filas) para procesar y almacenar. Si sólo tiene unos pocos miles o millones de filas a continuación RDBMS tradicional es el mejor ajuste. Sin embargo, si selecciona HBase por una pequeña cantidad de datos, los datos se acumularán en un solo nodo y los demás nodos del clúster está ocioso.

El soporte de hardware: HDFS realiza eficientemente cuando hay al menos 5 nodos de datos. Como sabemos que HBase se basa en HDFS, por lo que debe tener el apoyo suficiente hardware para la implementación de HBase DB.

No hay necesidad de características RDBMS: Asegúrese de que su aplicación no requiere características adicionales proporcionadas por típica RDBMS. Las características avanzadas como la transacción, consulta compleja, desencadenantes no son compatibles con HBase. Así que este es otro criterio importante para la selección.

Conceptos HBase Diseño:
Los conceptos de diseño detrás de HBase son similares a HDFS y el marco MapReduce. Como todas las obras en un entorno distribuido, el diseño general se basa en una arquitectura maestro-esclavo. HDFS trabaja en NameNode y esclavo nodos, MapReduce trabaja en JobTracker y TaskTracker esclavos. Del mismo modo HBase tiene la siguiente arquitectura maestro-esclavo.

  • nodo maestro gestiona el clúster.
  • datos de la tabla almacena los servidores región y el trabajo en los datos.

A medida que el nodo maestro es el controlador principal, HBase es muy sensible a la pérdida de su nodo maestro.

Vistas HBase: HBase es tener una vista de tabla para almacenar datos. El concepto principal se basa en la columna de la familia. La tabla HBase está hecho de filas, columnas y cada columna pertenece a una familia de pilares. La clave fila de la tabla es la clave principal para el acceso a la tabla. La clave fila puede ser cualquier cosa y las filas están ordenadas según la clave de fila. Los siguientes son los dos puntos de vista que describen los conceptos.

Análisis conceptual: En esta sección voy a explicar el punto de vista conceptual, tomando un ejemplo. La tabla contiene las familias de las columnas y las familias de las columnas contienen columnas. La convención es que una columna se compone de tres partes – apellido columna, prefijo y la columna nombre. El carácter de dos puntos (:) delimita la familia de la columna y la columna. Permítanme poner un ejemplo, el nombre de la tabla es 'hbasetable’ colfamily1 tener dos familias de columna '’ y 'colfamily2'. El 'colfamily1’ tiene nombre de dos columnas '’ y 'dirección'. El 'colfamily2’ tiene una columna 'Telf'. Así que la estructura sería como se muestra a continuación.

Table "hbasetable’

colfamily1: name = “Ricardo”

colfamily1: dirección = “MA, EE.UU.”

colfamily2: Telf = “2235678”

La vista tabular se vería más adelante.

fila clave Time Stamp ColumnFamily colfamily1 ColumnFamily colfamily2
"Rowkey1" T1 colfamily2: Telf = “2235678”
"Rowkey2" T2 colfamily2: Telf = “9995678”
"Rowkey3" T3 colfamily2: Telf = “8896578”
"Rowkey4" T4 colfamily1: name = “Ricardo”
"Rowkey5" T5 colfamily1: dirección = “MA, EE.UU.”

Table 1: vista en tablas de 'hbasetable'

Ver física: Ya hemos discutido el punto de vista conceptual de la mesa de HBase y su contenido. Pero el punto de vista físico es un poco diferente. Físicamente, las tablas HBase se almacenan en una base de la familia columna. Así que las nuevas columnas se pueden añadir fácilmente sin ninguna notificación previa. Esta característica añade la flexibilidad de escalabilidad lineal que hemos discutido anteriormente.

A continuación se presentan vista en tablas de dos familias de columna.

fila clave Time Stamp ColumnFamily colfamily1
"Rowkey4" T4 colfamily1: name = “Ricardo”
"Rowkey5" T5 colfamily1: dirección = “MA, EE.UU.”

Tabla 2: Mostrando colfamily1

 

fila clave Time Stamp ColumnFamily colfamily2
"Rowkey1" T1 colfamily2: Telf = “2235678”
"Rowkey2" T2 colfamily2: Telf = “9995678”
"Rowkey3" T3 colfamily2: Telf = “8896578”

Tabla 3: Mostrando colfamily2

Tenga en cuenta que las celdas vacías que se muestran en la vista conceptual no se almacenan realmente. El almacenamiento sólo se permite para una estructura de almacenamiento orientada a columnas. Así que si consultamos algunos datos en particular, marca de tiempo "T1’ de 'colfamily1', entonces se volvería nada. Lo mismo es cierto para los 'colfamily2’ además, todos los sellos de tiempo se almacenan en un orden descendente. Así valor más reciente de una columna en particular sería devuelto si no hay indicación de la hora se menciona en una consulta.

Conclusión: Antes de concluir la discusión, debemos tener en cuenta que HBase es un código abierto, NoSQL distribuye base de datos adecuada para almacenar y procesar sin fin de datos. Se desarrolla bajo proyecto Apache Hadoop y basadas en el marco HDFS. HBase operaciones son todas las tareas de MapReduce que corren de manera paralela. El concepto básico es el mismo que BigTable de Google. La selección de la base de datos NoSQL debe hacerse con cuidado. El diseño de diseño RDBMS y NoSQL es completamente diferente de datos por lo que transferir de RDBMS a HBase no es posible. Todo el diseño tiene que ser cambiado para pasar de RDBMS a NoSQL HBase,en.

Etiquetado en:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share