HBase
1 | Hbase概述 |
1.HBase概述
1 | HBase是一个构建在HDFS上的分布式列存储系统; |

1.1.HBase与HDFS的对比
1 | 两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点; |
1.2.HBase的特点
1 | 大:一个表可以有数十亿行,上百万列; |
1.3.行存储与列存储
1 | 传统行式数据库 |

1 | 列式数据库 |

1.4.HBase的数据模型
1 | HBase是基于Google BigTable模型开发的,典型的key/value系统; |

1.5.逻辑视图

1.6.Rowkey与Column Family

1.7.Hbase基本概念
1 | Row Key |
2.Hbase数据类型
1 | HBase schema可以有多个类似Table |

1 | version number 可由用户提供 |

2.1.HBase与支持的操作
1 | 所有操作均是基于rowkey的; |
3.Hbase物理模型
1 | 每个column family存储在HDFS上的一个单独文件中; |

1 | 1.Table中的所有行都按照row key的字典序排列; |

1 | 3.Region按大小分割的,每个表开始只有一个region,随着数据增多, region不断增大,当增大到一个阀值的时候,region就会等分会两个新的region,之后会有越来越多的region; |

1 | 4.Region是HBase中分布式存储和负载均衡的最小单元。不同Region分布到不同RegionServer上; |

1 | 5.Region虽然是分布式存储的最小单元,但并不是存储的最小单元 |

HBase架构

HBase基本组件
1 | Client |
Zookeeper作用
1 | HBase 依赖ZooKeeper |

Write-Ahead-Log(WAL)

HBase容错性
1 | Master容错: Zookeeper重新选择一个新的Master |
Regin定位
1 | 寻找RegionServer |

-ROOT-表与.META.表
1 | -ROOT- |
HDFS与HBase的比较

关系型数据与HBase的比较

何时使用HBase
1 | 需对数据进行随机读操作或者随机写操作; |
HBase在淘宝的应用
1 | 交易历史记录查询系统 |
HBase - Rowkey
1 | 表中行的键是字节数组(最大长度是64KB) |
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/02/12/HBase应用场景、原理与基本架构/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得