《大数据与云计算》课件-11.Hbase_第1页
《大数据与云计算》课件-11.Hbase_第2页
《大数据与云计算》课件-11.Hbase_第3页
《大数据与云计算》课件-11.Hbase_第4页
《大数据与云计算》课件-11.Hbase_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据与云计算知识点HBASE数据库简介存储与管理贯穿大数据处理过程的始终。引言传统的关系型数据库难以应对大数据挑战。我们知道一台普通PC机的硬盘大概可以存储1Tb的数据,那么10Tb,100Tb,1000Tb怎么办?再比如现在我们大多数同学都有云存储空间,而且还不小有50GB的空间,那么10个、100个、10000个同学呢?我们说1万个同学就有1万个50GB大小的空间,也就是500TB,这500TB的信息显然不可能在一台计算机上存储。那又该如何存储,如何查询呢?分布式数据库HBase是一个分布式的非关系型数据库,一个高可靠、高性能、可伸缩的分布式数据库,是Nosql数据库,也就是NotOnly的缩写。它的扩展性强,并发性能好,数据模型灵活。属于Hadoop的组件,它使用Java语言编写,需要运行在HDFS文件系统之上,使用Zookeeper作为协同服务组件。HBase与Hadoop当中的其他组件一样,可以运行在多台计算机上,可以提供数10亿行乘以数百万列的大数据存储、管理,以及随机访问和实时读、写的能力。分布式数据库数据库的核心目的是实现数据的高效管理,传统关系数据库一度占据商业数据库应用的主流位置分布式数据库完备的关系理论基础事务管理机制的支持高效的查询优化机制随着web2.0应用的发展,关系数据库逐渐呈现不足:Schema-lessScalableNotransactions

Semi-structuredSchema

Hardtoscale

TransactionalStructured并发性可扩展性可用性分布式数据库HBase的原型是Google的分布式存储系统BigTableBigTable使用谷歌分布式文件系统GFS作为底层数据存储,配合MapReduce分布式并行计算模型来处理海量数据,采用Chubby提供协同服务管理可以扩展到PB级别的数据和上千台机器,具备广泛应用性、可扩展性、高性能和高可用性等特点。作为BigTable的开源实现,HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的数据。HBase的目标是处理非常庞大的表,通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列属性组成的数据表数据类型:关系数据库采用关系模型,具有丰富的数据类型和存储方式,比如我们刚才说的同学的成绩,这个就是整型的数据类型,只能是整数。姓名就是字符型,长度也可以固定,比如10个字符(5个汉字的长度)。HBase则采用了更加简单的数据模型,它把数据存储为未经解释的字符串,全部都是字符串。HBase与关系数据库的区别数据操作:关系数据库中包含了丰富的操作,其中会涉及复杂的多表连接。比如我们在关系型数据库中有两张表,有一张是我们的成绩信息,有一张表是我们的寝室信息家庭信息等等。这两张表有一个相同的字段姓名,这样我们就可以通过这个相同的字段把两张表连接起来。HBase操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表和表之间的关系。所以HBase也就不支持复杂的条件查询,只能是通过行键查询。存储模式:关系数据库是基于行模式存储的。我们说每一行就是一条记录。HBase是基于列存储的,每个列簇都由几个文件保存,不同列簇的文件是分离的。并且列簇中的列是可以动态增加的,而关系数据库需要一开始就设计好。除此之外,HBase可以自动切分数据,关系型数据库则需要我们人工切分数据。数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过巧妙的设计,HBase中的所有访问方法,或者通过行键访问,或者通过行键扫描,从而使得整个系统不会慢下来。可伸缩性:关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。数据维护:在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧的版本仍然保留。数据库的核心目的是实现数据的高效管理,传统关系数据库一度占据商业数据库应用的主流位置完备的关系理论基础事务管理机制的支持高效的查询优化机制随着信息化浪潮和互联网应用的兴起,传统的关系型数据库在一些业务上开始呈现不足:无法满足海量数据的管理需求无法满足数据高并发的需求无法满足高可扩展性和高可用性的需求NoSQL最初被理解为一味用新型数据库替代传统关系型数据库,但两者各有优缺点,无法完全取代NoSQL是对非关系型数据库的统称,具有以下几个特点:灵活的可扩展性灵活的数据模型与云计算紧密融合典型的NoSQL数据库通常包括:键值数据库列存储数据库文档数据库图数据库典型NoSQL数据库键值数据库(Key-Value)将数据存储为键值对集合,其中键作为唯一标识符,可以用来定位值。键值数据库值对数据库而言是不可见的,不能对值进行索引和查询。键是一个字符串对象,值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等键值数据库可以进一步分为内存键值数据库和持久化键值数据库内存键值数据库。键值数据库是高度可分区的,具有高可扩展性。列存储数据库列存储数据库主要面向海量数据的分布式存储。列存储数据库一般采用列族数据库模型,数据库由多行构成,每行数据包含多个列族,不同行可具有不同数量的列。每行数据通过行键进行定位,行键对应多个列,列以列族为单位组织存储。典型的列数据库包括Cassandra,HBase,HyperTable等。{"firstName":

"Bob","lastName":

"Smith","address":

{"street":"21

2ndStreet","city":

"New

York","state":

"NY","postalCode":

"10021"},"phoneNumbers":

[{"type":

“cell","number":

"(123)

555-0178"},{"type":

"Work","number":

"(890)

555-0133"},]}<contact><firstname>Bob</firstname><lastname>Smith</lastname><phone

type="Cell">(123)

555-0178</phone><phone

type="Work">(890)

555-0133</phone><address><type>Home</type><street>21

2nd

Street</street><city>New

York</city><state>NY</state><zip>10021</zip><country>US</country></address></contact>文档数据库“文档”是处理信息的基本单位,相当于关系数据库中的一条记录。旨在将半结构化数据存储为文档,通常用XML、JSON等文档格式来封装和编码数据文档数据库用于存储、检索和管理面向文档的信息。使用文档内容来构建索引典型的文档数据库包括CouchDB,MongoDB,RavenDB等文档数据库文档能够对包含的数据类型和内容进行“自我描述”。文档数据库一个文档可以包含非常复杂的数据结构,如嵌套对象,且每个文档可以有完全不同的数据结构。文档数据库图数据库图数据库(GraphDatabase)使用图作为数据模型,通过节点、边和属性来表示和存储数据。图数据库专门用于管理具有高度相互关联关系的数据。如社交网络、依赖分析、推荐系统以及路径寻找等问题。典型的图数据库包括Neo4J、InfiniteGraph、GraphDB等。NoSQL对比关系数据库关系数据库优势以完善的关系代数理论作为基础,有严格的标准,支持事务ACID,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持。可扩展性较差,无法较好支持海量数据存储,数据模型不够灵活、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等。劣势NoSQL对比关系数据库NoSQL数据库优势可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等。缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,缺乏专业团队的技术支持,维护较困难等。劣势存储业务数据:交通工具GPS信息,司机点位信息,订单信息,物流信息,设备访问信息,用户行为信息等存储日志数据:架构监控数据(登录日志,中间件访问日志,推送日志,短信邮件发送记录等),业务操作日志信息等存储业务附件:UDFS系统存储图像,视频,文档等附件信息,智慧城市系统的监控图像、流量数据等。HBase常见应用场景1本节介绍了分布式数据库Hbase的概念。2介绍了分布式数据库Hbase与关系数据库的区别,HBase数据库是BigTable的开源实现,支持大规模海量数据的存储与管理。3介绍了NoSQL数据库,NoSQL数据库主要包括键值数据库、列族数据库、文档型数据库和图数据库四种类型。4介绍了分布式数据库的常见应用场景。本章小结知识点HBASE数据库入门3hbase与分布式文件系统hdfs的区别1hbase的结构2hbase的特性HBASE数据库入门HBase本质上是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳。hbase的结构用户在表中存储数据,每一行都有一个可排序的行键和任意多的列。表中的值是未经解释的字符串,没有数据类型。行键列族

cf1列族

cf2列限定符3个时间戳有些列的值是空的,所以HBase是稀疏的hbase的结构逻辑视图vs.物理视图hbase的结构关系型数据库当中要修改表的结构就是很复杂的一件事,比如增加一个字段。举个例子来说,如果我们的成绩表当中忘记了计算机成绩这一列,你都录入了一大半数据才发现,这个时候你要先修改表的结构增加一列,然后在一行一行的输入每个同学的计算机成绩。如果是hbase就简单了,我把这一列直接扩充到hbase里面就可以了。hbase的结构29列族支持动态扩展,可以很轻松地添加一个列族或列,无需预先定义列的数量以及类型,所有列均以字符串形式存储,用户需要自行进行数据类型转换。hbase的结构HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。若不提供时间戳则默认返回最新版本。数据是按照时间戳顺序存储的,客户端可以选择获取距离某个时间最近的版本,或者获取所有版本。表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族hbase的结构行:每个HBase表都由若干行组成,每个行由行键(row

key)来标识。列族:一个HBase表被分组成许多“列族”(Column

Family)的集合,它是基本的访问控制单元列限定符:列族里的数据通过列限定符(或列)来定位hbase的结构单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[

]时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此可视为一个“四维坐标”[行键,列族,列限定符,时间戳];如果把坐标看成“键”,单元格数据看成“值”,HBase也可看成一个键值数据库。hbase的结构为空的列并不占用存储空间,表可以设计的非常稀疏稀疏性每一列存储的数据可以有多个version。多版本单表可以有百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常具有弹性。数据容量大HBase特性读写强一致,非“最终一致性”的数据存储,使得它非常适合高速的计算聚合。自动分片,通过Region分散在集群中,当行数增长的时候,Region也会自动的切分和再分配。Hadoop/HDFS集成,和HDFS开箱即用,不用太麻烦的衔接。扩展性强,只需要增加DataNode就可以增加存储空间。HBase特性丰富的“简洁,高效”API(应用程序接口),提供了Thrift/RESTAPI,JavaAPI等方式对HBase进行访问。块缓存,布隆过滤器,可以高效的列查询优化。操作管理,Hbase提供了内置的web界面来操作,还可以监控JMX指标。高可靠,保证了系统的容错能力,WAL机制使得数据写入时不会因为集群异常而导致写入数据丢失。故HBase选择了CAP中的CP。HBase特性面向列的存储和权限控制,并支持独立检索,可以动态的增加列。列式存储:其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量。高性能:具备海量数据的随机访问和实时读写能力。HBase特性分布式文件系统(HDFS)是指文件系统管理的物理存储资源不仅存储在本地节点上,还可以通过网络连接存储在非本地节点上。计算机集群的基本架构HBase与HDFS的区别HBase与HDFS的区别

分布式文件系统改变了数据存储和管理方式,相对于本地文件系统具有很存储和管理分布式多优势:低成本易扩展强可靠高可用1

用户无需关心数据是存储在哪个节点上,可以如同使用本地文件系统一样文件系统里的数据。2HDFS优点HDFS是面向批量的访问模式,其类型为文件系统,存储的是文件类型的数据。HBase与HDFS的区别HBase是面向随机访问和实时读写模式,其类型为数据库服务,存储的是非结构化和半结构化的松散数据。HBase使用HDFS作为底层的文件系统,HBase的数据最终会写到HDFS中。就像其他的数据库一样,真正的数据是存储在操作系统里的文件系统中的。HDFS是文件系统,Hbase是数据库。你可以把Hbase当做是MySQL,把HDFS当做是硬盘。Hbase只是一个NoSQL数据库,数据时存放在HDFS上的,Hbase在HDFS上提供了高并发的随机写和支持实时查询,这是HDFS不具备的。HBase与HDFS的区别原生的ApacheHadoopCDH:ClouderaDistributedHadoopHDP:HortonworksD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论