Introduction to HBase

2,085
-1

Published on

This presentation covers the following topics:

1. HBase versions and origins
2. HBase core concepts
3. HBase vs. RDBMS
4. Data Modeling
5. HBase architecture
6. HBase Master and Region Servers
7. Column Families and Regions
8. HBase Internals: Bloom Filters and Block Indexes
9. Write Pipeline / Read Pipeline
10. Compactions
11. Learning Resources

Published in: Technology

Introduction to HBase

  1. 1. @avkashchauhanhttp://www.linkedin.com/in/avkashchauhan
  2. 2. [HBASE-3996][HBASE-5416][HBASE-7757][HBASE-7748][HBASE-6669][HBASE-7728]
  3. 3. S = supported and tested,X = not supported,NT = it should run, but not tested enough.
  4. 4. http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
  5. 5. Name HBase RDBMSDatabase model Wide column store (BigTable Concept) Relational DBMSData scheme schema-free yesTyping no yesSecondary indexes no yesSQL no yesTriggers yes yesReplication methods selectable replication factor Master-master replication Master-slave replicationConsistency concepts Immediate ConsistencyForeign keys no yesTransaction concepts no ACIDConcurrency yes yesDurability yes yes
  6. 6. Row Key Time Stamp ColumnFamily contents ColumnFamily anchor anchor:cnnsi.com = "com.cnn.www" t9 "CNN" anchor:my.look.ca = "com.cnn.www" t8 "CNN.com" "com.cnn.www" t6 contents:html = "<html>..." "com.cnn.www" t5 contents:html = "<html>..." "com.cnn.www" t3 contents:html = "<html>..." Time TimeRow Key Column Family anchor Row Key ColumnFamily "contents:" Stamp Stamp"com.cnn.www" t9 anchor:cnnsi.com = "CNN" "com.cnn.www" t6 contents:html = "<html>...""com.cnn.www" t8 anchor:my.look.ca = "CNN.com" "com.cnn.www" t5 contents:html = "<html>..." "com.cnn.www" t3 contents:html = "<html>..."
  7. 7. http://stackoverflow.com/questions/12373275/the-usage-of-hbase-cell-version
  8. 8. To view a textualized version of hfile content, you can do usetheorg.apache.hadoop.hbase.io.hfile.HFile tool.Type the following to see usage: $ ${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.io.hfile.HFileFor example, to view the content of thefilehdfs://10.81.47.41:8020/hbase/TEST/1418428042/DSMP/4759508618286845475, type the following:$ ${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.io.hfile.HFile -v -fhdfs://10.81.47.41:8020/hbase/TEST/1418428042/DSMP/4759508618286845475If you leave off the option -v to see just a summary on the hfile.
  9. 9. Burton Howard Bloom [1] probabilistic data structure element sethttp://www.quora.com/How-are-bloom-filters-used-in-HBase
  10. 10. http://www.quora.com/How-are-bloom-filters-used-in-HBase
  11. 11. http://hbase.apache.org/book.html#d1949e12267
  12. 12. http://hbase.apache.org/book/quickstart.html
  13. 13. $ git diff hbase-env.shdiff --git a/conf/hbase-env.sh b/conf/hbase-env.shindex e70ebc6..96f8c27 100644--- a/conf/hbase-env.sh+++ b/conf/hbase-env.sh@@ -31,7 +31,7 @@ export JAVA_HOME=/usr/lib//jvm/java-6-sun/# export HBASE_CLASSPATH=# The maximum amount of heap to use, in MB. Default is 1000.-# export HBASE_HEAPSIZE=1000+export HBASE_HEAPSIZE=8192# Extra Java runtime options.# Below are what we set by default. May only work with SUN JVM.
  14. 14. http://hbase.apache.org/book.htmlhttp://www.livestream.com/facebookeducation/video?clipId=pla_da30a53a-5399-43cc-a615-62874db1c567http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/

×