CN105893531A - PostgreSQL数据库海量数据管理方法及系统 - Google Patents
PostgreSQL数据库海量数据管理方法及系统 Download PDFInfo
- Publication number
- CN105893531A CN105893531A CN201610195454.8A CN201610195454A CN105893531A CN 105893531 A CN105893531 A CN 105893531A CN 201610195454 A CN201610195454 A CN 201610195454A CN 105893531 A CN105893531 A CN 105893531A
- Authority
- CN
- China
- Prior art keywords
- subregion
- data
- expansion
- index
- space
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种PostgreSQL数据库海量数据管理方法及系统,基于Linux平台实现,包括海量存储管理配置初始化,启动系统定时调度;对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;存储空间检查,判断存储空间是否支持预扩展,支持则执行分区预扩展操作和索引创建,否则触发自适应精减机制。本发明保证了数据的有效性、可用性和可扩展性,为数据扩容提供了数值依据,有效提升数据库管理人员的维护效率,大大降低数据库的管理维护成本,具有重要的市场价值。
Description
技术领域
本发明涉及数据库应用的技术领域,具体涉及一种基于Linux平台实现的PostgreSQL数据库的海量数据管理方法及系统。
背景技术
PostgreSQL数据库是一种开源、实用、高效、应用广泛的通用数据库管理系统,其传统处理的数据管理的方式主要由两种:一种是数据量在可预测范围内可控制情况下,一次性完成数据存储空间的部署,后续无需扩容;另外一种,就是依托数据库DBA进行日常巡检,来维护数据库的正常运行。随着各种业务系统的层出不穷,针对不同类型数据的需求,数据存储的可预见性相对降低,对数据空间的预置难度不断加大,这就要求不同的系统都要配置不同的数据库管理员,如果单个数据库管理员DBA同时管理多个系统,无疑将消耗大量的人力和物力,对数据库管理员的要求和标准越来越高。而人力终究是有限的,随着应用自动化的不断出现,数据库管理也需要相关的自动管理技术手段和方法,以提高数据管理的效率,有效降低维护的成本。
发明内容
针对上述问题,本发明提供一种基于Linux平台的PostgreSQL数据库的海量数据管理方法及系统,以容量预配置数据为基础,结合系统的自动监控机制,实现大数据存储的自动管理。
本发明提供一种PostgreSQL数据库海量数据管理方法,基于Linux平台实现,包括以下步骤,
步骤1-1,海量存储管理配置初始化,包括初始化表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
步骤1-2,启动系统定时调度,通过Linux系统Crond服务,配置实现数据库管理调度机制;
步骤1-3,历史数据清理,包括对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;
步骤1-4,存储空间检查,判断存储空间是否支持预扩展,包括将表空间使用率与自适应精减调整的触发阈值进行比较,若该值小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,返回执行步骤1-3,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限;
步骤1-5,执行分区预扩展操作和索引创建,包括通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
步骤1-6,处理流程结束。
而且,步骤1-3中数据清理实现包括以下步骤,
步骤2-1,调用数据库接口,获取海量数据表的表对象信息;
步骤2-2,根据获取的表对象信息,提取过期分区的表分区区间以及预留分区的区间,生成过期分区信息和预留分区信息;
步骤2-3,检查过期分区区间对应的表分区是否存在,如果存在则删除过期表分区,进入步骤2-4,如果不存在直接进入步骤2-4;
步骤2-4,检查预留分区区间对应的表分区是否存在,如果存在则清除预留表分区,进入步骤2-5,如果不存在则直接进入步骤2-5结束;
步骤2-5,处理流程结束。
而且,步骤1-4中数据存储有效空间检查实现包括以下步骤,
步骤3-1,调用数据库函数接口,获取存储设备中允许表空间使用的配置容量以及存储路径;
步骤3-2,调用Linux系统函数接口,获取对应表空间实际使用的大小,得到实际使用容量;
步骤3-3,根据实际使用大小与配置容量比值得到表空间使用率,并判断该数值是否触发自适应精减调整机制,如果小于触发阈值,直接进入步骤3-6,否则进入步骤3-4;
步骤3-4,判断是否缩减操作次数大于N次,是则直接进入步骤3-6,否则进入步骤3-5;
步骤3-5,对海量数据存储配置进行缩减调整,然后进入步骤1-3;
步骤3-6,处理流程结束。
而且,步骤3-5中的缩减调整包括对表对象配置表中表对象的存储周期按照优先级进行缩减。
而且,步骤1-5中分区预扩展处理实现包括以下步骤,
步骤4-1,调用数据库接口,获取海量数据表的表对象信息;
步骤4-2,根据获取的表对象信息,获取表对象预扩展表分区信息,生成预扩展分区的表分区名称、表空间名称以及预留分区的区间;
步骤4-3,检查预扩展表分区是否存在,是则返回步骤4-2,否则如果不存在则创建表分区,进入步骤4-4;
步骤4-4,获取扩展分区对应索引信息:根据获取的索引对象信息,创建扩展分区对应索引,生成预扩展分区的索引名称和表空间名称;
步骤4-5,检查预扩展表分区索引是否存在,是则返回步骤4-4,否则如果不存在则执行创建操作,创建表对象预扩展分区索引;
步骤4-6,处理流程结束。
本发明还相应提供一种PostgreSQL数据库海量数据管理系统,基于Linux平台实现,包括以下模块,
第一模块,用于海量存储管理配置初始化,包括初始化表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
第二模块,用于启动系统定时调度,通过Linux系统Crond服务,配置实现数据库管理调度机制;
第三模块,用于历史数据清理,包括对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;
第四模块,用于存储空间检查,判断存储空间是否支持预扩展,包括将表空间使用率与自适应精减调整的触发阈值进行比较,若该值小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,返回执行步骤1-3,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限;
第五模块,用于执行分区预扩展操作和索引创建,包括通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
第六模块,用于处理流程结束。
而且,第三模块中数据清理实现包括以下步骤,
步骤2-1,调用数据库接口,获取海量数据表的表对象信息;
步骤2-2,根据获取的表对象信息,提取过期分区的表分区区间以及预留分区的区间,生成过期分区信息和预留分区信息;
步骤2-3,检查过期分区区间对应的表分区是否存在,如果存在则删除过期表分区,进入步骤2-4,如果不存在直接进入步骤2-4;
步骤2-4,检查预留分区区间对应的表分区是否存在,如果存在则清除预留表分区,进入步骤2-5,如果不存在则直接进入步骤2-5结束;
步骤2-5,处理流程结束。
而且,第四模块中数据存储有效空间检查实现包括以下步骤,
步骤3-1,调用数据库函数接口,获取存储设备中允许表空间使用的配置容量以及存储路径;
步骤3-2,调用Linux系统函数接口,获取对应表空间实际使用的大小,得到实际使用容量;
步骤3-3,根据实际使用大小与配置容量比值得到表空间使用率,并判断该数值是否触发自适应精减调整机制,如果小于触发阈值,直接进入步骤3-6,否则进入步骤3-4;
步骤3-4,判断是否缩减操作次数大于N次,是则直接进入步骤3-6,否则进入步骤3-5;
步骤3-5,对海量数据存储配置进行缩减调整,然后进入步骤1-3;
步骤3-6,处理流程结束。
而且,步骤3-5中的缩减调整包括对表对象配置表中表对象的存储周期按照优先级进行缩减。
而且,第五模块中分区预扩展处理实现包括以下步骤,
步骤4-1,调用数据库接口,获取海量数据表的表对象信息;
步骤4-2,根据获取的表对象信息,获取表对象预扩展表分区信息,生成预扩展分区的表分区名称、表空间名称以及预留分区的区间;
步骤4-3,检查预扩展表分区是否存在,是则返回步骤4-2,否则如果不存在则创建表分区,进入步骤4-4;
步骤4-4,获取扩展分区对应索引信息:根据获取的索引对象信息,创建扩展分区对应索引,生成预扩展分区的索引名称和表空间名称;
步骤4-5,检查预扩展表分区索引是否存在,是则返回步骤4-4,否则如果不存在则执行创建操作,创建表对象预扩展分区索引;
步骤4-6,处理流程结束。
本发明的技术方案对海量数据进行自动管理,保证了数据的有效性、可用性、可扩展性,同时为数据扩容提供了数值依据,为系统维护提供了简洁易懂的可视化的处理方法,有效提升数据库管理人员的维护效率,大大降低数据库的管理维护成本,具有重要的市场价值。
附图说明
图1为本发明实施例的海量数据管理方法的整体流程图。
图2为本发明实施例的数据有效空间检查流程图。
图3为本发明实施例的数据清理流程图。
图4为本发明实施例的分区预扩展处理流程图。
具体实施方式
本发明基于数据库技术应用在移动分组域数据分析系统中。以下根据附图和实施例对本发明具体实现进行说明。
本发明实施例的基本原理为:关注PostgreSQL数据库数据存储的原理,加以数据库海量存储所采用的表空间、表对象、索引对象以及系统信息的配置,并结合系统自动服务机制,完成海量数据库的数据管理工作。本发明实施例基于PostgreSQL数据库平台,通过对设计的一套自动管理模式的信息配置方案,完成系统自动管理配置数据的初始化,再结合系统定时调度机制,实现数据自动管理。
本发明在深入分析PostgreSQL数据库数据存储原理基础上,对海量数据存储进行了规划部署,该方法部署实施有以下三个前提条件:
第一,数据库文件存储要求表对象及索引对象分别以单独的文件存储;
第二,海量数据表对象全部使用分区表实现,分区表扩展时,单个分区需要单独配置表空间;
第三,表空间的存储路径差异性设置,即结合数据整体存储设计周期,并按照周期循环算法生成表空间的数据存储路径,方便数据存储空间使用情况的统计和管理。
在满足以上前提条件的基础上,完成表对象、索引对象、表空间、存储设备、系统基础数据的配置,并启动系统监控实时获取存储数据信息,提供给后台数据库更新。数据库采用巡检机制,定时启动数据库数据管理服务。该服务的功能主要包括存储空间检查、分区预扩展、过期分区处理三个部分。当服务启动后,依次完成以下操作实现海量数据的自动管理:
首先,对表空间容量进行检查,获取各表空间实际使用的存储容量;
然后,将各存储设备的实际使用容量与系统表中已配置好的初始化容量进行整理比较,以确定是否调整表对象的存储周期,为表对象的扩展保证充足的存储空间;
其次,对过期数据分区进行整理,预留时间段内与实际保存周期外的分区数据进行清理,对预留时间段外的分区进行删除处理;
最后,为所有的表对象扩展新的分区,并完成分区下索引对象创建。
即主要包括以下部分:
一、完成数据库管理配置,包括表空间存储管理、表对象存储管理及索引对象存储配置,并实现管理数据的初始化操作;
二、运行数据库的数据检查机制,对数据进行维护和扩展处理,具体包括:保留分区的数据清理(truncate操作)、过期保留分区的删除(drop操作)、数据自适应精减调整以及创建数据分区(包含对应的索引)。其中,当表空间的扩展标识为不可扩展时,通过数据自适应精减调整机制,缩短数据存储周期、清理过期数据,以达到表空间可扩展目的,若达到循环上限仍然不能满足扩展要求,将以抛出扩展异常告警的方式退出扩展流程。
参见图1,是本发明实施例的整体流程图。按照以下流程步骤,概括的介绍海量数据的自动管理流程。
步骤1-1,海量存储管理配置初始化:初始化海量数据管理的配置信息。基于Linux的PostgreSQL数据库平台,其海量数据配置主要与表空间、分区表、分区索引有关,具体涉及表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
以上所述的初始化海量数据管理配置的表中,涉及的相关表的属性字段如下:
表空间配置表:用来存储表空间的配置信息,主要包括序列号、表空间名称、表空间文件路径、所属存储设备单元id
存储设备配置表:用来存储主要包括序列号、存储单元id、存储单元名称、挂载点信息、允许使用的存储空间
表对象配置表:主要包括序列号、表名称、分区类型、实际保存周期、优先级别、预计保存周期、分区标识列、预扩展分区数
索引对象配置表:主要包括序列号、索引名称、所属表名称、索引字段、索引类型
系统配置表:主要包括序列号、配置项名称、属性值、配置类型
日志记录表:主要包括序列号、日志时间、日志类型、日子模块、日志内容
该步骤实现可包括:
步骤a,增加表空间配置表,提取表空间名称、存储路径、允许存储容量信息,完成该配置表的初始化操作;
步骤b,提取数据库中自定义海量表对象信息,包括表对象的分区类型、允许数据分区数、允许保留分区数、允许删除的优先级的信息,完成表对象配置表的初始化配置操作;
步骤c,提供数据表中表对象相关的所有索引信息,包括索引名称前缀、索引类型、索引名称,完成索引对象配置表的初始化配置操作;
步骤d,完成以上信息的初始化操作,等待系统启动执行调度。
步骤1-2,启动系统定时调度:定时调度机制启动。通过Linux系统Crond服务,配置实现数据库管理调度机制,具体实施时可由本领域技术人员预设调度周期,实施例设为12小时/次,调度机制中执行内容主要包括过期分区处理、存储空间检查、分区预扩展,依次在以下步骤中阐述;
步骤1-3,历史数据清理:执行过期分区处理调度,完成数据清理操作。首先,对过期数据分区(即预留时间段外的分区)进行删除;然后,对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理,以免因为分区不统一造成查询异常;
步骤1-4,存储空间检查:数据清理完成后调度执行存储空间检查操作,然后判断存储空间是否支持预扩展。首先,Linux系统从数据库接口中获取当前的海量数据所使用的表空间的总大小,其次,通过系统接口获取表空间当前使用大小,然后,根据后者与前者相除的结果(即表空间使用率),与自适应精减调整触发阈值进行比较,若该值小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,重新执行步骤1-3和步骤1-4,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限,本领域技术人员可以自行预设取值,实施例中N=3;数据自适应精减调整,可以包括按照表对象配置的存储优先级、存储周期的大小,均衡缩短存储周期,其中存储周期最小单位为天;
步骤1-5,执行分区预扩展操作和索引创建。通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
步骤1-6,处理流程结束。
参见图2,是本发明实施例的步骤1-3中数据清理具体实现流程图。按照以下流程步骤,详细介绍过期数据处理流程,具体实施步骤如下:
步骤2-1,调用数据库接口,获取海量数据表的表对象信息;
步骤2-2,根据获取的表对象信息(包括表名称、实际存储周期及预计存储周期以及当前的系统时间),提取过期分区的表分区区间以及预留分区的区间,生成过期分区信息和预留分区信息;
步骤2-3,检查过期分区区间对应的表分区是否存在,如果存在则删除过期表分区,进入步骤2-4,如果不存在直接进入步骤2-4;
步骤2-4,检查预留分区区间对应的表分区是否存在,如果存在则清除预留表分区,进入步骤2-5,如果不存在则直接进入步骤2-5结束;
步骤2-5,处理流程结束。
参见图3,是本发明实施例的步骤1-4中数据存储有效空间检查具体实现流程图。按照以下流程步骤,详细介绍数据有效空间检查处理流程。
步骤3-1,调用数据库函数接口,获取存储设备中允许表空间使用的配置容量以及存储路径;
步骤3-2,调用Linux系统函数接口,获取对应表空间实际使用的大小,即实际使用容量;
步骤3-3,生成表空间使用率,并判断该数值是否触发自适应精减调整机制(其中触发阈值在具体实施时可由本领域技术人员自行预设,实施例中取经验值为85%),如果实际使用大小与配置容量比值(有效使用占比)小于触发阈值,直接进入步骤3-6,否则(大于等于触发阈值)进入步骤3-4;
步骤3-4,判断是否缩减操作次数大于N次,是则直接进入步骤3-6,否则进入步骤3-5;
步骤3-5,当前表空间有效使用率触发自适应精减调整机制,对海量数据存储配置进行缩减调整,表对象配置表中表对象的存储周期将按照优先级进行缩减,缩减标识次数加1,然后进入步骤1-3;具体实施时,可以根据数据的重要性预先设置优先级,比如重要数据一次只能减少1天,不重要的数据可以减少2~3天;
步骤1-3的调度数据清理(参见图3流程),待执行完成重新获取表空间有效使用率。如果该值仍然大于等于触发阈值,则将重新进入执行步骤3-1;由于该检查为循环进行,以及可能存在的系统异常,实施例中N=3,即每次调度最大允许缩减标识次数为3次。如果表空间有效使用率小于触发阈值,则完成检查流程进入分区扩展处理流程;如果缩减操作次数大于3次后有效使用率仍然大于触发阈值,直接跳出检查流程,生成告警日志记录;
步骤3-6,处理流程结束。
参见图4,是本发明实施例的分区预扩展处理流程图,具体实施步骤如下:
步骤4-1,调用数据库接口,获取海量数据表的表对象信息;
步骤4-2,根据获取的表对象信息(包括表名称、分区类型、预计保存周期、分区标识列、预扩展分区数以及当前的系统时间),获取表对象预扩展表分区信息,生成预扩展分区的表分区名称、表空间名称以及预留分区的区间;
步骤4-3,检查预扩展表分区是否存在,是则返回步骤4-2,否则如果不存在则创建表分区,进入步骤4-4;
步骤4-4,获取扩展分区对应索引信息:根据获取的索引对象信息(包括索引名称、所属表名称、索引字段以及系统时间),创建扩展分区对应索引,生成预扩展分区的索引名称和表空间名称;
步骤4-5,检查预扩展表分区索引是否存在,即判断表对象分区索引是否已存在,是则返回步骤4-4,否则如果不存在则执行创建操作,创建表对象预扩展分区索引;
步骤4-6,处理流程结束。
具体实施时,本发明所提供方法可基于软件技术实现自动运行流程,也可采用模块化方式实现相应系统。
本发明实施例还相应提供一种PostgreSQL数据库海量数据管理系统,基于Linux平台实现,包括以下模块,
第一模块,用于海量存储管理配置初始化,包括初始化表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
第二模块,用于启动系统定时调度,通过Linux系统Crond服务,配置实现数据库管理调度机制;
第三模块,用于历史数据清理,包括对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;
第四模块,用于存储空间检查,判断存储空间是否支持预扩展,包括将表空间使用率与自适应精减调整的触发阈值进行比较,若该小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,返回执行步骤1-3,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限;
第五模块,用于执行分区预扩展操作和索引创建,包括通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
第六模块,用于处理流程结束。
各模块具体实现可参见相应步骤,本发明不予赘述。
本文中所描述的具体实施例仅仅是对本发明方法作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (10)
1.一种PostgreSQL数据库海量数据管理方法,基于Linux平台实现,其特征在于:包括以下步骤,
步骤1-1,海量存储管理配置初始化,包括初始化表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
步骤1-2,启动系统定时调度,通过Linux系统Crond服务,配置实现数据库管理调度机制;
步骤1-3,历史数据清理,包括对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;
步骤1-4,存储空间检查,判断存储空间是否支持预扩展,包括将表空间使用率与自适应精减调整的触发阈值进行比较,若该值小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,返回执行步骤1-3,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限;
步骤1-5,执行分区预扩展操作和索引创建,包括通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
步骤1-6,处理流程结束。
2.根据权利要求1所述PostgreSQL数据库海量数据管理方法,其特征在于:步骤1-3中数据清理实现包括以下步骤,
步骤2-1,调用数据库接口,获取海量数据表的表对象信息;
步骤2-2,根据获取的表对象信息,提取过期分区的表分区区间以及预留分区的区间,生成过期分区信息和预留分区信息;
步骤2-3,检查过期分区区间对应的表分区是否存在,如果存在则删除过期表分区,进入步骤2-4,如果不存在直接进入步骤2-4;
步骤2-4,检查预留分区区间对应的表分区是否存在,如果存在则清除预留表分区,进入步骤2-5,如果不存在则直接进入步骤2-5结束;
步骤2-5,处理流程结束。
3.根据权利要求1所述PostgreSQL数据库海量数据管理方法,其特征在于:步骤1-4中数据存储有效空间检查实现包括以下步骤,
步骤3-1,调用数据库函数接口,获取存储设备中允许表空间使用的配置容量以及存储路径;
步骤3-2,调用Linux系统函数接口,获取对应表空间实际使用的大小,得到实际使用容量;
步骤3-3,根据实际使用大小与配置容量比值得到表空间使用率,并判断该数值是否触发自适应精减调整机制,如果小于触发阈值,直接进入步骤3-6,否则进入步骤3-4;
步骤3-4,判断是否缩减操作次数大于N次,是则直接进入步骤3-6,否则进入步骤3-5;
步骤3-5,对海量数据存储配置进行缩减调整,然后进入步骤1-3;
步骤3-6,处理流程结束。
4.根据权利要求1所述PostgreSQL数据库海量数据管理方法,其特征在于:步骤3-5中的缩减调整包括对表对象配置表中表对象的存储周期按照优先级进行缩减。
5.根据权利要求1所述PostgreSQL数据库海量数据管理方法,其特征在于:步骤1-5中分区预扩展处理实现包括以下步骤,
步骤4-1,调用数据库接口,获取海量数据表的表对象信息;
步骤4-2,根据获取的表对象信息,获取表对象预扩展表分区信息,生成预扩展分区的表分区名称、表空间名称以及预留分区的区间;
步骤4-3,检查预扩展表分区是否存在,是则返回步骤4-2,否则如果不存在则创建表分区,进入步骤4-4;
步骤4-4,获取扩展分区对应索引信息:根据获取的索引对象信息,创建扩展分区对应索引,生成预扩展分区的索引名称和表空间名称;
步骤4-5,检查预扩展表分区索引是否存在,是则返回步骤4-4,否则如果不存在则执行创建操作,创建表对象预扩展分区索引;
步骤4-6,处理流程结束。
6.一种PostgreSQL数据库海量数据管理系统,基于Linux平台实现,其特征在于:包括以下模块,
第一模块,用于海量存储管理配置初始化,包括初始化表空间配置表、存储设备配置表、表对象配置表、索引对象配置表以及系统配置表;
第二模块,用于启动系统定时调度,通过Linux系统Crond服务,配置实现数据库管理调度机制;
第三模块,用于历史数据清理,包括对预留时间段外的过期数据分区进行删除,然后对未过期数据分区中,预留时间段内与实际保存周期外的分区数据进行清理;
第四模块,用于存储空间检查,判断存储空间是否支持预扩展,包括将表空间使用率与自适应精减调整的触发阈值进行比较,若该值小于触发阈值,则支持,直接进入步骤1-5,若该值大于等于触发阈值,则触发自适应精减机制,完成数据配置的一次缩减,返回执行步骤1-3,若执行N次缩减操作后表空间使用率仍然大于等于触发阈值,则直接生成告警记录退出整个流程;N为预定的次数上限;
第五模块,用于执行分区预扩展操作和索引创建,包括通过调用数据库函数接口,完成对象表中表对象的分区扩展,并完成扩展分区上的索引创建;
第六模块,用于处理流程结束。
7.根据权利要求6所述PostgreSQL数据库海量数据管理系统,其特征在于:第三模块中数据清理实现包括以下步骤,
步骤2-1,调用数据库接口,获取海量数据表的表对象信息;
步骤2-2,根据获取的表对象信息,提取过期分区的表分区区间以及预留分区的区间,生成过期分区信息和预留分区信息;
步骤2-3,检查过期分区区间对应的表分区是否存在,如果存在则删除过期表分区,进入步骤2-4,如果不存在直接进入步骤2-4;
步骤2-4,检查预留分区区间对应的表分区是否存在,如果存在则清除预留表分区,进入步骤2-5,如果不存在则直接进入步骤2-5结束;
步骤2-5,处理流程结束。
8.根据权利要求6所述PostgreSQL数据库海量数据管理系统,其特征在于:第四模块中数据存储有效空间检查实现包括以下步骤,
步骤3-1,调用数据库函数接口,获取存储设备中允许表空间使用的配置容量以及存储路径;
步骤3-2,调用Linux系统函数接口,获取对应表空间实际使用的大小,得到实际使用容量;
步骤3-3,根据实际使用大小与配置容量比值得到表空间使用率,并判断该数值是否触发自适应精减调整机制,如果小于触发阈值,直接进入步骤3-6,否则进入步骤3-4;
步骤3-4,判断是否缩减操作次数大于N次,是则直接进入步骤3-6,否则进入步骤3-5;
步骤3-5,对海量数据存储配置进行缩减调整,然后进入步骤1-3;
步骤3-6,处理流程结束。
9.根据权利要求6所述PostgreSQL数据库海量数据管理系统,其特征在于:步骤3-5中的缩减调整包括对表对象配置表中表对象的存储周期按照优先级进行缩减。
10.根据权利要求6所述PostgreSQL数据库海量数据管理系统,其特征在于:第五模块中分区预扩展处理实现包括以下步骤,
步骤4-1,调用数据库接口,获取海量数据表的表对象信息;
步骤4-2,根据获取的表对象信息,获取表对象预扩展表分区信息,生成预扩展分区的表分区名称、表空间名称以及预留分区的区间;
步骤4-3,检查预扩展表分区是否存在,是则返回步骤4-2,否则如果不存在则创建表分区,进入步骤4-4;
步骤4-4,获取扩展分区对应索引信息:根据获取的索引对象信息,创建扩展分区对应索引,生成预扩展分区的索引名称和表空间名称;
步骤4-5,检查预扩展表分区索引是否存在,是则返回步骤4-4,否则如果不存在则执行创建操作,创建表对象预扩展分区索引;
步骤4-6,处理流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610195454.8A CN105893531B (zh) | 2016-03-31 | 2016-03-31 | PostgreSQL数据库海量数据管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610195454.8A CN105893531B (zh) | 2016-03-31 | 2016-03-31 | PostgreSQL数据库海量数据管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893531A true CN105893531A (zh) | 2016-08-24 |
CN105893531B CN105893531B (zh) | 2019-07-23 |
Family
ID=57014100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610195454.8A Active CN105893531B (zh) | 2016-03-31 | 2016-03-31 | PostgreSQL数据库海量数据管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893531B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103426A (zh) * | 2017-04-26 | 2017-08-29 | 郑州云海信息技术有限公司 | 批量删除序列号与多个订单号绑定关系的方法及装置 |
CN108415663A (zh) * | 2017-02-09 | 2018-08-17 | 爱思开海力士有限公司 | 数据存储装置的操作方法 |
CN108509639A (zh) * | 2018-04-11 | 2018-09-07 | 武汉斗鱼网络科技有限公司 | 表信息管理方法、装置及可读存储介质 |
CN108563697A (zh) * | 2018-03-22 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN109063215A (zh) * | 2018-10-16 | 2018-12-21 | 成都四方伟业软件股份有限公司 | 数据检索方法及装置 |
CN109299115A (zh) * | 2018-11-30 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据存储方法、装置、服务器及存储介质 |
CN109977145A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于水平分区的数据库自动分区管理方法及系统 |
CN110019229A (zh) * | 2017-12-25 | 2019-07-16 | 航天信息股份有限公司 | 数据库配置系统 |
CN110287183A (zh) * | 2019-05-23 | 2019-09-27 | 中国平安人寿保险股份有限公司 | 数据库表水位的处理方法、装置、计算机设备及存储介质 |
CN110321334A (zh) * | 2019-05-24 | 2019-10-11 | 平安银行股份有限公司 | 数据库自动分区扩容的方法及装置 |
EP3646193A4 (en) * | 2017-06-30 | 2021-01-13 | Microsoft Technology Licensing, LLC | ONLINE DIAGRAM CHANGE OF AN INTERVAL PARTITIONED INDEX IN A DISTRIBUTED MEMORIZATION SYSTEM |
WO2022170544A1 (en) * | 2021-02-10 | 2022-08-18 | Alibaba Group Holding Limited | Using object properties for facilitating object storage |
US11487734B2 (en) | 2017-06-30 | 2022-11-01 | Microsoft Technology Licensing, Llc | Staging anchor trees for improved concurrency and performance in page range index management |
CN116701382A (zh) * | 2023-08-03 | 2023-09-05 | 成都数默科技有限公司 | 基于clickhouse数据库的自动高效数据回滚方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027692A1 (en) * | 2003-07-29 | 2005-02-03 | International Business Machines Corporation. | Method, system, and program for accessing data in a database table |
CN101216821A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 数据采集系统的存储管理方法 |
CN102982186A (zh) * | 2012-12-26 | 2013-03-20 | 厦门市美亚柏科信息股份有限公司 | 基于oracle数据库系统的range分区表的维护方法和系统 |
CN103176750A (zh) * | 2013-02-27 | 2013-06-26 | 武汉虹旭信息技术有限责任公司 | 基于交错时间分区的移动互联网数据存储系统及其方法 |
CN104699807A (zh) * | 2015-03-23 | 2015-06-10 | 上海新炬网络信息技术有限公司 | 一种oracle数据表空间的自动监控扩容方法 |
-
2016
- 2016-03-31 CN CN201610195454.8A patent/CN105893531B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027692A1 (en) * | 2003-07-29 | 2005-02-03 | International Business Machines Corporation. | Method, system, and program for accessing data in a database table |
CN101216821A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 数据采集系统的存储管理方法 |
CN102982186A (zh) * | 2012-12-26 | 2013-03-20 | 厦门市美亚柏科信息股份有限公司 | 基于oracle数据库系统的range分区表的维护方法和系统 |
CN103176750A (zh) * | 2013-02-27 | 2013-06-26 | 武汉虹旭信息技术有限责任公司 | 基于交错时间分区的移动互联网数据存储系统及其方法 |
CN104699807A (zh) * | 2015-03-23 | 2015-06-10 | 上海新炬网络信息技术有限公司 | 一种oracle数据表空间的自动监控扩容方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415663A (zh) * | 2017-02-09 | 2018-08-17 | 爱思开海力士有限公司 | 数据存储装置的操作方法 |
CN107103426A (zh) * | 2017-04-26 | 2017-08-29 | 郑州云海信息技术有限公司 | 批量删除序列号与多个订单号绑定关系的方法及装置 |
US11487734B2 (en) | 2017-06-30 | 2022-11-01 | Microsoft Technology Licensing, Llc | Staging anchor trees for improved concurrency and performance in page range index management |
EP3646193A4 (en) * | 2017-06-30 | 2021-01-13 | Microsoft Technology Licensing, LLC | ONLINE DIAGRAM CHANGE OF AN INTERVAL PARTITIONED INDEX IN A DISTRIBUTED MEMORIZATION SYSTEM |
US11249961B2 (en) | 2017-06-30 | 2022-02-15 | Microsoft Technology Licensing, Llc | Online schema change of range-partitioned index in a distributed storage system |
CN110019229B (zh) * | 2017-12-25 | 2022-04-15 | 航天信息股份有限公司 | 数据库配置系统 |
CN110019229A (zh) * | 2017-12-25 | 2019-07-16 | 航天信息股份有限公司 | 数据库配置系统 |
CN108563697A (zh) * | 2018-03-22 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN108509639B (zh) * | 2018-04-11 | 2021-04-23 | 武汉斗鱼网络科技有限公司 | 表信息管理方法、装置及可读存储介质 |
CN108509639A (zh) * | 2018-04-11 | 2018-09-07 | 武汉斗鱼网络科技有限公司 | 表信息管理方法、装置及可读存储介质 |
CN109063215A (zh) * | 2018-10-16 | 2018-12-21 | 成都四方伟业软件股份有限公司 | 数据检索方法及装置 |
CN109299115A (zh) * | 2018-11-30 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据存储方法、装置、服务器及存储介质 |
CN109977145A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于水平分区的数据库自动分区管理方法及系统 |
CN110287183A (zh) * | 2019-05-23 | 2019-09-27 | 中国平安人寿保险股份有限公司 | 数据库表水位的处理方法、装置、计算机设备及存储介质 |
CN110287183B (zh) * | 2019-05-23 | 2024-02-02 | 中国平安人寿保险股份有限公司 | 数据库表水位的处理方法、装置、计算机设备及存储介质 |
CN110321334A (zh) * | 2019-05-24 | 2019-10-11 | 平安银行股份有限公司 | 数据库自动分区扩容的方法及装置 |
CN110321334B (zh) * | 2019-05-24 | 2024-03-19 | 平安银行股份有限公司 | 数据库自动分区扩容的方法及装置 |
WO2022170544A1 (en) * | 2021-02-10 | 2022-08-18 | Alibaba Group Holding Limited | Using object properties for facilitating object storage |
CN116701382A (zh) * | 2023-08-03 | 2023-09-05 | 成都数默科技有限公司 | 基于clickhouse数据库的自动高效数据回滚方法 |
CN116701382B (zh) * | 2023-08-03 | 2023-10-20 | 成都数默科技有限公司 | 基于clickhouse数据库的自动高效数据回滚方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105893531B (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893531A (zh) | PostgreSQL数据库海量数据管理方法及系统 | |
Han et al. | On sequencing retrievals in an automated storage/retrieval system | |
US5559710A (en) | Apparatus for control and evaluation of pending jobs in a factory | |
CN108055264A (zh) | 推流服务器的调度装置、方法及计算机可读存储介质 | |
CN105991478B (zh) | 服务器资源分配方法及其系统 | |
CN106484858A (zh) | 热点内容推送方法和装置 | |
CN104679595B (zh) | 一种面向应用的IaaS层动态资源分配方法 | |
CN101699479B (zh) | 一种过程运维管理方法及系统 | |
CN104978335A (zh) | 数据访问控制方法和装置 | |
CN105069134A (zh) | 一种Oracle统计信息自动收集方法 | |
CN1975772B (zh) | 整合多个系统中的信息的方法和装置 | |
CN107861811A (zh) | 工作流系统中的任务信息传输方法、装置和计算机设备 | |
CN105491117A (zh) | 面向实时数据分析的流式图数据处理系统及方法 | |
CN102662650A (zh) | 一种基于动态业务流程引擎实现方法和系统 | |
CN108009258A (zh) | 一种可在线配置的数据采集与分析平台 | |
CN117170873B (zh) | 基于人工智能的资源池管理方法及系统 | |
CN109597764A (zh) | 一种目录配额的测试方法及相关装置 | |
CN109544323B (zh) | 一种信用卡卡号的智能管理系统 | |
EP1785922A1 (en) | A system for automatically reassigning an order confirmation in response to an incoming order, a computer implemented method, a user terminal and a computer readable storage medium | |
CN108574718A (zh) | 一种云主机创建方法及装置 | |
CN108881646A (zh) | 呼叫中心的任务跟踪方法、装置、设备及存储介质 | |
CN107797856A (zh) | 基于windows服务的计划任务管控方法、装置及存储介质 | |
CN104199732A (zh) | 一种pga内存溢出智能处理方法 | |
CN105049475B (zh) | 大规模社区的数据高效存储优化方法及系统 | |
CN112449061B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |