您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > HBase入门简介.
NoSQL数据库技术与HBASEby---王伟鹏内容提要什么是NoSQL,HBase为什么需要HBaseHTable的特点HBase的安装与使用什么是NoSQL,HBaseSQL结构化查询语言(StructuredQueryLanguage)关系型数据库NoSQL(非关系型)NoSQL≠NoSQL,而是NoRelationship,NotOnlySQLHBase是NoSQL数据库的一种什么是HBaseHadoop生态系统什么是HBaseHBase是一个分布式的、多版本的、面向列的开源数据库利用HadoopHDFS作为其文件存储系统,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。利用HadoopMapReduce来处理HBase中的海量数据利用Zookeeper作为协同服务。引入HBASE的原因传统数据库系统已无法适应大型分布式数据存储的需要改良的关系数据库(分库、分区等)难于安装与维护引入HBASE的原因HBASE从设计理念上就为可扩展做好了充分准备空间的扩展只需要加入存储结点实质上是一张极大的、非常稀疏的,存储在分布式文件系统上的表HBase的特点HBase中表的特点大:一个表可以有上亿行,上百万列面向列:面向列(族)的存储和权限控制,列(族)独立检索。稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。每个cell中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;HBase中的数据都是字符串,没有类型;什么是HBaseHBaseRDBMS数据类型只有字符串丰富的数据类型数据操作简单的增删改查各种各样的函数,表连接存储模式基于列存储基于表格结构和行存储数据保护更新后旧版本仍然会保留替换可伸缩性轻易的进行增加节点,兼容性高需要中间层,牺牲功能HBase表逻辑结构行键列列族时间戳单元HBase表逻辑结构RowKeyrowkey是用来检索记录的主键,访问hbasetable中的行列族hbase表中的每个列,都归属与某个列族。列族必须在使用表之前定义。列名都以列族作为前缀。例如courses:history,courses:math都属于courses这个列族。Cell由{rowkey,column(family+label),version}唯一确定的单元。cell中的数据类型全部是字节码形式存贮。时间戳每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引,最新的数据排在最前面。HBase表物理存储1.Table中的所有行都按照rowkey的字典序排列。2.Table在行的方向上分割为多个HRegion。3.Region按大小分割的,每个表开始有一个region,随着数据不断插入表,增大到一个阀值的时候,HRegion就会等分会两个新的HRegion。HBase表物理存储4.HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion可以分布在不同的HRegionserver上。但一个HRegion是不会拆分到多个server上的。HBase表物理存储5.事实上,HRegion由一个或者多个Store组成,每个store保存一个列族。每个Strore又由一个memStore和0至多个StoreFile组成。系统总体结构HDFSClusterZooKeeperClusterRegionServerRegionServerRegionServerMasterServerHStoreMapFilesHStoreMapFilesRegion系统总体结构MasterServer1为Regionserver分配region2负责regionserver的负载均衡3发现失效的regionserver并重新分配其上的region4GFS上的垃圾回收RegionServer1.为区域的访问提供服务,读,写,分割,合并2.向主服务器(MasterServer)上报自己的状态,并获取自己需要服务的区域Zookeeper1.Hadoop和Hbase的重要组件,为分布式应用提供一致性服务的软件2.功能包括:配置维护、名字服务、分布式同步等。HBase安装需要ZooKeeper支持本身带zookeeper.jar包步骤解压,并添加支撑的.jar包到用户CLASS_PATH修改conf下hbase-env.sh,regionserversHbase-site.xml启动Hbase:bin/start-hbase.shHBaseShell启动bin/hbaseshell主要命令create创建表describe描述表enable/disable表激活/取消drop删除表get/put表读写HBaseAPIHBaseConfigurationaddResource(…)HTableput(…)get(…)ResultScannernext(…)谢谢
本文标题:HBase入门简介.
链接地址:https://www.777doc.com/doc-2875844 .html