CN104809211A - 一种基于HBase高扩展性数据库设计方法 - Google Patents
一种基于HBase高扩展性数据库设计方法 Download PDFInfo
- Publication number
- CN104809211A CN104809211A CN201510211389.9A CN201510211389A CN104809211A CN 104809211 A CN104809211 A CN 104809211A CN 201510211389 A CN201510211389 A CN 201510211389A CN 104809211 A CN104809211 A CN 104809211A
- Authority
- CN
- China
- Prior art keywords
- data
- hot spot
- hbase
- scapegoat
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于多节点备份的HBase数据高并发访问的方法,当HBase中存在长时间存在并鲜有更改的热点数据存在时,主动为热点数据制作两个及以上替身。当数据发生更改时,更改操作执行于数据本体,并将更改操作同步到各个替身。当读取数据时,主动将读取申请平衡地分配到各个替身数据所在节点,以保证数据读取的高并发性,减少热点数据成为瓶颈的可能,同时降低因为热点数据汇聚造成存储节点过热的可能性,从而提高数据的读写速度,保证系统的稳定性和性能。
Description
技术领域
本发明属于大数据领域,更具体地涉及一种非关系数据库中热点数据的高并发读取的解决方案,尤其涉及一种基于HBase高扩展性的数据库设计方案。
非关系型数据库是指有别于传统的关系型数据库的一种新型数据库,在海量数据存储、高并发访问支持等方面表现出很好的性能。HBase,也就是Hadoop Database,是一种基于列存储的非关系型数据库。HBase是Apache Hadoop的子项目,在Hadoop架构中处于结构化存储层:下层需要依托分布式文件系统HDFS;为上层的MapReduce计算模块提供高性能、高可靠、高可扩展性、基于列存储的分布式存储系统。HBase可以存储结构化数据,也可以存储半结构化或者非结构化的数据。
当前HBase采用数据单备份的存储策略,通过HRegion分裂的方式来解决单个热点数据的问题。当数据较少更新时,由于数据无法达到分裂的要求,从而使得通过分裂的策略来解决热点数据不可实现。而热点数据造成数据读取的瓶颈使得整个系统的性能大幅度下降,而当热点数据在同一个存储节点聚集时,对该存储节点造成巨大压力,从而使得热点数据带来的负面影响大幅度扩大。
发明内容
本发明所要解决的技术问题是,提供一种能够解决热点数据造成读取瓶颈的基于HBase的数据高并发读取的方法。
为了解决上述技术问题,本发明是通过以下技术方案来实现的:
一种基于HBase高扩展性数据库设计方法,在HBase中存在热点数据时,首先为热点数据制作多份替身,并将替身转移与原始数据存储位置不同的多个不同存储节点上,依靠多个替身数据分布在不同节点的特性,放大热点的数据的并发性,减小原始节点的读取压力。
进一步地,述HBase的数据节点写入并备份包括以下流程所述的热点数据处理包括以下步骤:
(a)、探测HBase中热点数据。在一段时间内,某些特定的数据访问频度高,不会经常被修改,且能预测到接下来一段时间该数据的热度不会下降,这些数据将会被认定为热点数据;
(b)、当热点数据选定之后,选择该数据所在节点之外的多个节点作为替身数据存储节点,将该数据同步到上述选定节点,并写入META表中以备查找数据时使用;
(c)、当HBase收到查找该热点数据的命令时,从META表中可找到该热点数据原始位置和多个替身数据所在位置,将查找命令随机分配给替身数据所在节点;
(d)、如果HBase收到对该热点数据的更新操作时,首先找到数据的原始位置,并在原始位置上的数据执行更新操作;在原始位置上的数据完成更新操作后,将该位置的数据同步其所有的替身数据。
进一步地,所述步骤(b)和步骤(c)中热点数据的读操作包括以下步骤:
(1)、首先尝试获取需要的锁;
(2)、选取热点数据所在的存储节点之外的多个存储节点;
(3)、将数据从原始节点同步到步骤(2)中选取的存储节点中;
(4)、向META表中更新数据存在的位置信息;
(5)、随后查找过程中,根据META表中信息找到替身数据位置;
(6)、通过allocate方法把查找请求分配到相应的替身数据所在的位置。
有益效果:与现有的技术相比,本发明的有益之处在于这种基于HBase的高扩展性数据库系统,最大程度降低了热点数据对数据库扩展性的限制。由于HBase是分布式系统,HBase的扩展性与数据节点的个数有较大的关系,当出现热点数据时,HBase性能并不会随着存储节点的增多而同步增长。而引入扩展性数据库方法之后,可以将热点数据分布到多个存储节点上,并可以通过热度来调整其替身的个数,通过提高热点数据的并发性来提高整个数据库系统的并发性,从而解决热点数据瓶颈的问题。
附图说明:
下面结合附图对本发明进一步说明。
图1是基于HBase的高扩展性数据库系统制作并迁移替身数据的示意图;
图2是基于HBase的高扩展性数据库系统热点数据读写操作图;
图3是基于HBase的高扩展性数据库系统中热点数据的查找图;
具体实施方式:
下面结合附图和具体实施方式对本发明进行详细描述。
如图1所示,数据读取过程中先将数据读入内存中,当热点数据在同一个机器上汇聚时,内存并不足以装载所有的热点数据,导致数据不断地在内存中换入换出,从而导致数据读取效率低下。在引入高扩展性系统方法后,在热点数据集中的存储节点上的热点数据因为创建备份的缘故,在原节点上不再提供读取数据的服务,从而使得该热点数据在原始的节点上不再是热点数据。
如图2所示,热点数据从原始节点上创建出多个替身数据并迁移到其他节点上之后,原始节点上的数据对外仅仅提供更新操作,替身数据对外提供读取操作,由于数据存储节点个数的增加,使得该热点数据的并发性得以增强。
如图3所示,数据从ROOT表开始查找所需数据位置,可以找到多个替身数据所在节点的位置,基于HBase高扩展性数据库设计方法中热点数据的读操作包括以下步骤:
(1)、首先尝试获取需要的锁;
(2)、选取热点数据所在的存储节点之外的多个存储节点;
(3)、将数据从原始节点同步到步骤(2)中选取的存储节点中;
(4)、向META表中更新数据存在的位置信息;
(5)、随后查找过程中,根据META表中信息找到替身数据位置
(6)、通过allocate方法把查找请求分配到相应的替身数据所在的位置
最后要说明的是,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (3)
1.一种基于HBase高扩展性数据库设计方法,其特征在于在HBase中存在热点数据时,首先为热点数据制作多份替身,并将替身转移与原始数据存储位置不同的多个不同存储节点上,并主动平衡多个替身数据之间的读取请求;在原始数据发生更改时,主动同步各个替身数据。
2.根据权利要求1所述的一种基于HBase高扩展性数据库设计方法,其特征在于所述的热点数据处理包括以下步骤:
(a)探测HBase中热点数据,在一段时间内,某些特定的数据访问频度高,不会经常被修改,且能预测到接下来一段时间该数据的热度不会下降,这些数据将会被认定为热点数据;
(b)当热点数据选定之后,选择该数据所在节点之外的多个节点作为替身数据存储节点,将该数据同步到上述选定节点,并写入META表中以备查找数据时使用;
(c)当HBase收到查找该热点数据的命令时,从META表中可找到该热点数据原始位置和多个替身数据所在位置,将查找命令随机分配给替身数据所在节点;
(d)如果HBase收到对该热点数据的更新操作时,首先找到数据的原始位置,并在原始位置上的数据执行更新操作;在原始位置上的数据完成更新操作后,将该位置的数据同步其所有的替身数据。
3.根据权利要求2所述的热点数据处理,其特征在于所述步骤(b)和步骤(c)中数据的读操作包括以下步骤:
(1)首先尝试获取需要的锁;
(2)选取热点数据所在的存储节点之外的多个存储节点;
(3)将数据从原始节点同步到步骤(2)中选取的存储节点中;
(4)向META表中更新数据存在的位置信息;
(5)随后查找过程中,根据META表中信息找到替身数据位置;
(6)通过allocate方法把查找请求分配到相应的替身数据所在的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510211389.9A CN104809211A (zh) | 2015-04-30 | 2015-04-30 | 一种基于HBase高扩展性数据库设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510211389.9A CN104809211A (zh) | 2015-04-30 | 2015-04-30 | 一种基于HBase高扩展性数据库设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104809211A true CN104809211A (zh) | 2015-07-29 |
Family
ID=53694033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510211389.9A Pending CN104809211A (zh) | 2015-04-30 | 2015-04-30 | 一种基于HBase高扩展性数据库设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809211A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
US20110264707A1 (en) * | 2010-04-26 | 2011-10-27 | International Business Machines Corporation | Extensible meta model for capturing solution patterns |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
CN103294167A (zh) * | 2013-05-21 | 2013-09-11 | 暨南大学 | 一种基于数据行为的低能耗集群存储复制装置和方法 |
CN103530388A (zh) * | 2013-10-22 | 2014-01-22 | 浪潮电子信息产业股份有限公司 | 一种云存储系统中提升性能的数据处理方法 |
-
2015
- 2015-04-30 CN CN201510211389.9A patent/CN104809211A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
US20110264707A1 (en) * | 2010-04-26 | 2011-10-27 | International Business Machines Corporation | Extensible meta model for capturing solution patterns |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
CN103294167A (zh) * | 2013-05-21 | 2013-09-11 | 暨南大学 | 一种基于数据行为的低能耗集群存储复制装置和方法 |
CN103530388A (zh) * | 2013-10-22 | 2014-01-22 | 浪潮电子信息产业股份有限公司 | 一种云存储系统中提升性能的数据处理方法 |
Non-Patent Citations (1)
Title |
---|
陆嘉恒: "基于HBase系统的开发", 《分布式系统及云计算概论(第2版) 》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030185B2 (en) | Schema-agnostic indexing of distributed databases | |
Ma et al. | An efficient index for massive IOT data in cloud environment | |
CN102541983B (zh) | 一种分布式文件系统中多客户端缓存同步的方法 | |
CN103106286B (zh) | 元数据的管理方法和装置 | |
CN102117248A (zh) | 一种缓存系统和在缓存系统中缓存数据的方法 | |
CN103136338B (zh) | 一种基于目录划分的元数据分布方法及装置 | |
CN104361030A (zh) | 一种具有任务分发功能的分布式缓存架构及缓存方法 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
CN103793514A (zh) | 数据库同步方法及数据库 | |
CN106775446A (zh) | 基于固态硬盘加速的分布式文件系统小文件访问方法 | |
CN103458044A (zh) | 一种面向广域网环境下多存储集群的元数据共享管理方法 | |
CN105516284A (zh) | 一种集群数据库分布式存储的方法和装置 | |
US11080207B2 (en) | Caching framework for big-data engines in the cloud | |
CN104331453A (zh) | 一种分布式文件系统及分布式文件系统的构建方法 | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN102937964A (zh) | 基于分布式系统的智能数据服务方法 | |
CN105069151A (zh) | HBase二级索引构建装置和方法 | |
CN102664914A (zh) | 一种IS/DFS-Image分布式文件存储查询系统 | |
CN108776690B (zh) | 基于分层治理的hdfs分布式与集中式混合数据存储系统的方法 | |
US10152493B1 (en) | Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients | |
CN105468297A (zh) | 一种云存储系统内主从设备数据快速同步的方法 | |
CN103473258A (zh) | 云存储文件系统 | |
CN104158863A (zh) | 基于事务级别全程高速缓冲的云存储机制 | |
CN103942301A (zh) | 一种面向多数据类型访问应用的分布式文件系统 | |
CN104504076A (zh) | 一种高并发和高空间利用率的分布式缓存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150729 |
|
WD01 | Invention patent application deemed withdrawn after publication |