CN110287198A - 基于HBase数据库的金融数据索引方法 - Google Patents

基于HBase数据库的金融数据索引方法 Download PDF

Info

Publication number
CN110287198A
CN110287198A CN201910583626.2A CN201910583626A CN110287198A CN 110287198 A CN110287198 A CN 110287198A CN 201910583626 A CN201910583626 A CN 201910583626A CN 110287198 A CN110287198 A CN 110287198A
Authority
CN
China
Prior art keywords
hbase database
index
data
indexing means
major key
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
Application number
CN201910583626.2A
Other languages
English (en)
Inventor
胡荣德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN201910583626.2A priority Critical patent/CN110287198A/zh
Publication of CN110287198A publication Critical patent/CN110287198A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及基于HBase数据库的金融数据索引方法,包括:A.一级索引的行主键设置:将业务代码、业务类型、交易日期和交易时间进行字符串组合,形成HBase数据库中每一行数据唯一性的行主键;B.二级索引设置:建立常见业务查询列与所述行主键之间的映射关系,并将所述的映射关系存储在映射关系表中。本发明基于HBase数据库的金融数据索引方法,有效提高了对金融数据的索引效率,并且能够支持多维度的索引,大幅度简化了索引过程。

Description

基于HBase数据库的金融数据索引方法
技术领域
本发明涉及对数据库数据的索引方法,具体讲是基于HBase数据库的金融数据索引方法。
背景技术
在金融领域的数据中包括了股票、期权、期货的代码、类型、每个交易日从开盘到封盘的数据记录等,数据记录的更新速度为秒级、毫秒级,因此这类数据的历史基数、日增量都非常庞大,如此海量的历史数据和日增量数据对于存储设备以及业务的快速多维查询、分析,都产生了巨大的挑战。
当前对金融行情交易数据进行存储和处理主要采用的是关系型数据库或直接存储于本地磁盘的方式。此类方式的存储和查询效率都非常低下,并不能很好地服务于具有高频、实时、数据字段变化、多维查询等特点的金融领域的量化分析、交易业务。
目前常用的存储及查询方式有以下几种:
1.以CSV文件形式存储于本地磁盘,查询和计算业务时需要重新定位、解析CSV文件。
2.数据存储在传统关系型数据库中,如MySQL、Oracle等。
3.数据存储在Hive数据仓库中,该数据仓库在传统关系型数据库的基础上建立,可以实现离线查询与计算。
4.数据存储于HBase数据库,但rowkey(数据库每条记录的行主键)设计方式单一,不支持多变的、多维度的业务查询。
以上现有的这些方式的缺点包括:
1.不能满足对于数据快速业务查询、计算与相应速度的要求。
对于业务查询和计算,每次需要对本次所需数据进行一次文件解析,不同时间节点的同一业务,需要重复解析同样数据,效率低下,严重耗时;
对于单次业务所需数据量较大且内存不能一次存储的情况下,需要对所需数据进行分割多批次计算处理,严重耗时。
2.存储占据大量硬盘空间。
将海量历史金融行情文件存储于本地磁盘,并不能很好地采用压缩技术,占用大量磁盘空间,物理硬件耗费巨大。
3.数据维度变化不适用于传统关系型数据库。
随着技术的发展,金融行情数据的数据记录维度(字段)发生变化,而传统型数据库并不能很好地适应表结构经常变化的情况,因为每次表结构的变化,均需对海量历史数据进行复制、迁移,或者重新导入,耗费不可容忍的时间限度,且造成数据丢失的风险。
4.数据安全。
存在文件安全问题,误操作造成数据删改等后果。
5.多维查询。
rowkey设计单一,不能满足业务多维度查询、查询需求的多样性。
发明内容
本发明提供了一种基于HBase数据库的金融数据索引方法,解决现有存储方式中索引效率低、并发性差的问题,提高数据的索引效率。
本发明基于HBase数据库的金融数据索引方法,包括:
A.一级索引的行主键设置:将业务代码、业务类型、交易日期和交易时间进行字符串组合,形成HBase数据库中每一行数据唯一性的行主键;
B.二级索引设置:建立常见业务查询列与所述行主键之间的映射关系,并将所述的映射关系存储在映射关系表中。
通常在对数据库的索引中只有一级索引,即通过行主键(rowkey)进行的索引,这种索引方式对一般的数据量是可行的,但对金融数据这种基数庞大的数据索引时效率会非常低下,因此本发明引入了二级索引,以满足金融领域的多维度、高效率的索引需求,避免了将rowkey作为唯一索引方式过于单一的不足。
为了保证在对HBase数据写入时,不会将大量同属性的数据都写入数据库的同一分区,造成数据库热点问题,导致索引效率下降,因此在步骤A中,将业务代码、业务类型、交易日期或交易时间中构成行主键前缀的部分进行编码或反转后,再进行字符串组合。这样使得组合后的行主键的前缀不再相同,避免了数据库热点问题,提高了索引的效率。
优选的,所述的编码为HASH编码。HASH编码是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出。
在此基础上,为了使索引效率最优化,步骤A中,通过脚本对金融数据在HBase数据库的每个分区的数据存储量定时进行检测,如果检测到其中有已存储的数据量超过设定阈值的分区,则对该分区进行拆分,使每个分区当前已存储的数据量均衡,提高检索效率。拆分方式可以采用常规的ConstantSizeRegionSplitPolicy方式或KeyPrefixRegionSplitPolicy方式等。
本发明基于HBase数据库的金融数据索引方法,有效提高了对金融数据的索引效率,并且能够支持多维度的索引,大幅度简化了索引过程。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
附图说明
图1为本发明基于HBase数据库的金融数据索引方法的流程图。
具体实施方式
如图1所示本发明基于HBase数据库的金融数据索引方法,包括:
A.一级索引的行主键(rowkey)设置:将业务代码、业务类型、交易日期和交易时间中构成行主键的前缀部分进行编码或反转,使每条记录的前缀都不相同,然后将其进行字符串组合,形成HBase数据库中每一行数据唯一性的行主键,以避免数据库热点问题,提高索引效率。
以股票业务为例:
在股票业务中包括有股票代码、股票类型、交易日期和交易时间。其中,股票类型为股票所属的交易所:“SH”、“SZ”,分别用“0”、“1”表示。为确保rowkey唯一性,交易时间精确到秒或者毫秒。为了避免数据库热点的问题,将行主键的前缀部分进行编码或反转,使每条记录的前缀都不相同。行主键的一种设置方式为:
对每个交易日期或股票代码进行HASH编码。因此通过HASH编码对行主键进行设置有两种方式:
rowkey1=交易日期HASH值+股票代码+股票类型+交易时间
rowkey2=股票代码HASH值+交易日期+股票类型+交易时间
行主键的另一种设置方式为将交易日期或股票代码反转(倒序),通过反转对行主键进行设置有两种方式:
rowkey3=交易日期反转+股票代码+股票类型+交易时间
rowkey4=股票代码反转+交易日期+股票类型+交易时间
为了使索引效率最优化,通过脚本对金融数据在HBase数据库的每个分区的数据存储量定时进行检测,如果检测到其中有已存储的数据量超过设定阈值的分区,则对该分区进行拆分,使每个分区当前已存储的数据量均衡,由此提高检索效率。拆分方式可以采用常规的ConstantSizeRegionSplitPolicy方式或KeyPrefixRegionSplitPolicy方式等。
B.二级索引设置:建立常见业务查询列与所述行主键之间的映射关系,并将所述的映射关系存储在映射关系表中。
例如,如查询满足开盘价c01、收盘价c02、成交额c03的多维查询。可将这三列的值与rowkey的映射关系存储在映射关系表中,以保证多维查询的速度。如,rowkey和单一列映射如表1所示:
表1:
rowkey1 c01
rowkey2 c01
rowkey3 c02
rowkey4 c02
rowkey5 c03
rowkey6 c03
rowkeyn c0n
rowkey和多列映射如表2所示:
表2:
rowkey1 c01 cx1
rowkey2 c01 cx2
rowkey3 c02 cx3
rowkey4 c02 cx4
rowkey5 c03 cx5
rowkey6 c03 cx6
rowkeyn c0n cxn
其中c01,c02,…,c0n;cx1,cx2,…,cxn为业务查询时的常用列。
将本发明的索引方法与现有的常规CCIndex索引方法和Solr索引方法,以及未加索引的方法进行对比,按照不同数据量的HBase数据库表,以10次查询平均值作为最终结果,如表3~表5所示:
表3:
表数据量:100万 本发明 CCIndex索引 Solr索引 未加索引
平均响应时间 427ms 518ms 703ms 查询超时
表4:
表数据量:1000万 本发明 CCIndex索引 Solr索引 未加索引
平均响应时间 1060ms 1209ms 1491ms 查询超时
表5:
表数据量:1亿 本发明 CCIndex索引 Solr索引 未加索引
平均响应时间 6046ms 7304ms 10044ms 查询超时
从测试数据可以看出,本发明索引方法在处理金融行情数据查询时,能够非常明显的提高查询效率,而且数据量越大,本发明索引方法的效率提升的越明显,特别是在对业务多维度查询中更能够体现出高速、便捷的特点。

Claims (4)

1.基于HBase数据库的金融数据索引方法,其特征包括:
A.一级索引的行主键设置:将业务代码、业务类型、交易日期和交易时间进行字符串组合,形成HBase数据库中每一行数据唯一性的行主键;
B.二级索引设置:建立常见业务查询列与所述行主键之间的映射关系,并将所述的映射关系存储在映射关系表中。
2.如权利要求1所述的基于HBase数据库的金融数据索引方法,其特征为:步骤A中,将业务代码、业务类型、交易日期或交易时间中构成行主键前缀的部分进行编码或反转后,再进行字符串组合。
3.如权利要求2所述的基于HBase数据库的金融数据索引方法,其特征为:所述的编码为HASH编码。
4.如权利要求1至3之一所述的基于HBase数据库的金融数据索引方法,其特征为:步骤A中,通过脚本对金融数据在HBase数据库的每个分区的数据存储量定时进行检测,如果检测到其中有已存储的数据量超过设定阈值的分区,则对该分区进行拆分,使每个分区当前已存储的数据量均衡,提高检索效率。
CN201910583626.2A 2019-07-01 2019-07-01 基于HBase数据库的金融数据索引方法 Pending CN110287198A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910583626.2A CN110287198A (zh) 2019-07-01 2019-07-01 基于HBase数据库的金融数据索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910583626.2A CN110287198A (zh) 2019-07-01 2019-07-01 基于HBase数据库的金融数据索引方法

Publications (1)

Publication Number Publication Date
CN110287198A true CN110287198A (zh) 2019-09-27

Family

ID=68020342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910583626.2A Pending CN110287198A (zh) 2019-07-01 2019-07-01 基于HBase数据库的金融数据索引方法

Country Status (1)

Country Link
CN (1) CN110287198A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259004A (zh) * 2020-01-08 2020-06-09 腾讯科技(深圳)有限公司 一种存储引擎中数据索引的方法以及相关装置
CN111797134A (zh) * 2020-06-23 2020-10-20 北京小米松果电子有限公司 分布式数据库的数据查询方法、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252528A (zh) * 2014-09-04 2014-12-31 国家电网公司 基于标识符空间映射的大数据二级索引构建方法
CN105589910A (zh) * 2014-12-31 2016-05-18 中国银联股份有限公司 基于HBase的海量交易数据检索及系统
CN106682077A (zh) * 2016-11-18 2017-05-17 山东鲁能软件技术有限公司 一种基于Hadoop技术的海量时序数据存储实现方法
US20180285400A1 (en) * 2013-12-31 2018-10-04 International Business Machines Corporation Index maintenance based on a comparison of rebuild vs. update
CN109522315A (zh) * 2018-10-26 2019-03-26 苏宁易购集团股份有限公司 一种数据库处理方法及系统
CN109829015A (zh) * 2019-01-16 2019-05-31 成都有据量化科技有限公司 基于HBase的金融数据存储方法、装置以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285400A1 (en) * 2013-12-31 2018-10-04 International Business Machines Corporation Index maintenance based on a comparison of rebuild vs. update
CN104252528A (zh) * 2014-09-04 2014-12-31 国家电网公司 基于标识符空间映射的大数据二级索引构建方法
CN105589910A (zh) * 2014-12-31 2016-05-18 中国银联股份有限公司 基于HBase的海量交易数据检索及系统
CN106682077A (zh) * 2016-11-18 2017-05-17 山东鲁能软件技术有限公司 一种基于Hadoop技术的海量时序数据存储实现方法
CN109522315A (zh) * 2018-10-26 2019-03-26 苏宁易购集团股份有限公司 一种数据库处理方法及系统
CN109829015A (zh) * 2019-01-16 2019-05-31 成都有据量化科技有限公司 基于HBase的金融数据存储方法、装置以及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
加勒比海带: "HBase二级索引的设计(案例讲解)", 《HTTPS://WWW.CNBLOGS.COM/DIAOZHAOJIAN/P/7405162.HTML》 *
奔跑的MAX蜗牛: "rowkey设计原则和方法", 《HTTPS://BLOG.CSDN.NET/QQ_34896163/ARTICLE/DETAILS/86537551》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259004A (zh) * 2020-01-08 2020-06-09 腾讯科技(深圳)有限公司 一种存储引擎中数据索引的方法以及相关装置
CN111259004B (zh) * 2020-01-08 2023-04-14 腾讯科技(深圳)有限公司 一种存储引擎中数据索引的方法以及相关装置
CN111797134A (zh) * 2020-06-23 2020-10-20 北京小米松果电子有限公司 分布式数据库的数据查询方法、装置和存储介质

Similar Documents

Publication Publication Date Title
Larsen Components of uncertainty
Taghizadeh-Hesary et al. Response of macro variables of emerging and developed oil importers to oil price movements
CN110990638B (zh) 基于fpga-cpu异构环境的大规模数据查询加速装置及方法
US8533203B2 (en) Identifying synonyms of entities using a document collection
CN104794123B (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
Banterle et al. Competitive performance analysis and European Union trade: The case of the prepared swine meat sector
CN102622434B (zh) 数据存储方法、查找方法及装置
Everaert et al. Lifting euro area growth: Priorities for structural reforms and governance
Niu et al. Network structure, distribution and the growth of Chinese international research collaboration
AU2008203532A1 (en) Method and System for Processing Information
CN101499065B (zh) 基于fa的表项压缩方法及装置、表项匹配方法及装置
CN105653609A (zh) 基于内存的数据处理方法及装置
CN110287198A (zh) 基于HBase数据库的金融数据索引方法
Khorana et al. The impact of COVID-19 on the Global and Intra-Commonwealth Trade in Goods
Yan-Li et al. Research on data preprocessing in credit card consuming behavior mining
CN113254995B (zh) 数据脱敏方法、装置、系统及计算机可读介质
Igan et al. Dealing with household debt
Hyk et al. Integrated reporting of mining enterprises: Bibliometric analysis
Nailah et al. The Zakat & Technology
CN108304469A (zh) 用于字符串模糊匹配的方法和装置
CA2418093A1 (en) Data compiling method
WO2008085358A1 (en) Accelerating queries using temporary enumeration representation
CN110489490A (zh) 基于分布式数据库的数据存储和查询方法
US9305080B2 (en) Accelerating queries using delayed value projection of enumerated storage
Imam Rapid Current Account Adjustments: Are Microstates Different?

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190927