Py学习  »  NoSql

HBase——大数据平台之分布式NoSQL数据库

弗里曼的小伙伴 • 3 年前 • 453 次点击  

1 概述

Apache HBase是一个开源的,分布式的,版本化的非关系、列式、多版本、可扩展数据库,模仿Google的Bigtable。正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

主要特点是可以对大数据进行随机、实时读/写访问(1s以内)。能够托管非常大的表 - 数十亿行X百万列(传统关系型数据库列数一般不超过30个,单表不超过500万)。

1) 应用场景:交通、电商、金融、移动信息等。千万条以上数据,GB以上数据量才能发挥优势。

2) 特点:容量大,面向列(动态操作列),多版本(多版本数据列),稀疏性(无数据的列不占空间),扩展性(HDFS),高可靠性(HDFS),高性能(LSM数据结构,rowkey有序排列)。

3) 定位:HDFS 是分布式文件系统,适合保存大文件。HBase基于HDFS且提供大量记录的快速查找(和更新)。

4) Hadoop生态系统之HBase

2 架构体系

Master管理RegionServers,RegionsServer管理Region及其自动划分。

列簇不要超过5个,尽量使用1个列簇。只有完全不相关的列才可以增加列簇。

(1)Master:用来管理与监控所有的HRegionServer,也是管理HBase元数据的模块。

(2)zookeeper:作为分布式协调服务,用于保存meta表的位置,master的位置,存储RS当前的工作状态。

(3)RegionServer:负责维护Master分配的region,region对应着表中一段区间内的内容,直接接受客户端传来的读写请求。

(4)HDFS:负责最终将写入的数据持久化,并通过多副本复制实现数据的高可靠性。

3 表结构

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/103910
 
453 次点击