CN101251861B - 一种海量数据加载和查询的方法 - Google Patents

一种海量数据加载和查询的方法 Download PDF

Info

Publication number
CN101251861B
CN101251861B CN2008101021211A CN200810102121A CN101251861B CN 101251861 B CN101251861 B CN 101251861B CN 2008101021211 A CN2008101021211 A CN 2008101021211A CN 200810102121 A CN200810102121 A CN 200810102121A CN 101251861 B CN101251861 B CN 101251861B
Authority
CN
China
Prior art keywords
data
loading
partition table
partition
temporary
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.)
Expired - Fee Related
Application number
CN2008101021211A
Other languages
English (en)
Other versions
CN101251861A (zh
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.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology 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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN2008101021211A priority Critical patent/CN101251861B/zh
Publication of CN101251861A publication Critical patent/CN101251861A/zh
Application granted granted Critical
Publication of CN101251861B publication Critical patent/CN101251861B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于计算机领域,具体涉及一种处理海量数据加载和查询的方法。本发明使用合适粒度的临时表缓存各个时间段的数据,在临时表上不建立索引或建立一个主键索引,处理完各自时间段的数据后,再将该时间段的数据统一建立索引后转移到分区表中。本发明采用对分区表的数据按照业务需求进行合并,提高查询速度;并且只与缓存时间段内的数据量有关系,可以满足高速海量数据加载环境以及有相关查询的业务需求。

Description

一种海量数据加载和查询的方法
技术领域
本发明属于计算机领域,具体涉及一种海量数据加载和查询的方法。
背景技术
随着企业信息化以及互联网的飞速发展,海量数据处理已经成为重中之重,特别是电信行业和互联网行业更是如此,必须使用一些特殊的方法来处理海量数据。基于此本发明提出一种能够快速加载海量数据,同时可查询的方法。
通常情况下,提高查询速度的方法是建立索引,以空间来换时间。这对小批量的数据影响不大或者说感觉不到。但当数据量非常大的时候,该矛盾就比较明显,严重影响加载速度。当然,如果采用较好的硬件一定会有很大的改善,如使用巨型机比使用DELL 2850的速度快很多。现有技术中,数据加载的同时也建立索引,那么随着加载数据量增加,加载速度越来越小,原因是各个关系数据库随着数量的增加,索引的存储结构在不断地加大,而当插入一条数据的时候都需要维护这些索引,故造成加载速度在不断地下降。此外,加载是为查询服务,也就是说加载和查询要综合考虑,基于本文的加载方法,形成综合缓存数据和分区表数据同时查询的方法,完全与常用的单表查询方法不同。
发明内容
本发明是在相当的性价比的基础上,即都使用DELL 2850来寻找一个最优的方案。使用合适粒度的临时表缓存各个时间段的数据,在临时表上不建立索引,缓存完各自时间段的数据后,再将该时间段的数据统一建立索引后转移到分区表中。这样查询就分成两个部分联合查询:一种是缓存在临时表中的数据,一种是分区表的数据。
本发明公开一种海量数据的加载方法,其步骤如下:
1)解析程序模块按照时间顺序生成目录,产生文件,生成数据源;
2)用临时表缓存各个连续时间段的数据,得到各分区段的数据;
3)将上述各分区段的数据统一建立索引;
4)加载程序模块调用数据转移接口,将数据转移到分区表。
上述步骤2)中的各个连续时间段的长度相同。
进一步,在步骤4)后增加如下步骤;对分区表中的数据进行合并,按照新的时间单位生成大的分区业务表。
本发明还公开了一种海量数据的查询方法,其步骤如下:
1)采用如权利要求1所述的方法加载数据;
2)将分区表中的数据合并成大的分区业务表;
3)数据库对临时表和分区表进行查询。
本发明的海量数据查询是在数据加载的基础上进行的,在分布式海量数据处理产品中,加载和查询同时使用,可解决遇到的加载难题。
本发明的优点和积极效果如下:
1.使用本发明,原来在标准DELL 2850服务器上每秒只能加载500条左右(每条记录大概平均0.4K左右,一共有27个字段,11个索引)提高到每秒加载5000条左右,在保持当天数据查询速度的基础上使历史数据的查询速度也有所提高,原因是对分区表的数据按照业务需求进行合并,以供后期的查询使用。
2.本发明基本不受时间和加载的总流量的限制,只与缓存时间段内的数据量有关系,但与总体数据量没有任何关系,因此可以满足高速海量数据加载以及有相关查询的业务需求。
附图说明
图1本发明的数据源生成方法示意图;
图2本发明的加载方法操作图;
图3本发明的分区段合并示意图;
图4本发明的查询流程图。
具体实施方式
本实施例使用关系数据库oracle 10g来实现,其它关系数据库同样适用;操作系统采用RedFlag DC 5.0;硬件环境采用DELL 2850标准服务器,具体配置如表1所示,根据业务需求在该表上建立索引。此外,为了保证数据的合法性,需要在临时表上建立一个主键索引;在上述条件下对直接入普通表与直接入临时表加建立索引加转移数据方案对比产生的加载效果如表2所示,同时对已经积累的1亿条数据按照给出一个已知条件进行查询比较如表3所示。从表中数据可以看出在查询速度比较稳定的基础上,加载速度增加10倍左右。
表1 Dell2850配置的结构表
  项目   描述
  处理器   Intel(R)Xeon(TM)CPU 2.80GHz*2
  内存   4G
  硬盘   SCSI硬盘,7200rpm,146G*4,做成raid5
表2加载效果比较表
  项目   单位   普通表   临时表+分区表
  入库记录   条   1421567   1421567
  入库时间   秒   2844   184
  项目   单位   普通表   临时表+分区表
  建立索引时间   秒   0   79.3
  转移时间   秒   0   2.4
  入库速度   条/秒   500   5345
表3查询效果比较表
  查询时间(天)   普通表(秒)  临时表+分区表(秒)   命中数据条数(条)
  1   8  10   597
  2   10  9   1349
  30   16  14   6324
本方法要求按照时间先后顺序生成目录,本实施例在对应的目录中按照时间先后顺序产生bcp文件,其生成的文件大小支持记录条数或时间超时两种配置,当任何条件触发的时候都可以生成文件,以此来作为加载的数据源。本实施例使用的数据源是解析程序模块,主要是对互联网协议数据进行实时还原解析,并生成待处理的加载文件,以5分钟生成的文件做为一个文件夹,该文件夹以整点5分钟的时间整数来命名,而且此实施方法的5分钟支持可配置。数据源的生成方法如图1所示。
数据加载方式采用oracle OCI的Direct Path方式,加载程序模块按照时间目录先后来处理加载文件。本实施例中以1个小时为单位,1个小时是可以根据需求自行配置的,当缓存1个小时的数据后,加载程序模块再调用建立索引的接口,统一建立11个索引,完成建立索引后加载程序模块再调用数据转移接口,即将数据转移到分区表中。具体的操作流程图见图2。
为了提高查询性能,对缓存分割的分区段进行合并,本实施例将每个小时产生的缓存时间段的数据,合并成按照天来保存的时间段数据,也就是说将每个小时分区段数据合并成每天的分区段数据,从而形成以一天为单位的大的分区业务表。合并是选择在业务量较小的每天晚上12:20触发并检验是否符合当天缓存数据全部交换至对应的分区表的分区。实际中的调用时间设置可以根据需要进行定制。合并流程如图3所示。
本发明的整个查询方法流程如图4所示,当业务触发查询条件的时候,通过业务程序将调用分布式中间件,中间件再传给oracle数据库,数据库根据调用时间条件判断查询是在临时表还是在分区表,并判断在哪些临时表和哪些分区表,判断的依据就是根据记录表与查询时间段的关系,该记录表记录哪些数据在分布表,哪些数据在临时表。也就是说,当查询时间段包含临时表时间段,就按照给定的时间段来查询临时表,即调用临时表查询接口;当查询时间段包含分区表时间段,就按照给定的时间段来查询分区表,即调用分区表查询接口,然后将两个结果集进行联合。缓存表查询由于数据量小进行全表扫描或按照主键索引扫描,而分区表有索引以及分区设计,保证了查询准确性和快速性。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (6)

1.一种海量数据的加载方法,其步骤如下:
1)解析程序模块按照时间顺序生成目录,产生文件,生成数据源;
2)用临时表缓存各个连续时间段的数据,得到各分区段的数据;
3)将上述各分区段的数据统一建立索引;
4)加载程序模块调用数据转移接口,将数据转移到分区表。
2.如权利要求1所述的一种海量数据的加载方法,其特征在于所述步骤2)中的各个连续时间段的长度相同。
3.如权利要求1所述的一种海量数据的加载方法,其特征在于在步骤4)后增加如下步骤;对分区表中的数据进行合并,按照新的时间单位生成大的分区业务表。
4.一种海量数据的查询方法,其步骤如下:
I)采用如权利要求1所述的方法加载数据;
II)将分区表中的数据合并成大的分区业务表;
III)数据库对临时表和分区表进行查询。
5.如权利要求4所述的一种海量数据的查询方法,其特征在于步骤I)中的加载数据中各个连续时间段的长度相同。
6.如权利要求4所述的一种海量数据的查询方法,其特征在于步骤III)中的数据库进行的查询为:数据库根据调用时间条件判断查询是在临时表还是在分区表,并判断在哪些临时表和哪些分区表,当查询时间段出现在临时表时,即调用临时表查询接口;当查询时间段出现在分区表时,即调用分区表查询接口,然后将两个结果集进行联合。
CN2008101021211A 2008-03-18 2008-03-18 一种海量数据加载和查询的方法 Expired - Fee Related CN101251861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101021211A CN101251861B (zh) 2008-03-18 2008-03-18 一种海量数据加载和查询的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101021211A CN101251861B (zh) 2008-03-18 2008-03-18 一种海量数据加载和查询的方法

Publications (2)

Publication Number Publication Date
CN101251861A CN101251861A (zh) 2008-08-27
CN101251861B true CN101251861B (zh) 2010-04-21

Family

ID=39955250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101021211A Expired - Fee Related CN101251861B (zh) 2008-03-18 2008-03-18 一种海量数据加载和查询的方法

Country Status (1)

Country Link
CN (1) CN101251861B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459557B (zh) * 2008-11-29 2011-02-02 成都市华为赛门铁克科技有限公司 一种安全日志集中存储方法及装置
CN102063439B (zh) * 2009-11-18 2013-03-06 南京南瑞继保电气有限公司 内存数据库在线装载方法
CN102456024A (zh) * 2010-10-26 2012-05-16 深圳市金蝶友商电子商务服务有限公司 异步处理大数据量新增的方法及装置
US8515945B2 (en) * 2010-11-16 2013-08-20 Sybase, Inc. Parallel partitioning index scan
CN102567415B (zh) * 2010-12-31 2013-11-06 百度在线网络技术(北京)有限公司 一种数据库的控制方法和装置
CN102207964B (zh) * 2011-05-31 2013-06-05 广州从兴电子开发有限公司 实时海量数据索引建立方法及系统
CN102521406B (zh) * 2011-12-26 2014-06-25 中国科学院计算技术研究所 海量结构化数据复杂查询任务的分布式查询方法和系统
CN102521405B (zh) * 2011-12-26 2014-06-25 中国科学院计算技术研究所 支持高速加载的海量结构化数据存储、查询方法和系统
CN102750377B (zh) * 2012-06-21 2016-07-27 深圳市谷米科技有限公司 海量数据存储和检索方法
CN103049519A (zh) * 2012-12-18 2013-04-17 曙光信息产业(北京)有限公司 数据加载方法以及数据加载装置
CN103106271B (zh) * 2013-02-05 2016-04-20 广东全通教育股份有限公司 一种基于海量数据的数据库备份及恢复方法和系统
CN104933042B (zh) * 2013-09-29 2018-04-13 国家电网公司 基于大数据量的数据库表采集优化技术
CN105468651B (zh) * 2014-09-12 2020-03-27 阿里巴巴集团控股有限公司 一种关系数据库数据查询方法及系统
CN104484441A (zh) * 2014-12-23 2015-04-01 中国银行股份有限公司 文件批量处理及调度的方法
CN104679821B (zh) * 2014-12-30 2018-12-21 深圳市海蕴新能源有限公司 数据访问处理方法和装置
CN107132992B (zh) * 2016-02-26 2020-12-15 创新先进技术有限公司 一种海量数据的处理方法及其装置
CN108268468B (zh) * 2016-12-30 2021-01-26 北京京东尚科信息技术有限公司 一种大数据的分析方法及系统
CN109598963A (zh) * 2017-09-30 2019-04-09 杭州海康威视系统技术有限公司 一种过车查询方法、装置、电子设备及可读存储介质
CN107992516A (zh) * 2017-10-27 2018-05-04 平安科技(深圳)有限公司 电子装置、数据查询的方法及存储介质
CN109800252A (zh) * 2019-03-05 2019-05-24 深圳市国晨工程造价咨询有限公司 一种工程项目档案信息管理系统
CN111460037A (zh) * 2020-04-03 2020-07-28 中国建设银行股份有限公司 金融数据查询方法及装置
CN113420052B (zh) * 2021-07-08 2023-02-17 上海浦东发展银行股份有限公司 一种多级分布式缓存系统及方法
CN116204534B (zh) * 2023-05-06 2023-07-07 深圳市华磊迅拓科技有限公司 数据归档方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858735A (zh) * 2005-12-30 2006-11-08 华为技术有限公司 一种海量数据的处理方法
CN101086709A (zh) * 2007-07-19 2007-12-12 中兴通讯股份有限公司 通信设备快速加载海量数据的方法
CN101086732A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种海量数据管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858735A (zh) * 2005-12-30 2006-11-08 华为技术有限公司 一种海量数据的处理方法
CN101086732A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种海量数据管理方法
CN101086709A (zh) * 2007-07-19 2007-12-12 中兴通讯股份有限公司 通信设备快速加载海量数据的方法

Also Published As

Publication number Publication date
CN101251861A (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
CN101251861B (zh) 一种海量数据加载和查询的方法
CN100462979C (zh) 分布式索引文件的检索方法、检索系统及检索服务器
CN102906751B (zh) 一种数据存储、数据查询的方法及装置
CN102375837B (zh) 数据采集系统和方法
US20060173926A1 (en) Data transformation to maintain detailed user information in a data warehouse
CN102375853A (zh) 分布式数据库系统、在其中建立索引的方法和查询方法
Tang et al. Deferred lightweight indexing for log-structured key-value stores
CN101354726A (zh) 一种机群文件系统的内存元数据管理方法
CN102521406A (zh) 海量结构化数据复杂查询任务的分布式查询方法和系统
CN105164674A (zh) 涉及多个数据库和执行引擎的查询
CN106886371B (zh) 缓存数据处理方法及装置
CN103064933A (zh) 数据查询方法及系统
CN101030217A (zh) 一种语义网信息的索引与获取方法
CN104809182A (zh) 基于动态可分裂Bloom Filter的网络爬虫URL去重方法
CN104239377A (zh) 跨平台的数据检索方法及装置
CN105159845A (zh) 存储器读取方法
CN104050276A (zh) 一种分布式数据库的缓存处理方法及系统
CN112015741A (zh) 一种海量数据的分库分表存储方法与装置
Silberstein et al. Efficient bulk insertion into a distributed ordered table
CN102081649B (zh) 一种搜索电脑文件的方法及其系统
CN104376109A (zh) 一种基于数据分布库的多维度数据分布方法
US11645281B1 (en) Caching query plans in database systems
CN100367278C (zh) 历史数据归档和查询装置及方法
CN106155934A (zh) 一种云环境下基于重复数据的缓存方法
CN101937442A (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
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method for loading and inquiring magnanimity data

Effective date of registration: 20140623

Granted publication date: 20100421

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: 2014990000497

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhu Hejun

Inventor after: Liu Tao

Inventor before: Zhu Hejun

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20180327

Granted publication date: 20100421

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: 2014990000497

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method for loading and inquiring magnanimity data

Effective date of registration: 20180627

Granted publication date: 20100421

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: 2018110000015

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210128

Granted publication date: 20100421

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: Run Technologies Co.,Ltd. Beijing

Registration number: 2018110000015

PC01 Cancellation of the registration of the contract for pledge of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100421

CF01 Termination of patent right due to non-payment of annual fee