NoSQL数据库原理-第五章-HBase深入解析课件.pptx

上传人(卖家):三亚风情 文档编号:3573204 上传时间:2022-09-19 格式:PPTX 页数:57 大小:2MB
下载 相关 举报
NoSQL数据库原理-第五章-HBase深入解析课件.pptx_第1页
第1页 / 共57页
NoSQL数据库原理-第五章-HBase深入解析课件.pptx_第2页
第2页 / 共57页
NoSQL数据库原理-第五章-HBase深入解析课件.pptx_第3页
第3页 / 共57页
NoSQL数据库原理-第五章-HBase深入解析课件.pptx_第4页
第4页 / 共57页
NoSQL数据库原理-第五章-HBase深入解析课件.pptx_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、NoSQL数据库原理第5章 HBase深入解析 2 理解HBase的数据管理、存储与读写机制,可以更深入的理解HBase的优缺点,在实际应用时扬长避短,发挥最大效用 理解HBase和HDFS的关系,可以更好的管理、配置Hadoop+HBase集群 了解如何让HBase更可靠 如何通过开源软件扩展HBase的功能 更深入的理解“NoSQL”和RDBMS的差别第5章 HBase深入解析为什么要深入研究HBase的相关机制?3 HBase可以将大数据表进行水平分割,形成不同的区域(region),并由不同的Regionserver进行管理 分区过程可以自动进行,一般不需要用户干预 分区基于行键进行,

2、行键按字典顺序排序 和某个行键相关的数据,一定都在同一个分区 如何检索行键所属的分区?第5章 HBase深入解析5.1 水平分区原理 4 5.1.1 META表 Regionserver所管理的表和分区记录在META表中l 结构仍是键值对形式l 也会进行自动给分区 META表的入口地址存储在ZooKeeper集群,表的实体由若干个Regionserver进行管理(持久化在HDFS上)第5章 HBase深入解析5.1 水平分区原理 5 5.1.1 META表 查看其键值对内容:l scan hbase:metal WEB界面 列族info中包含三个列:regioninfo、server和serv

3、erstartcode。l Regioninfo中记录了行键范围、列族列表和属性;l server记录了负责的Regionserver地址;l serverstartcode则记录了Regionserver的启动时间。第5章 HBase深入解析5.1 水平分区原理 6 5.1.2 数据写入和读取机制 Regionserver负责向对应的表分区和列族中写入数据,管理缓存和排序,以及实现容错。分区(Region):对应表的横向拆分 Store:对应(列族)纵向拆分l 数据先写入内存(Memstore),根据时间、数据量、用户指令等进行flushl 每次flush形成一个storefile(持久化,

4、写入HDFS)l Storefile中的行键是有序的,Store之间无序(但行键的范围受分区的限制)l 某个store触发flush,则分区内的所有store都会进行flush,无论其是否达到触发条件第5章 HBase深入解析5.1 水平分区原理 7 5.1.2 数据写入和读取机制 列族过多的影响?为什么每次flush,会生成一个新文件?第5章 HBase深入解析5.1 水平分区原理 8 5.1.2 数据写入和读取机制 手动持久化操作l flush TABLENAME l flush REGIONNAME l REGIONNAME是编码过的分区名,可以在meta表中查询。第5章 HBase深入

5、解析5.1 水平分区原理 9 5.1.2 数据写入和读取机制 hbase-site.xml中调整配置,对memstore和持久化等机制进行优化。(1)hbase.hregion.memstore.flush.size:memstore持久化容量。当memstore数据达到该数值时进行持久化。默认值为128M(134217728),如果内存充足可以适当调高,可以减少小文件的产生以及小文件合并产生的开销。(2)hbase.hregion.memstore.block.multiplier:memstore阻塞系数。默认值为4,当memstore数据为hbase.hregion.memstore.f

6、lush.size的两倍时,强制阻塞所有更新操作。这是为防止在memstore容量接近但还未到达持久化容量之前,突然收到一批容量超大的更新请求,而导致的memstore容量超限。第5章 HBase深入解析5.1 水平分区原理 10 5.1.2 数据写入和读取机制 读数据机制 定位行键所属分区-(并行)查询相关的storefile 具有热门数据的缓存机制第5章 HBase深入解析5.1 水平分区原理 11 5.1.3 预写日志 预写日志(WAL,Write ahead log)l 当数据被写入memstore之前,Regionserver会先将数据写入预写日志(WAL,Writeaheadlog

7、),预写日志一般被写入HDFS,但键值写入时不会被排序,也不会区分Regionl 出现节点宕机、线程重启等问题时,memstore中未持久化的数据会丢失。当Regionserver恢复后,会查看当前WAL中的数据,并将记录进行重放(replay),根据记录的表名和分区名,将数据恢复到指定的store中l 在进行自动或手动的数据持久化操作之后,Regionserver会将不需要的WAL清除掉第5章 HBase深入解析5.1 水平分区原理 12 5.1.3 预写日志 预写日志(WAL,Write ahead log)l put、delete操作以及表描述符(HTableDescriptor)还可以

8、使用setDurability方法指定WAL级别:put.setDurability(Durability.SKIP_WAL);l setDurability的参数Durability具有5个枚举内容:(1)ASYNC_WAL:异步写WAL,即先将WAL缓存,再批量写入HDFS。此时仍然存在数据丢失的可能。(2)SYNC_WAL:同步写WAL,即将WAL直接写入HDFS。(3)FSYNC_WAL:类似SYNC_WAL,后续版本将不再支持。(4)SKIP_WAL:不写WAL日志,类似setWriteToWAL(false)。(5)USE_DEFAULT:使用HBase全局默认值,即SYNC_WA

9、L方式。第5章 HBase深入解析5.1 水平分区原理 13 5.1.4 分区拆分 HBase具有三种分区方式:自动分区、预分区和手动拆分 默认采用自动分区机制l HBase1.x采用IncreasingToUpperBoundRegionSplitPolicy策略,公式:Min(R2*hbase.hregion.memstore.flush.size,hbase.hregion.max.filesize)l hbase.hregion.memstore.flush.size默认为128M,hbase.hregion.max.filesize默认为10Gl 128M-512M-1152M-10

10、G第5章 HBase深入解析5.1 水平分区原理 14 5.1.4 分区拆分 自动分区机制 HBase2.0版本之后,HBase默认采用SteppingSplitPolicy策略,规则为:l If region=1 then:l hbase.hregion.memstore.flush.size*2 l else:l hbase.hregion.max.filesizel 也就是说,当表中分区数为1时,触发条件是256M,之后都是10G。第5章 HBase深入解析5.1 水平分区原理 15 5.1.4 分区拆分 自动分区机制 HBase还支持一些其他分区方式。l(1)KeyPrefixRegi

11、onSplitPolicy:保证相同前缀的行键在同一个分区。l(2)DelimitedKeyPrefixRegionSplitPolicy:保障某个分隔符之前相同的行键在同一个分区。l 上述策略通过配置项base.regionserver.region.split.policy设定,可以为整个集群定义全局的默认分区策略。l 配置hbase.hregion.memstore.flush.size和hbase.hregion.max.filesize也会对自动分区过程产生影响。第5章 HBase深入解析5.1 水平分区原理 16 5.1.4 分区拆分 自动分区机制 可以在命令行工具中为单独的表设置

12、最大文件容量。l create t1,MAX_FILESIZE=134217728 在Java编程(略)l lnewHtd.setValue(HTableDescriptor.SPLIT_POLICY,IncreasingToUpperBoundRegionSplitPolicy.class.getName();l 第5章 HBase深入解析5.1 水平分区原理 17 5.1.4 分区拆分 预分区机制(一般需要保证分区数据是均匀分布的,防止出现过热分区)在HBaseShell中执行:l create player,basic,SPLITS=aa,hb,ncl 表示建立一个表,并预先分为三个分区

13、,行键的起始值(切分点)为aa、hb和nc,注意行键的比较方法为字典顺序,即前一位分出大小则不再比较后续的串,前一位相同时则比较后面的串。另一种预分区方式是指定分区的数量:l Create player,basic,NUMREGIONS=5,SPLITALGO=HexStringSplit第5章 HBase深入解析5.1 水平分区原理 18 5.1.4 分区拆分 手动分区机制(立即执行)在HBaseShell中执行:l split player,aal 可以将表进行手动切分,切分点为aa。l 拆分是针对分区中的所有列族(store)进行的。通过Web界面(表详情页面)可以对表的所有分区进行一次

14、拆分,如果指定行键,则操作只对包含该行键的分区有效。第5章 HBase深入解析5.1 水平分区原理 19 5.1.4 分区拆分 分区拆分(split)时的性能影响l 重新拆分Storefile文件,写成两个新文件l 由于Storefile本身是按照行键排好序的,因此(按行键)拆分时不需要重新排序,对性能影响相对较小(对比后续的compact机制)l 新文件存储在HDFS上,需要根据复制因子复制为多副本第5章 HBase深入解析5.1 水平分区原理 20第5章 HBase深入解析5.2 列族与Store 列族在存储上对应Store的概念 Store中的数据持久化存储在HDFS上,其格式为HFil

15、e(即storefile)。每次数据flush都会形成新的Hfile,这样会在HDFS产生很多小文件,影响存储性能。l 为什么?HBase设计了HFile的合并机制,将多个小文件合成一个大文件。l 对性能的潜在影响较大 21第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性l(1)NAME:列族的名称。l(2)BLOOMFILTER:布隆过滤器的粒度,ROW或ROWCOL,默认为ROW。l(3)BLOCKSIZE:定义HFile中的数据块大小,默认为64k。l(4)BLOCKCACHE:代表是否将数据块缓存,以提高下次读取速度,该属性为布尔类型,默认为true。注意该缓

16、存不是写入时的memstore。l(5)IN_MEMORY:表示是否给予较高优先级的读缓存,布尔类型,默认为false。l(6)VERSIONS:表示保存数据版本(以时间戳体现)的数量,整型,目前HBase的默认为1。22第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性l(7)KEEP_DELETED_CELLS:表示是否可以查询到标记为删除的数据,布尔类型,默认为false。在默认情况下,当数据被删除后,无论采用何种scan或get方法,均无法获取数据。如果将该属性设置为true,则采用限定时间戳等查询方式可以查询到被删除的数据。l(8)TTL:表示以秒计算键值对的

17、生存期,过期后系统会删除此列族中该行的所有键值对。整型,默认值为INT.MAX_VALUE(2147483647或可以设置为TTL=FOREVER),即永远打开。l(9)MIN_VERSION:表示在设置了TTL的情况下,如果当前存储的所有数据版的都过期了,则至少保留MIN_VERSION个最新版本。如果不设置TTL,则无意义,默认值为0。23第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性l(10)REPLICATION_SCOPE:表示HBase具有的跨集群复制机制,允许将一个集群上的数据复制到另一个从集群,类似于关系型数据库的主从式读写分离机制。默认为0(编程用

18、HConstants.REPLICATION_SCOPE_GLOBAL),则允许复制,设置为1(编程时可用HConstants.REPLICATION_SCOPE_LOCAL),则不允许复制。l(11)COMPRESSTION:表示是否允许数据压缩,支持LZO、Snappy和GZIP等算法,默认是不采用压缩。可使用下面的shell命令:create player,NAME=basic,COMPRESSION=SNAPPY 或在Java编程时使用下面的代码:colDesc.setCompressionType(Algorithm.SNAPPY);24第5章 HBase深入解析5.2 列族与Sto

19、re 5.2.1 列族的属性l(12)DATA_BLOCK_ENCODING:表示数据编码,也可以看作是一种对重复信息的压缩,但不是针对数据块,而是针对键值对,特别是行键。当数据flush时,系统先对键值对进行编码,再进行数据块压缩。可以选择4种方式:NONE(不编码,默认值)、PREFIX(前缀树)、DIFF或FAST_DIFF。压缩和解码的流程 25第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性 设置列族的属性 create或alter命令l create player,NAME=basic,VERSIONS=5,BLOCKCACHE=truel alter p

20、layer,basic,NAME=advanced,IN_MEMORY=true 26第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性 设置列族的属性 Java编程时,可以对HColumnDescriptor的实例设置属性,HColumnDescriptorcolDesc=new HColumnDescriptor(basic);colDesc.setMaxVersions(3);/设置最大版本数colDesc.setDataBlockEncoding(DataBlockEncoding.PREFIX);/设置编码方式colDesc.setScope(HConstan

21、ts.REPLICATION_SCOPE_GLOBAL);/设置复制范围 27第5章 HBase深入解析5.2 列族与Store 5.2.1 列族的属性 查看列族的属性l Describe命令l Web界面l http:/hmaster:16010/tablesDetailed.jsp 28第5章 HBase深入解析5.2 列族与Store 5.2.2 表在HDFS上的存储 通过http:/namenode:50070/hbase/访问hbase的HDFS根目录。l 可以查看总存储量等信息l 可以在/hbase/data/default目录下,可以逐级看到各个表格、编码过的分区名称、stotr

22、file等信息 29第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 Storefile可以看作简单封装的HFile,其内容一旦写入就无法更改。l HFile是一种经过排序的序列化文件(sequence file)l 内容基本都是以键值对方式存储的,易于被HDFS分块。l Hfile格式仍处在不断演进当中,目前通用的是Hfile v3版本(0.98版本引入)l Storefile对应列族 30第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 Storefile可以看作简单封装的HFile,其内容一旦写入就无法更改。l HFile是一种

23、经过排序的序列化文件(sequence file)l 内容基本都是以键值对方式存储的,易于被HDFS分块。l Hfile格式仍处在不断演进当中,目前通用的是Hfile v3版本(0.98版本引入)l Storefile对应列族 31第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 Trailer处于文件的尾部,一般最先被加载,通过其记录的偏移量信息读取文件的其他部分。Trailer(以键值对方式)记录的信息主要有以下4点。l(1)FileInfo的偏移量。l(2)Load-on-open区域的偏移量。l(3)一些文件的基本信息,例如所采取的压缩方式、文件中键值对的

24、总数量等。l(4)版本号。系统根据版本号确定读文件的方式。32第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 Load-on-open区域包含文件元数据(FileInfo)和根数据索引(RootDataIndex)、元数据索引(MetaIndex)、布隆过滤器的指示信息(bloomfilter)等信息。Non-Scanned-Block区域包含多个元数据块(Metablock)和一个中间索引块(IntermediatelevelDataIndexBlocks)。33第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 Scanned-B

25、lock区域为数据存储区域,包含数据块(datablock),以及每个数据块对应的布隆数据块(Bloomblock)和叶子索引块(leafindexblock)。数据块大小可以在建立时调整:ColumnDescriptor.setBlockSize(int n);34第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 根索引、中间索引和叶子索引为B+树方式,实现对行键的三级索引。HBase的布隆过滤器建立在列族之上,具有ROW(面向行)和ROWCOL(面向行+列名)两种粒度。前者只对行键进行判断,后者对行键+列名(键值对)的组合进行判断。l 命令行:create p

26、layer,NAME=basic,BLOOMFILTER=ROWCOL lJava编程:colDesc.setBloomFilterType(BloomType.ROWCOL);l 占用空间有差异l 使用场景有差异(是否指定列名)l 对scan(扫描)操作没用 35第5章 HBase深入解析5.2 列族与Store 5.2.3 HFile结构 可以通过hbase指令调用HBase的工具类查看HFile的内容,例如:l hbase org.apache.hadoop.hbase.io.hfile.HFile-m f/hbase/data/default/player/regionname/bas

27、ic/hfilenamel 注意路径时HDFS路径 36第5章 HBase深入解析5.2 列族与Store 5.2.4 Storefile合并 当storefile数量过多时,会造成HDFS Namenode负担过重 HBase中设计了合并(compact)机制,通过读取多个小文件,处理并写入一个新的大文件的方式,实现storefile的合并 进行合并时,需要对多个小文件进行多路归并的外部排序l 内存和IO占用较多 具有MajorCompact和Minor Compact两种合并方式 37第5章 HBase深入解析5.2 列族与Store 5.2.4 Storefile合并 Minor Com

28、pact:清除过期数据,但不做其他清理 当在某个Region的任意store中,storefile的数量达到hbase.hstore.blockingStoreFiles(默认为16)时,会触发合并l 整个分区的所有store共同执行 会对region加写锁,阻塞所有更新,直到合并完成,或等待时间达到hbase.hstore.blockingWaitTime(默认为90000毫秒)38第5章 HBase深入解析5.2 列族与Store 5.2.4 Storefile合并 Minor Compact扫描判断当前各store中的文件,是否满足条件(默认策略:ExploringCompactionP

29、olicy):l 当前文件小于配置值paction.min.size(默认为128M)。l 当前文件小于paction.max.size(默认为Long.MAX_VALUE)。l 当前文件大于paction.min.size,且该大小乘以paction.ratio(默认为1.2)后小于列表中最多paction.max(默认是10)个文件的大小之和。l 可以设置闲时(offpeak)和忙时 当符合条件的文件数量大于paction.min(默认是3)时,HBase会开始合并 39第5章 HBase深入解析5.2 列族与Store 5.2.4 Storefile合并 Major Compact:对该

30、Region的Store中所有的Storefile进行合并,形成一个唯一的Storefile,其中所有的无效数据都会被处理。l 会将排序后的内容写入一个临时文件,最后将临时文件纳入系统管理,并删除旧文件l 合并过程使用预写日志机制l 开销更大且耗时更长。在默认情况下,HBase每7天左右(默认为在7天的基础上乘以一个随机抖动范围)自动执行一次Major Compcat。l 实际应用中,自动Major Compcat可能会被关闭 通过过命令行语句或WEB方式执行两种何合并l compact playerl major_compact player 40 1行键分布尽量均匀l 倒排和随机性 2行键

31、和列族名尽量短 3列族尽量少5.3 数据表的基本设计原则讨论:41第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.1 ZooKeeper基本原理l ASF旗下的开源软件l 一般采用集群化部署,奇数个节点l 以Fast Paxos算法(Chubby)为基础,提供分布式协调、选举和锁服务,基并于此扩展出配置维护、组服务、分布式消息队列、分布式通知/协调等功能。l 具有 leader、follower和observer等角色。42第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.1 ZooKeeper基本原理 层次化目录结构存储数据(Znode结构)客户端可以通

32、过Watch机制关注Znode的信息变化,实现配置管理、数据同步和分布式锁等功能 43第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.2 主节点高可用性 Hadoop可以通过借助Zookeeper的协调能力实现主节点的高可用性,来解决这一问题。HBase Hmaster的高可用性原理与此类似,需要在各节点的配置目录下建立一个文本文件,命名为backup-masters,并在其中每行写入一个主机名,即可完成配置。44第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.1 ZooKeeper基本原理 HBase利用ZooKeeper实现Regionserver监

33、控、多Master高可用性管理以及META表入口存储等功能。HBase中自带ZooKeeper服务,但也可以禁用后选择外部独立安装的ZooKeeper为其提供服务。45第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.3 独立部署Zookeeper 解压到合适位置,配置zoo.cfgltickTime=2000ldataDir=/zookeeper/dataldataLogDir=/zookeeper/logslclientPort=2181linitLimit=5lsyncLimit=2lserver.1=192.168.10.1:2888:3888lserver.2=19

34、2.168.10.2:2888:3888lserver.3=192.168.10.3:2888:3888 主要参数:端口(默认2181)和主机列表(这里有三台主机)配置文件需要拷贝到所有主机的响应位置上 HBase的conf/hbase-env.sh文件设置禁用自带的ZooKeeper:l HBASE_MANAGES_ZK=false 46第5章 HBase深入解析5.4 HBase集群的高可用性 5.4.4 集群间同步复制 特点:l 跨集群l 通过WAL实现同步复制 47第5章 HBase深入解析5.5 HBase的扩展 HBase的主要弊端l 不支持复杂的统计和处理操作,需要借助Spark

35、、MapReduce等实现l 不支持二级索引,行键天然是一级索引,对于键值对内容无法方便的实现索引l 对时序数据的存储,需要考虑热点问题 但HBase很有可能被用来存储日志等时序数据l 是否可以让“NoSQL”支持“SQL”语言 48第5章 HBase深入解析5.5 HBase的扩展 5.5.1 协处理器机制l 协处理器(Coprocessor)是HBase0.92版本引入的新特性,其原型也是来源于谷歌的bigtablel 轻量级的分布式处理机制l Observer和Endpoint两种模式,Observer模式就如同关系型数据库中的触发器,而Endpoint如同关系型数据库中的存储过程 Ob

36、server可以分为三种类型,分别为RegionObserver、MasterObserver和WALObserver 49第5章 HBase深入解析5.5 HBase的扩展 5.5.2 基于HBase的分布式处理 Hive可以直接建立、读取HBase的表,并映射为Hive表l 支持采用类似SQL的HQL语言进行数据处理,并奖处理过程转化为MapReduce 启动参数l hive-hiveconfhbase.master=node1:16000l hive-hiveconfhbase.zookeeper.quorum=node1HiveHDFSHBasehive-hbase-handlercl

37、ientMapReduce 50第5章 HBase深入解析5.5 HBase的扩展 5.5.2 基于HBase的分布式处理 Hive可以直接建立、读取HBase的表,并映射为Hive表 建表lCREATE TABLE thehivetable(key int,value string)STORED BY org.apache.hadoop.hive.hbase.HBaseStorageHandler WITH SERDEPROPERTIES(hbase.columns.mapping=:key,cf1:val)TBLPROPERTIES(hbase.table.name=thehbasetab

38、le);l 建立之后可以在Hive或Hbase中查看该表,可以利用Hive删除该表。l Impala、SparkSQL等支持Hive表的工具也可以读取该表l 建议不要使用HBase命令修改表结构或删除表,可能会引起元数据混乱 51第5章 HBase深入解析5.5 HBase的扩展 5.5.2 基于HBase的分布式处理 Mapreduce可以直接讲HBase表作为数据源或作为处理目的地(目前)Spark操作HBase的的方便程度略低 Solr+HBasel 目的,一是将HBase作为存储引擎,对原始数据进行管理,二是可以解决HBase不支持二级索引的问题,利用Solr将HBase中的列映射为F

39、ield,并建立全文索引,通过Solr的查询结构进行查询。52第5章 HBase深入解析5.5 HBase的扩展 5.5.3 扩展开源软件 面向时序数据管理的OpenTSDB 行键设计很有特色 提供web界面 53第5章 HBase深入解析5.5 HBase的扩展 5.5.3 扩展开源软件 面向时序数据管理的OpenTSDB OpenTSDB所存储的实际数据都存储在名为tsdb的HBase表中 metric、timestamp和tags被编码写入键值对的行键l metric:监控项的名称l timestamp:Long型结构存储的时间戳。表明该metric的时间。l tags:标签(组),描述

40、当前metric的属性,如记录主机名等,每个metric可以有多个标签。l value:数值,比如0.5,可能表示当前CPU使用率为50%。也支持用JSON格式存储结构化数据内容。54第5章 HBase深入解析5.5 HBase的扩展 5.5.3 扩展开源软件 提供SQL语言支持的Apache Phoenixl 用户可以通过标准SQL客户端,通过JDBC接口访问HBase,不再需要thrift接口l 还提供了多种新特性,诸如二级索引、游标、抽样l 目前项目的活跃度较高 55第5章 HBase深入解析5.5 HBase的扩展 5.5.3 扩展开源软件 Apache Kylin Kylin(麒麟)

41、是由来自Ebay公司的中国团队创立并捐献给Apache软件基金会的开源软件,其主旨是提供大数据OLAP和数据仓库服务,并且也提供SQL语句的操作支持。Kylin会根据需求构建数据仓库中的多维立方体(Cube),并将涉及到的多维度数据(HDFS、Hive等方式存储)进行预计算,再缓存结果到HBase,即采用空间换时间的方式提高分布式在线查询效率。计算的过程可通过MapReduce实现。56第5章 HBase深入解析小结 HBase的存储和读写机制l WAL的作用?l 数据如何写入?如何打破HDFS不能随机更新的限制(结合数据版本机制)?l HFile的结构,布隆过滤器如何发挥作用?l 什么事合并?什么事拆分?这两种操作面向列族或分区?HBase的高可用性机制有哪些?HBase可以进行何种扩展操作?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(NoSQL数据库原理-第五章-HBase深入解析课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|