版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四、分布式存储数据库4.1oltp和olap的区别OLTP:On-LineTransactionProcessing(联机事务处理过程)。也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。典型案例:银行转账,电商下单4.1oltp和olap的区别oltp的概念OLAP:On-LineAnalyticProcessing(联机分析处理过程)。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型案例:商品推荐,仓库库存调整4.1oltp和olap的区别olap的概念4.1oltp和olap的区别行式存储(Row-Oriented)行式存储广泛应用于主流关系型数据库。如Oracle,MySQL的Innodb引擎。主要存储方式是按照行连续保存。商品ID商品名商品描述销量店铺名店长1连衣裙描述11000爱居兔Franny2运动鞋描述2888360Rick1连衣裙描述11000爱居兔Franny2运动鞋描述2…第1行第2行数据读取方向
Select`商品名`
from`销量表`4.1oltp和olap的区别列式存储(Column-Oriented)列式存储是指数据库按照列为单位来存储。如Mariadb的ColumnStore引擎。每列数据分块保存。读取某列数据比行式存储IO数据量更少。新增一行数据需要在每一块数据后面分别增加,效率较行式存储低。新增一列不影响之前的列。商品ID12商品名连衣裙运动鞋销量1000888销量表3连帽风衣777新增行商品描述描述1描述2新增列每列作为单独块保存4.1oltp和olap的区别列式存储的特点表连接IO操作更高效商品ID12商品名连衣裙运动鞋商品ID12销量1000888店铺名爱居兔360店长FrannyRick销量表店铺商品列表商品ID12商品ID12只需要读取连接(join)的列来执行匹配Select`商品名`,`销量`,`店铺名`
from`销量表`aleftjoin`店铺商品列表`bwherea.`商品ID`=b.`商品ID`4.1oltp和olap的区别列式存储的特点任何列都能作为索引姓名张三李四王五赵六刘七陈八年龄172339201415行式存储列式存储Select`姓名`,`年龄`from`用户`where`年龄`<18姓名年龄张三17李四23王五39赵六20刘七14陈八15141723141517202339B+树索引如果列建立了索引,则查询会根据索引查找。新增行或更新行也需要更新索引。如果没有索引则需要全表扫描。列无需先建立索引,可在执行查询时建立。100011位图索引4.1oltp和olap的区别行式存储和列式存储优缺点对比行式存储列式存储优点数据被保存在一起。INSERT/UPDATE容易。查询时只有涉及到的列会被读取。任何列都能作为索引。相同列的数据存放在一起,数据压缩容易。列数可以很多缺点执行Select时即使只涉及某几列,所有数据也都会被读取。列数不能太多,一般不能超过30列。执行Select时,被选择的列要重新组装成Table。INSERT/UPDATE比较麻烦。识别以下场景是OLTP还是OLAP?共享单车解锁线上购物下单操作“你喜欢的XX商品降价了”2019春运旅客迁徙图4.1oltp和olap的区别行式存储和列式存储适用场景列式存储:(OLAP)(1)对于单列,获取频率较高,就使用列式存储。(2)如果针对多列查询,使用并行处理查询效率也是很高,可采用列式存储。(3)对于大数据的环境,利于数据压缩和线性扩展,也可以采用列式存储。(4)事务使用率不高,数据量非常大。(5)对于更新某些行的频率不高,也可以选择列式存储。行式存储:(OLTP)(1)关系之间的解决方案,表与表之关联大,可以采用行式存储。主键--外键(2)强事务特性,如消费、资金的业务。(3)如数据小于千万级,可考虑行式存储。四、分布式存储数据库4.2HBase简介在分布式文件系统上构建一个数据库
会有什么特性/挑战?1.继承分布式文件系统的特性,海量数据存储,存储成本低,容错性。2.同时面临分布式文件系统带来的负面特性,块的尺寸较大,流式文件,随机读写能力弱。4.2HBase简介构建在分布式文件系统上的数据库需要满足的条件HBase是构建在HDFS分布式文件系统上,是一个提供高可靠性、高性能、可伸缩、实时随机读写、分布式数据库。它是Google公司BigTable思想的开源实现,具有存储非结构化数据的能力。4.2HBase简介HBase简介HBase是构建在HDFS分布式文件系统上,是一个提供高可靠性、高性能、可伸缩、实时随机读写、分布式数据库。它是Google公司BigTable思想的开源实现,具有存储非结构化数据的能力。4.2HBase简介HBase在企业的应用小米大数据框架主要运用在广告营销系统,搜索和推荐,互联网金融、精细化运营、防黄牛、图片分析和处理领域。其中存储用的较多的是HBase。。4.2HBase简介HBase在小米的应用4.2HBase简介为什么青睐HBase?4.2HBase简介HBase的特性伸缩性:表可以很“高”(数十亿个数据行),可以很“宽”(数百万个列族)。自动分区:当表行数增长时,表会自动分裂成Region,并分布到可用节点上。线性扩展和对于新节点的自动处理:增加节点,指它指向RegionServer,Region自动负载均衡。普通商用硬件支持容错:HBase拥有HDFS提供的容错能力。检索性能:HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。4.2HBase简介HBase的数据模型术语rowkeyinfoscorenamesexagechnmathts1001张三女248990ts2001张三女238990ts1002李四男3091列族(ColumnFamily)列限定符(Qualifier)单元格(Cell)行(Row)行键(RowKey)时间戳(Timestamp)表(Table)4.2HBase简介HBase的数据模型术语详解(1)表(Table)HBase采用表来组织数据,表由行和列组成,列又可以划分为若干个列族(ColumnFamily)。(2)行(Row)每个HBase表都由若干个行组成,每个行由行键(RowKey)来唯一标识。行键可以是任意字符串的字节数组,按字典序排序,因此行键设计非常重要。访问表中的行有3种方式:通过单个行键访问,通过一个行键的区间来访问,全表扫描。(3)列族(ColumnFamily)列族必须在表的定义阶段给出。每个列族可以有一个或多个列限定符(Qualifier),列限定符不需要在表定义时给出,新的列限定符可以随后按需、动态加入。数据按列族分开存储,HBase的列式存储就是根据列族分开存储,每个列族对应一个存储区域。4.2HBase简介HBase的数据模型术语详解(4)列限定符(Qualifier)列族里面的数据通过列限定符来定位。列限定符不用事先定义,也不需要在不同行之间保持一致。列限定符通常也简称为列(Column)。(5)单元格(Cell)单元格由行键、列族、列限定符、时间戳唯一决定。单元格中的数据是没有类型的,全部以字节码形式存储。(6)时间戳(Timestamp)每个单元格都保持着同一份数据的多个不同版本,这些版本都采用时间戳来进行区分和索引。时间戳通常也称为版本(Version)。4.2HBase简介HBase的数据模型HBase的数据模型可以看成是一个多维度的(Key-Value)Map。4.2HBase简介HBase的数据模型HBase的数据模型可以看成是一个多维度的(Key-Value)Map。Table+RowKey+ColumnFamily+Column+TimestampKeyValueCell四、分布式存储数据库4.3HBase集群部署本地模式伪分布式完全分布式4.3HBase集群部署HBase的安装4.3HBase集群部署HBase的本地模式和伪分布式配置项讲解参数文件配置参数参考值本地模式.bashrcHBASE_HOME/home/hadoop/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/jdk1.8.0_144hbase-site.xmlhbase.rootdirfile:///home/hadoop/hbase-1.3.1/data伪分布模式.bash_profileHBASE_HOME/home/hadoop/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/jdk1.8.0_144HBASE_MANAGES_ZKtruehbase-site.xmlhbase.rootdirhdfs://192.168.1.31:9000/hbasehbase.cluster.distributedtruehbase.zookeeper.quorum192.168.1.31dfs.replication1regionservers
192.168.1.314.3HBase集群部署HBase的完全分布式配置项讲解参数文件配置参数参考值完全分布模式.bashrcHBASE_HOME/home/hadoop/hbase/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/hbase/jdk1.8.0_144HBASE_MANAGES_ZKtruehbase-site.xmlhbase.rootdirhdfs://192.168.1.31:9000/hbasehbase.cluster.distributedtruehbase.zookeeper.quorum192.168.1.31dfs.replication2hbase.master.maxclockskew180000regionservers
192.168.1.32192.168.1.334.3HBase集群部署WebConsole访问Hbase(端口:16010)四、分布式存储数据库4.4Hbase的物理模型-region的介绍1.HBase的每个表是由许多行组成的,但是在物理存储的时候,它采用了基于列的存储方式。HBase会将属于同一个列族的数据保存在一起,同时,和每个列族一起存放的还包括RowKey和Timestamp。2.空的值不会保存到数据库。4.4Hbase的物理模型-region的介绍HBase的数据存储的特点4.4Hbase的物理模型-region的介绍HBase的数据存储RowKeyTimestampColumnValue001ts1info:name张三001ts1info:sex女001ts1info:age24001ts2info:age23...TableStu的2个列族物理存储的时候会被存储成为两个片段。RowKeyTimestampColumnValue001ts1score:chn89001ts1score:math90002ts1score:chn91...RowKeyinfoscorenamesexagechnmathts1001张三女248990ts2001张三女238990ts1002李四男3091空值不会被保存Region是HBase中分布式存储和负载均衡的最小单元。一个HBase表由一个或多个Region组成,表增长一个Region会分裂出多个新的Region。4.4Hbase的物理模型-region的介绍HBase物理模型——RegionRegionRegionRegion......按RowKey字典序Table4.4Hbase的物理模型-region的介绍HBase物理模型——RegionHBase支持多种切分触发策略,用户可以根据业务在表级别选择不同的切分触发策略。TableRegionRegionTable数据增多RegionTable一分为二Region四、分布式存储数据库4.5Hmaster和regionserver的介绍以及工作原理4.5Hmaster和regionserver的介绍以及工作原理HBase的架构ClientZooKeeperHMasterRegionRegionServerRegionRegionRegionRegionServerRegionRegionDFSClientDFSClientHDFSHBase读写数据管理和监控RS4.5Hmaster和regionserver的介绍以及工作原理HMasterHMaster负责表和Region的管理工作(1)管理用户对表结构的操作(2)实现不同RegionServer之间的负载均衡(3)Region分裂或合并后,负责重新调整Region的分布。(4)监控RegionServer的工作状态,对发现故障失效的RegionServer上的Region进行迁移。4.5Hmaster和regionserver的介绍以及工作原理RegionServer(1)维护HMaster分配给它的Region(2)响应Client对Region的读写请求(3)负责切分正在运行过程中变的过大的Region(Region分裂)4.5Hmaster和regionserver的介绍以及工作原理ZookeeperZooKeeper是一个高可用的分布式数据管理和协调框架。(1)保证集群中至少有一个HMaster处于运行状态(2)存储HBase的schema、表元数据、Region的寻址入口(3)实时监控RegionServer的上线和下线信息4.5Hmaster和regionserver的介绍以及工作原理RegionServer的工作原理HRegionServer是RegionServer的封装实现,它由一个WAL(HLog)、一个BlockCache、多个HRegion组成。4.5Hmaster和regionserver的介绍以及工作原理RegionServer的工作原理(1)WAL(HLog)WAL即WriteAheadLog,在早期版本中称为HLog,它是HDFS上的一个文件,如其名字所表示的,所有写操作都先保证将数据写入这个Log文件后,才会真正更新MemStore,最后写入HFile中。HLog数据写入写缓存MemStoreHFile3214.5Hmaster和regionserver的介绍以及工作原理RegionServer的工作原理(2)BlockCacheBlockCache是一个读缓存。HBase将数据预读取到内存中,以提升读的性能。读MemStore读StoreFile(HFile)不存在在MemStore中吗在BlockCache中吗不存在读BlockCache存在存在4.5Hmaster和regionserver的介绍以及工作原理RegionServer的工作原理HFileStoreStoreFileStoreFileHFileMemStoreHFileStoreStoreFileMemStoreHRegionHLog(WAL)(3)HRegionHRegion是一个表中的一个Region在一个HRegionServer中的表达。Region由一个或者多个Store组成,每个Store保存一个列族(ColumnsFamily)。每个Store又由一个MemStore和0至多个StoreFile组成。MemStore存储在内存中,StoreFile存储在HDFS四、分布式存储数据库4.6HBase使用介绍14.6HBase使用介绍1HBase的安装本地模式伪分布式完全分布式4.6HBase使用介绍1HBase的安装参数文件配置参数参考值本地模式.bashrcHBASE_HOME/home/hadoop/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/jdk1.8.0_144hbase-site.xmlhbase.rootdirfile:///home/hadoop/hbase-1.3.1/data伪分布模式.bash_profileHBASE_HOME/home/hadoop/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/jdk1.8.0_144HBASE_MANAGES_ZKtruehbase-site.xmlhbase.rootdirhdfs://192.168.1.31:9000/hbasehbase.cluster.distributedtruehbase.zookeeper.quorum192.168.1.31dfs.replication1regionservers
192.168.1.314.6HBase使用介绍1HBase的安装参数文件配置参数参考值完全分布模式.bashrcHBASE_HOME/home/hadoop/hbase/hbase-1.3.1hbase-env.shJAVA_HOME/home/hadoop/hbase/jdk1.8.0_144HBASE_MANAGES_ZKtruehbase-site.xmlhbase.rootdirhdfs://192.168.1.31:9000/hbasehbase.cluster.distributedtruehbase.zookeeper.quorum192.168.1.31dfs.replication2hbase.master.maxclockskew180000regionservers
192.168.1.32192.168.1.334.6HBase使用介绍1HBase的安装WebConsole访问Hbase(端口:16010)四、分布式存储数据库4.7HBase使用介绍24.7HBase使用介绍2HBaseShell动作命令表达式查询服务器状态status查询Hbase版本version查看有哪些表list创建表create'表名称','列族名称1','列族名称2','列族名称N',添加一个列族alter'表名称','列族名'删除列族alter'表名称',{NAME=>'列族名称',METHOD=>'delete’}启用/禁用这个表enable/disable'表名称'是否启用/是否禁用is_enabled/is_disabled删除一张表先要屏蔽该表,才能删除表,第一步disable'表名称'第二步drop'表名称'查看表的结构describe'表名称'检查表是否存在exists'表名称'4.7HBase使用介绍2HBaseShell动作命令表达式添加记录put'表名称','行键','列族:列名称','值'删除记录delete'表名称','行键','列名称'删除整行的值deleteall'member','debugo'更新记录就是重写一遍进行覆盖查看记录get'表名称','行键'查看表中记录数count'表名称'4.7HBase使用介绍2HBaseShell动作命令表达式扫描整张表scan'表名称'扫描整个列簇scan'表名称',{COLUMN=>'列族'}查看某个表某个列中所有数据scan'表名称',{COLUMNS=>'列族名:列名称'}限制查询结果行数先根据这个rowkey定位到region,再向后扫描scan'表名称',{STARTROW=>'rowkey1',LIMIT=>行数,VERSIONS=>版本数}(也可传入STOPROW(结束行)、TIMERANGE(限定时间戳范围))等值过滤scan'表名称',FILTER=>"ValueFilter(=,'binary:某值')"值包含子串过滤scan'表名称',FILTER=>"ValueFilter(=,'substring:子串')"列名中的前缀scan'表名称',FILTER=>"ColumnPrefixFilter('某前缀')"Rowkey的前缀进行判断scan'表名称',FILTER=>"PrefixFilter('某前缀')"四、分布式存储数据库4.8Hbase的读写流程、数据存储过程4.8Hbase的读写流程、数据存储过程HBase的读写流程METATable(.META.)记录了用户表的Region信息,“.META.”可以有多个Region,一般保存一台RegionServer上。而Zookeeper则保存了METATable的位置。4.8Hbase的读写流程、数据存储过程HBase的读流程ClientZooKeeperRegionServer2.META.RegionServer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科急救处理试题及答案
- 第4讲 核酸是遗传信息的携带者 高中生物第一轮总复习
- PM预警装置课程设计课程设计
- PID电机调速技术资料课程设计
- 丙酮空气课程设计
- 图像灰度化与边缘检测算法课程设计课程设计
- 起重机械维修工岗前实操掌握考核试卷含答案
- 宠物疾病诊断课程设计
- AI换脸视频教程完整版课程设计
- 城市拥堵预测方法设计课程设计
- 2026年烟花爆竹零售经营安全考试试题及答案
- 2026年人教版新版数学四年级上册第三单元《多位数乘两位数》教学设计
- 新苏教版科学六年级上册1.1 《蜡烛的变化》教学课件
- 新教科版科学五年级上册1-1《研究放大镜》教学课件
- 【新教材】2026秋统编版|九年级上册历史全册教案
- 2026-2027学年统编版九年级语文上册第一单元综合检测卷(含答案)
- 2026秋小学人教版音乐五年级上册(新教材)教学计划含教学进度表
- 抵制不良行为促进同学友善小学主题班会课件
- 第1课时 数说祖国2026-2027学年北师大版四年级数学上册
- 新版部编人教版四年级上册语文全册1-8单元教材分析
- 2026一上数学期中复习教案
评论
0/150
提交评论