CN108108374A - 一种数据仓库的存储方法及装置 - Google Patents

一种数据仓库的存储方法及装置 Download PDF

Info

Publication number
CN108108374A
CN108108374A CN201611056644.8A CN201611056644A CN108108374A CN 108108374 A CN108108374 A CN 108108374A CN 201611056644 A CN201611056644 A CN 201611056644A CN 108108374 A CN108108374 A CN 108108374A
Authority
CN
China
Prior art keywords
data
slide fastener
physical extents
predetermined period
pdata
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.)
Granted
Application number
CN201611056644.8A
Other languages
English (en)
Other versions
CN108108374B (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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201611056644.8A priority Critical patent/CN108108374B/zh
Publication of CN108108374A publication Critical patent/CN108108374A/zh
Application granted granted Critical
Publication of CN108108374B publication Critical patent/CN108108374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Updating
    • G06F16/2393Updating materialised views
    • 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
    • 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/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种数据仓库的存储方法及装置,其中的方法包括:将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储;将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。该方法通过将操作性数据保存为快照存储后,以针对性的拉链方式将快照存储整合为细节数据层并进行存储,从而能够既可以有效保存历史数据及快速响应查询请求,又能够极大的节省存储空间。

Description

一种数据仓库的存储方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种数据仓库的存储方法及装置。
背景技术
随着在互联网中越来越多的采用大数据技术,业务数据成指数级增长,数据类型也呈现多样化,而数据仓库承载着记录业务历史数据、快速响应业务历史数据查询的重任。为了能够实现对在线数据进行备份与恢复,现有的数据仓库存储通常采用快照存储、覆盖存储或拉链等存储方式。
其中,快照存储是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像,该映像可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
但是现有的快照存储需要占用大量的存储空间才能实现上述功能,并且现有覆盖存储存在复写方案无法记录历史数据以及现有的拉链方式也存在影响响应速度的问题。因此现有的存储策略已不能适应多样化的存储需求。
发明内容
本发明解决的技术问题之一是现有的数据仓库的存储方式存在的占用较大的存储空间、无法记录历史数据及影响响应速度。
根据本发明一方面的一个实施例,提供了一种数据仓库的存储方法,包括:
将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储;
将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。
根据本发明另一方面的一个实施例,提供了一种数据仓库的存储装置,包括:
用于将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储的装置;
用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置。
由于本实施例将操作性数据保存为快照存储后,以针对性的拉链方式将快照存储整合为细节数据层并进行存储,从而能够既可以有效保存历史数据及快速响应查询请求,又能够极大的节省存储空间。
本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本发明并不仅限于这些实施例。而是,本发明的范围是广泛的,且意在仅通过后附的权利要求限定本发明的范围。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出了根据本发明实施例一数据仓库的存储方法的流程图。
图2示出了本发明实施例的通过全量拉链的拉链方式将每个所述快照存储整合生成细节数据层的流程图。
图3示出了本发明实施例的通过增量拉链的拉链方式将每个所述快照存储整合生成细节数据层的流程图。
图4示出了本发明的实施例一提出的数据仓库的存储方法的流程图。
图5示出了本发明的实施例二提出的数据仓库的存储方法的流程图。
图6示出了本发明的实施例三提出的数据仓库的存储方法的流程图。
图7示出了根据本发明实施例一数据仓库的存储装置的框图。
图8示出了本发明的实施例四提出的数据仓库的存储装置的框图。
图9示出了本发明的实施例五提出的数据仓库的存储装置的框图。
图10示出了本发明的实施例六提出的数据仓库的存储装置的框图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
图1是根据本发明一个实施例的数据仓库的存储方法的流程图。
结合图1中所示,本实施例所述的数据仓库的存储方法,包括如下步骤:
S110、将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储;
S120、将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。
下面对各步骤做进一步详细介绍。
步骤S110中,根据数据仓库各层级数据的业务特点可选取不同的存储策略,本实施例优选的针对面向业务的操作性数据进行处理。
可选的,针对操作性数据可以根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
步骤S120中,将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。
可选的,针对所述快照存储的方式,本实施例可将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区和用于文件裁剪的pend_status物理分区。
其中,将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的步骤还包括:通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储。
例如,结合图2所示,对于通过全量拉链的拉链方式将每个所述快照存储整合生成细节数据层的过程,可以包括如下的步骤:
S1211、将所述预定周期内全量抽取的数据与历史数据根据主键join;
S1212、将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,将所述pend_date物理分区的值设为所述预定周期,即pdata_status=expired,pend_date=当天;
S1213、将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,将所述pend_date物理分区的值设为最大,即pdata_status=active,pend_date=MAX_DAY;
S1214、将所述active分区写入bkt库。
其中,对bkt库的数据只保留最近7天的数据以节省存储资源,但bkt库每月最后一天的分区不删除,以便拉链表本身涉及回溯时能最大限度的保留历史数据。
再如,结合图3所示,对于通过增量拉链的拉链方式将每个所述快照存储整合生成细节数据层的过程,可以包括如下的步骤:
S1221、将所述预定周期内增量抽取的数据与历史数据根据主键join;
S1222、若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,将所述pend_date物理分区的值设为所述预定周期;
S1223、将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,将所述pend_date物理分区的值设为最大;
S1224、将所述active分区写入bkt库。
其中,对bkt库的数据只保留最近7天的数据以节省存储资源,但bkt库每月最后一天的分区不删除,以便拉链表本身涉及回溯时能最大限度的保留历史数据。
另外,对于在业务上都是insert无update的数据(如日志)通过增量流水的拉链方式将所述预定周期内增量抽取的数据保存为快照存储。
采用本实施例提出的技术方案,通过将操作性数据保存为快照存储后,以针对性的拉链方式将快照存储整合为细节数据层并进行存储,从而能够既可以有效保存历史数据及快速响应查询请求,又能够极大的节省存储空间。
实施例一
在本领域的现有技术中,为了能够实现对历史数据的记录,并且能够对记录的数据进行查询,现有的数据仓库存储策略已不能适应多样化的存储需求。
因此,在本实施例中提出了又一数据仓库的存储方法,结合图4中所示,包括如下步骤:
S410、根据业务特点对于面向业务的操作性数据采取全量的抽取方式。
针对操作性数据可以根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
S420、将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区及用于文件裁剪的pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
在本实施例中,pdata_status即数据状态,用于将区分数据是当前有效状态标示为active,还是已过期(即update之前的数据)标示为expired。pend_date即数据状态结束日志,标示数据的有效期截止时间。
S430、将所述预定周期内全量抽取的数据与历史数据作为主键索引。
其中,在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做join。本实施例中的Join即根据主键进行关联,主要为对每条记录的历史数据和当前数据进行对比
S440、将业务线已清理的数据结转归档并存入所述pdata_status物理分区中,并且将所述pend_date物理分区的值设为最大。
其中,可将业务线已清理的数据结转归档,存入所述pdata_status物理分区中,并且将将所述pend_date物理分区的值设为最大。在本实施例中的Histroy分区为结转分区。
S450、将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期。
其中,可将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值都设为当前时间。在本实施例中的expired为pdata_status的分区值,pdata_status为物理分区名,active和expired为分区名,即:
pdata_status=active:标示该分区里的数据为过期的数据,就是说该条记录已被更新。例如:
历史分区中有记录:小明,19岁
当天拉取的业务系统数据中有记录:小明,20岁
其中第一列是姓名,第二列是年龄,以第一列姓名为主键进行join。则历史分区中的记录:小明,19岁属于过期的记录,放入分区值为expired的分区中,即:pdata_status=expired;当天拉取的业务系统数据中的记录:小明,20岁,属于当前有效的数据,放入分区值为active的分区即:pdata_status=active。
S460、将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大。
其中,可将更新后或者无更新的数据存入pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值都设为最大。
S470、将所述active分区写入bkt库。
在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
在本实施例中的bkt库为备份数据库,主要用于存储每日全量有效数据,用于和第二天重新拉取的数据join,bkt库另一个作用是拉链表本身的回溯。
实施例二
在本实施例中提出了又一数据仓库的存储方法,结合图5中所示,包括如下步骤:
S510、根据业务特点对于面向业务的操作性数据采取增量的抽取方式。
针对操作性数据可以根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
S520、将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区及用于文件裁剪的pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
S530、将所述预定周期内全量拉链的数据与历史数据作为主键索引。
其中,在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做join。
S540、将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期。
其中,可将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值都设为当前时间。
S550、将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大。
其中,可将更新后或者无更新的数据存入pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值都设为最大。
S560、将所述active分区写入bkt库。
在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
实施例三
在本实施例中提出了又一数据仓库的存储方法,结合图6中所示,包括如下步骤:
S610、根据业务特点对于面向业务的操作性数据采取增量的抽取方式。
针对操作性数据可以根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
S620、将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区及用于文件裁剪的pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
S630、将所述预定周期内增量拉链的数据与历史数据作为全主键索引。
其中,在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做fulljoin。本实施例中的full join为数据库两张表关联方式的一种,关键结果为两张表的所有数据,key值在一张表中而不在另一张表的数据标示为NULL。
S640、若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期。
其中,对于所述主键在历史表和所述预定周期的快照表中均存在的情况,可将所述历史表中的数据写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为当前时间。
S650、将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大。
其中,可将未写入所述pdata_status物理分区的expired分区中的数据存入pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大。
S660、将所述active分区写入bkt库。
在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
结合图7中所示,本实施例所述的数据仓库的存储装置可以包括如下的装置:
用于将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储的装置(以下简称“快照存储装置”)710;
用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置(以下简称“拉链存储装置”)720。
下面对各装置做进一步详细介绍。
快照存储装置710可根据数据仓库各层级数据的业务特点可选取不同的存储策略,本实施例优选的针对面向业务的操作性数据进行处理。
可选的,针对操作性数据可以由快照存储装置710根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
拉链存储装置720可将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。
可选的,针对所述快照存储的方式,拉链存储装置720可将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区。
其中,用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置还可以包括:用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置。
例如,用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置可以包括如下的装置:
用于将所述预定周期内全量抽取的数据与历史数据作为主键索引的装置;
用于将业务线已清理的数据结转归档并存入所述pdata_status物理分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置;
用于将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将所述active分区写入bkt库的装置。
又如,用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置可以包括如下的装置:
用于将所述预定周期内全量抽取的数据与历史数据作为主键索引的装置;
用于将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置;
用于将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将所述active分区写入bkt库的装置。
再如,用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置可以包括如下的装置:
用于将所述预定周期内增量抽取的数据与历史数据作为全主键索引的装置;
用于若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置;
用于将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将所述active分区写入bkt库的装置。
另外,对于通过增量流水的拉链方式将每个所述快照存储整合生成细节数据层的过程,可以通过用于将所述预定周期内增量抽取的数据保存为快照存储的装置实现。
采用本实施例提出的技术方案,通过将操作性数据保存为快照存储后,以针对性的拉链方式将快照存储整合为细节数据层并进行存储,从而能够既可以有效保存历史数据及快速响应查询请求,又能够极大的节省存储空间。
实施例四
在本领域的现有技术中,为了能够实现对历史数据的记录,并且能够对记录的数据进行查询,现有的数据仓库存储策略已不能适应多样化的存储需求。
因此,结合图8所示,在本实施例中提出了又一数据仓库的存储装置,包括如下装置:
用于根据业务特点对于面向业务的操作性数据采取全量的抽取方式的装置(以下简称“第一抽取装置”)810;
用于将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区的装置(以下简称“第一分区装置”)820;
用于将所述预定周期内全量抽取的数据与历史数据作为主键索引的装置(以下简称“第一索引装置”)830;
用于将业务线已清理的数据结转归档并存入所述pdata_status物理分区中,并且将所述pend_date物理分区的值设为最大的装置(以下简称“第一存储装置”)840;
用于将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置(以下简称“第二存储装置”)850;
用于将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置(以下简称“第三存储装置”)860;
用于将所述active分区写入bkt库的装置(以下简称“第一写入装置”)870。
其中,针对操作性数据可以由第一抽取装置810根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
然后通过第一分区装置820将所述快照存储分别存储在pdata_status物理分区以及pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
再通过第一索引装置830在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做join。
而第一存储装置840可将业务线已清理的数据结转归档,存入所述pdata_status物理分区中,并且将所述pend_date物理分区的值设为最大。
第二存储装置850可将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且所述pend_date物理分区的值都设为当前时间。
第三存储装置860可将更新后或者无更新的数据存入pdata_status物理分区的active分区中,并且所述pend_date物理分区的值都设为最大。
最后,通过第一写入装置870在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
实施例五
在本实施例中提出了又一数据仓库的存储装置,结合图9中所示,包括如下装置:
用于根据业务特点对于面向业务的操作性数据采取增量的抽取方式的装置(以下简称“第二抽取装置”)910;
用于将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区的装置(以下简称“第二分区装置”)920;
用于将所述预定周期内全量拉链的数据与历史数据作为主键索引的装置(以下简称“第二索引装置”)930;
用于将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置(以下简称“第四存储装置”)940;
用于将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置(以下简称“第五存储装置”)950;
用于将所述active分区写入bkt库的装置(以下简称“第二写入装置”)960。
其中,针对操作性数据可以由第二抽取装置910根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
然后第二分区装置920将所述快照存储分别存储在pdata_status物理分区以及pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
再通过第二索引装置930在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做join。
而第四存储装置940可将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且所述pend_date物理分区的值都设为当前时间。
第五存储装置950可将更新后或者无更新的数据存入pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值都设为最大。
最后,通过第二写入装置960在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
实施例六
在本实施例中提出了又一数据仓库的存储装置,结合图10中所示,包括如下装置:
用于根据业务特点对于面向业务的操作性数据采取增量的抽取方式的装置(以下简称“第三抽取装置”)1010;
用于将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区的装置(以下简称“第三分区装置”)1020;
用于将所述预定周期内增量拉链的数据与历史数据作为全主键索引的装置(以下简称“第三索引装置”)1030;
用于若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置(以下简称“第六存储装置”)1040;
用于将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置(以下简称“第七存储装置”)1050;
用于将所述active分区写入bkt库的装置(以下简称“第三写入装置”)1060。
其中,针对操作性数据可以由第三抽取装置1010根据其业务特点采取增量或全量的抽取方式,并以预定周期为间隔将抽取的操作性数据以快照存储的方式存储,存储后的操作性数据支持自动化配置的功能。
然后通过第三分区装置1020将所述快照存储分别存储在pdata_status物理分区以及pend_date物理分区。
其中,pdata_status物理分区可用于区分闭链数据和有效数据,并且有效减少拉链时的数据量从而缩短拉链时间和查询响应时间;pend_date物理分区则可有效用于文件裁剪。
再通过第三索引装置1030在预定周期内,例如在24小时内全量抽取的数据与历史数据以主键做full join。
对于所述主键在历史表和所述预定周期的快照表中均存在的情况,可通过第六存储装置1040将所述历史表中的数据写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值都设为当前时间。
第七存储装置1050则可将未写入所述pdata_status物理分区的expired分区中的数据存入PDATA_STATUS物理分区的active分区中,并且将所述pdata_status物理分区的值都设为最大。
最后,通过第三写入装置1060在所述bkt库中保存一定周期后,可对已保存的数据进行自动化配置,以保证在该周期内可立即修复数据,并且可以重新进行拉链。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。

Claims (14)

1.一种数据仓库的存储方法,包括:
将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储;
将每个所述快照存储以拉链方式整合生成细节数据层并进行存储。
2.根据权利要求1所述的方法,将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储包括:
根据业务特点对于面向业务的操作性数据采取增量或全量的抽取方式。
3.根据权利要求1所述的方法,将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的步骤包括:
将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区。
4.根据权利要求3所述的方法,将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的步骤还包括:
通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储。
5.根据权利要求4所述的方法,所述通过全量拉链的拉链方式将每个所述快照存储整合生成细节数据层的步骤包括:
将所述预定周期内全量抽取的数据与历史数据作为主键索引;
将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期;
将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大;
将所述active分区写入bkt库。
6.根据权利要求4所述的方法,所述通过增量拉链的拉链方式将每个所述快照存储整合生成细节数据层的步骤包括:
将所述预定周期内增量抽取的数据与历史数据作为全主键索引;
若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期;
将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大;
将所述active分区写入bkt库。
7.根据权利要求4所述的方法,所述通过增量流水的拉链方式将每个所述快照存储整合生成细节数据层的步骤包括:
将所述预定周期内增量抽取的数据保存为快照存储。
8.一种数据仓库的存储装置,包括:
用于将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储的装置;
用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置。
9.根据权利要求8所述的方法,所述用于将所述数据仓库中的操作性数据以预定周期为间隔保存为快照存储的装置包括:
用于根据业务特点对于面向业务的操作性数据采取增量或全量的抽取方式的装置。
10.根据权利要求8所述的装置,所述用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置包括:
用于将所述快照存储分别存储在用于区分闭链数据和有效数据的pdata_status物理分区以及用于文件裁剪的pend_date物理分区的装置。
11.根据权利要求10所述的装置,所述用于将每个所述快照存储以拉链方式整合生成细节数据层并进行存储的装置还包括:
用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置。
12.根据权利要求10所述的装置,所述用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置包括:
用于将所述预定周期内全量抽取的数据与历史数据作为主键索引的装置;
用于将更新前的过期数据闭链处理存入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置;
用于将更新后或者无更新的数据存入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将所述active分区写入bkt库的装置。
13.根据权利要求10所述的装置,所述用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置包括:
用于将所述预定周期内增量抽取的数据与历史数据作为全主键索引的装置;
用于若所述主键在历史表和所述预定周期的快照表中均存在,则将所述历史表中的记录写入所述pdata_status物理分区的expired分区中,并且将所述pend_date物理分区的值设为所述预定周期的装置;
用于将未写入所述pdata_status物理分区的expired分区中的数据写入所述pdata_status物理分区的active分区中,并且将所述pend_date物理分区的值设为最大的装置;
用于将所述active分区写入bkt库的装置。
14.根据权利要求10所述的装置,所述用于通过全量拉链、增量拉链或增量流水的拉链方式将每个所述快照存储整合生成细节数据层并进行存储的装置包括:
用于将所述预定周期内增量抽取的数据保存为快照存储的装置。
CN201611056644.8A 2016-11-25 2016-11-25 一种数据仓库的存储方法及装置 Active CN108108374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611056644.8A CN108108374B (zh) 2016-11-25 2016-11-25 一种数据仓库的存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611056644.8A CN108108374B (zh) 2016-11-25 2016-11-25 一种数据仓库的存储方法及装置

Publications (2)

Publication Number Publication Date
CN108108374A true CN108108374A (zh) 2018-06-01
CN108108374B CN108108374B (zh) 2021-11-16

Family

ID=62205364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611056644.8A Active CN108108374B (zh) 2016-11-25 2016-11-25 一种数据仓库的存储方法及装置

Country Status (1)

Country Link
CN (1) CN108108374B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096509A (zh) * 2019-05-16 2019-08-06 普元信息技术股份有限公司 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN111753019A (zh) * 2019-03-26 2020-10-09 北京沃东天骏信息技术有限公司 一种应用于数据仓库的数据分区方法和装置
CN113312414A (zh) * 2020-07-30 2021-08-27 阿里巴巴集团控股有限公司 数据处理方法、装置、设备和存储介质
CN113656370A (zh) * 2021-08-16 2021-11-16 南方电网数字电网研究院有限公司 电力量测系统数据处理方法、装置和计算机设备
CN114020534A (zh) * 2021-11-05 2022-02-08 中远海运科技股份有限公司 一种航运数据快照生成方法
CN115756960A (zh) * 2022-11-16 2023-03-07 湖南长银五八消费金融股份有限公司 误操作数据恢复方法、装置、计算机设备与存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071769A1 (en) * 2006-08-23 2008-03-20 Govindarajan Jagannathan Efficient Search Result Update Mechanism
CN103049349A (zh) * 2012-11-29 2013-04-17 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
CN103678392A (zh) * 2012-09-20 2014-03-26 阿里巴巴集团控股有限公司 一种数据增量合并的方法及其装置
CN104239567A (zh) * 2014-09-28 2014-12-24 北京国双科技有限公司 数据仓库中的维度处理方法和装置
CN104298760A (zh) * 2014-10-23 2015-01-21 北京京东尚科信息技术有限公司 一种应用于数据仓库的数据处理方法和数据处理装置
CN104899199A (zh) * 2014-03-04 2015-09-09 阿里巴巴集团控股有限公司 一种数据仓库数据处理方法和系统
CN105095484A (zh) * 2015-08-17 2015-11-25 北京京东世纪贸易有限公司 一种数据拉链方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071769A1 (en) * 2006-08-23 2008-03-20 Govindarajan Jagannathan Efficient Search Result Update Mechanism
CN103678392A (zh) * 2012-09-20 2014-03-26 阿里巴巴集团控股有限公司 一种数据增量合并的方法及其装置
CN103049349A (zh) * 2012-11-29 2013-04-17 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
CN104899199A (zh) * 2014-03-04 2015-09-09 阿里巴巴集团控股有限公司 一种数据仓库数据处理方法和系统
CN104239567A (zh) * 2014-09-28 2014-12-24 北京国双科技有限公司 数据仓库中的维度处理方法和装置
CN104298760A (zh) * 2014-10-23 2015-01-21 北京京东尚科信息技术有限公司 一种应用于数据仓库的数据处理方法和数据处理装置
CN105095484A (zh) * 2015-08-17 2015-11-25 北京京东世纪贸易有限公司 一种数据拉链方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753019A (zh) * 2019-03-26 2020-10-09 北京沃东天骏信息技术有限公司 一种应用于数据仓库的数据分区方法和装置
CN110096509A (zh) * 2019-05-16 2019-08-06 普元信息技术股份有限公司 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN113312414A (zh) * 2020-07-30 2021-08-27 阿里巴巴集团控股有限公司 数据处理方法、装置、设备和存储介质
CN113312414B (zh) * 2020-07-30 2023-12-26 阿里巴巴集团控股有限公司 数据处理方法、装置、设备和存储介质
CN113656370A (zh) * 2021-08-16 2021-11-16 南方电网数字电网研究院有限公司 电力量测系统数据处理方法、装置和计算机设备
CN113656370B (zh) * 2021-08-16 2024-04-30 南方电网数字电网集团有限公司 电力量测系统数据处理方法、装置和计算机设备
CN114020534A (zh) * 2021-11-05 2022-02-08 中远海运科技股份有限公司 一种航运数据快照生成方法
CN115756960A (zh) * 2022-11-16 2023-03-07 湖南长银五八消费金融股份有限公司 误操作数据恢复方法、装置、计算机设备与存储介质

Also Published As

Publication number Publication date
CN108108374B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN108108374A (zh) 一种数据仓库的存储方法及装置
Frank Requirements for a database management system for a GIS.
CN103365929B (zh) 一种数据库连接的管理方法及系统
US7890541B2 (en) Partition by growth table space
CN102521269B (zh) 一种基于索引的计算机连续数据保护方法
US6408312B1 (en) Method and system for supporting multiple, historical, and future designs in a relational database
CN104216955B (zh) 一种操作数据及管理事务的方法、装置及分布式系统
CN101170416B (zh) 网络数据存储系统及其数据访问方法
CN103412917B (zh) 一种可扩展的多类型领域数据协调管理的数据库系统和管理方法
CN102521712B (zh) 一种流程实例数据处理方法和装置
CN109923534A (zh) 对具有未提交事务的数据库记录的多版本并发控制
CN111460023A (zh) 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质
CN103020078A (zh) 分布式实时数据库数据层次索引方法
CN106682042B (zh) 一种关系数据缓存及查询方法及装置
CN103793493A (zh) 一种处理车载终端海量数据的方法和系统
CN106933836A (zh) 一种基于分表的数据存储方法和系统
CN102103642A (zh) 基于oltp的数据删除方法、系统及图形数据库服务器
CN102193991A (zh) 基于oltp的数据修改方法、系统及图形数据库服务器
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN102346744A (zh) 用于在多租户应用系统中处理物化表的装置
CN109783467A (zh) 一种分布式文件系统的嵌套目录文件个数配额设置方法
CN110175206A (zh) 用于多数据库分离的智能分析业务方法、系统及介质
CN106802928B (zh) 电网历史数据管理方法及其系统
CN107111534A (zh) 一种数据处理的方法和装置
CN103678608B (zh) 日志管理方法和装置

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
GR01 Patent grant
GR01 Patent grant