CN109960693A - 一种基于关系型数据库负荷曲线存储方法 - Google Patents
一种基于关系型数据库负荷曲线存储方法 Download PDFInfo
- Publication number
- CN109960693A CN109960693A CN201811395641.6A CN201811395641A CN109960693A CN 109960693 A CN109960693 A CN 109960693A CN 201811395641 A CN201811395641 A CN 201811395641A CN 109960693 A CN109960693 A CN 109960693A
- Authority
- CN
- China
- Prior art keywords
- column
- data
- load curve
- storage method
- relevant database
- 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
本发明公开了一种基于关系型数据库负荷曲线存储方法,设计一张表,1块表1天1个数据项的数据存一行,每行数据项包括N列采集数据,N为正整数;在N列采集数据中每一列存储间隔X分钟的数据;N×X≥1440,当N×X>1440时,n×X=1440,n为正整数,取N列中的n列作为采集数据列,其余N‑n列为空。本发明使得数据量大大减少,数据量的下降可以显著降低软硬件成本。大大减少数据库压力,提高了性能。
Description
技术领域
本发明涉及一种基于关系型数据库负荷曲线存储方法,一种计量系统中负荷曲线存储方案,更具体地说,如何将表计的负荷曲线数据存储到关系型数据库中,保证性能和易用性的同时最大限度降低存储空间。
背景技术
目前随着电力公司业务的扩展和电网的管控能力的加强,需要大量的终端负荷曲线数据进行业务分析,有些系统端预付费系统还需要负荷曲线数据进行终端客户的费用结算。因此对终端负荷曲线的采集要求越来越高,主要表现为以下两点:
1.从以前的不采集负荷曲线到现在的采集1小时,30分钟,15分钟甚至1分钟间隔的负荷曲线。
2.从以前的只采集能正反向有功等少数数据项到现在的正反向有功,正反向无功,正反向视在,电流,电压,功率因数,相位等等全方位数据项。
这样就会产生大量的数据,以每天1分钟一个点,20个数据项,100万只电表计算,一天就会产生288亿条数据,以每条数据88个字节算,一天就有2.3T的数据。每秒钟需要处理33万条数据。
关系型数据库将会这样存储,1块表1个时间点1个数据项的值存一行,如表1所示
表号 | 冻结时间 | 数据项 | 值 | 单位 | 间隔时间 | 来源 |
0001 | 2018/1/1 00:01:00 | A211 | 0 | 1 | 采集 | |
0001 | 2018/1/1 00:01:00 | 8341 | 0.006 | kW | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | 8342 | 0 | kW | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | E300 | 0.003 | kWh | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | E400 | 0 | kWh | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | A214 | 0 | 1 | 采集 | |
0001 | 2018/1/1 00:01:00 | 8701 | 252 | V | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | 8711 | 237 | V | 1 | 采集 |
0001 | 2018/1/1 00:01:00 | 8330 | 0.173 | 1 | 采集 |
表1
这样最大程度满足了可扩展性,数据项和时间间隔可以很灵活的扩展。但也有如下问题,主要是数据量超大引起的问题:
1.数据量超大,需要更多的磁盘来存储,加大了硬件成本。
2.某些关系型数据库比如oracle收费是按照cpu核数结算,增加cpu核数也就意味着更多的软件成本。
3.每秒处理的数据量超大,目前的关系型数据库很难满足,仅仅插库都可能满足不了性能要求,因为每秒产生的数据比处理的数据要多。服务器处理不过来。
4.大量的数据导致查询性能下降,即使用了分区表和表空间从物理上进行了隔离,如果分区小,会产生大量的数据文件,操作系统找文件的时间就会增加,并且文件多对后期维护也造成大的影响。如果要减少数据文件,每个分区就会大,数据量就多。达到一定数量级都会极慢甚至查不出数据。
发明内容
本发明要解决的技术问题在于,设计一种存储方法,专门用于存储负荷曲线,处理性能和基本灵活性的同时尽量减少数据量和存储。在不升级硬件情况下让服务器达到处理极限的时间延长甚至在生命周期内不出现。
本发明的目的是通过以下技术方案来实现的:
一种基于关系型数据库负荷曲线存储方法,设计一张表,1块表1天1个数据项的数据存一行,每行数据项包括N列采集数据,N为正整数;
在N列采集数据中每一列存储间隔X分钟的数据;
N×X≥1440,当N×X>1440时,n×X=1440,n为正整数,取N列中的n列作为采集数据列,其余N-n列为空。
作为优选方式,N×X=1440,即N=n。
作为优选方式,X取1、15、30或60。
作为优选方式,每行数据项包括96列数据存储。
作为优选方式,
如果X=1,即时间间隔为1分钟,则N列中的每一列存储15个点的值,值与值之间采用逗号隔开;比如0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
如果X=15,即时间间隔为15分钟,则N列中的每一列存储1个点的值;比如0;
如果X=30或者60,即n=48或者n=24,n列上有值,其余N-n列为空。
作为优选方式,n列存储的数据从第0列到n-1列为按照时间顺序排列好的数据,即数据按照时间顺序存入n列中。
作为优选方式,表为分区表,根据要处理的表数量*数据项数量来计算分区,一个分区一个表空间文件。
作为优选方式,表空间文件存储数据保持在5000万条以下。
作为优选方式,数据量大每天一个分区一个表空间文件,数据量小每个月一个分区一个表空间文件。
作为优选方式,表主分区以冻结时间做range分区,子分区以数据项做list分区,list分区按照能量数据项和质量数据项分开。
作为优选方式,表结构如下:
本发明的有益效果是:
1.数据量大大减少,以上面100万块表为列,采用新方案后,每天数据量由288亿条减少到2000万条,每天产生总数据量由2.36TB下降到74.8GB,数据库每秒平均需要处理的数据量由33万条下降到232条,改善效果非常明显。如下表所示。
2.数据量的下降可以显著降低软硬件成本。
3.数据项和以前一样,每个数据项一条,这样可以保证数据项的可扩展性。
4.时间上的行虽然变成了列,但依然同时支持间隔为15分钟,30分钟,1小时等常见以及间隔为1分钟等少见情况。
附图说明
图1为优选实施例表结构形式;
图2为表分区设计(每天一个主分区);
图3为子分区设计(按能量项和质量项分开);
图4为实施例局部示意图(每分钟一个点)。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种基于关系型数据库负荷曲线存储方法,设计一张表,1块表1天1个数据项的数据存一行,每行数据项包括N列采集数据,N为正整数;
在N列采集数据中每一列存储间隔X分钟的数据;
N×X≥1440,当N×X>1440时,n×X=1440,n为正整数,取N列中的n列作为采集数据列,其余N-n列为空。
在一个优选实施例中,N×X=1440,即N=n。
在一个优选实施例中,X取1、15、30或60。
在一个优选实施例中,每行数据项包括96列数据存储。
在一个优选实施例中,
如果X=1,即时间间隔为1分钟,则N列中的每一列存储15个点的值,值与值之间采用逗号隔开;比如0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
如果X=15,即时间间隔为15分钟,则N列中的每一列存储1个点的值;比如0;
如果X=30或者60,即n=48或者n=24,n列上有值,其余N-n列为空。
在一个优选实施例中,n列存储的数据从第0列到n-1列为按照时间顺序排列好的数据,即数据按照时间顺序存入n列中。
在一个优选实施例中,如图2和图3所示,表为分区表,根据要处理的表数量*数据项数量来计算分区,一个分区一个表空间文件。如图4所示,为实施例局部示意图(每分钟一个点)。
在一个优选实施例中,表空间文件存储数据保持在5000万条以下。
在一个优选实施例中,数据量大每天一个分区一个表空间文件,数据量小每个月一个分区一个表空间文件。
在一个优选实施例中,表主分区以冻结时间做range分区,子分区以数据项做list分区,list分区按照能量数据项和质量数据项分开。
在一个优选实施例中,表结构如图1所示。
名词解释:
能量数据项:与能量相关的数据项,比如正向有功总电能,反向有功总电能,正向无功总电能,反向无功总电能等;
质量数据项:与质量相关的数据项,比如电流,电压,功率因素等;
分区表:分区表是将大表的数据分成称为分区的许多小的子集,分区表的种类划分主要有:range,list,和hash分区。划分依据主要是根据其表内部属性。
业务上用的最多的是查询某块表连续一段时间(比如1天)的负荷曲线数据,然后生成报表或者图形化展示,这种设计非常适合这种操作,满足这种需求,数据库以前要取1440条,采用此方法只需要取一条数据即可。大大减少数据库压力,提高了性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于关系型数据库负荷曲线存储方法,其特征在于:设计一张表,1块表1天1个数据项的数据存一行,每行数据项包括N列采集数据,N为正整数;
在N列采集数据中每一列存储间隔X分钟的数据;
N×X≥1440,当N×X>1440时,n×X=1440,n为正整数,取N列中的n列作为采集数据列,其余N-n列为空。
2.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:N×X=1440。
3.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:X取1、15、30或60。
4.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:每行数据项包括96列数据存储。
5.根据权利要求4所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:
当X=1时,即时间间隔为1分钟,则N列中的每一列存储15个点的值,值与值之间采用逗号隔开;
当X=15时,即时间间隔为15分钟,则N列中的每一列存储1个点的值;
当X=30或者60时,即n=48或者n=24,n列上有值,其余N-n列为空。
6.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:n列存储的数据从第0列到n-1列为按照时间顺序排列好的数据。
7.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:表为分区表,根据要处理的表数量*数据项数量来计算分区,一个分区一个表空间文件。
8.根据权利要求7所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:表空间文件存储数据保持在5000万条以下。
9.根据权利要求1所述的一种基于关系型数据库负荷曲线存储方法,其特征在于:表主分区以冻结时间做range分区,子分区以数据项做list分区,list分区按照能量数据项和质量数据项分开。
10.根据权利要求1至9之一所述的一种基于关系型数据库负荷曲线存储方法,其特征在于,表结构如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811395641.6A CN109960693A (zh) | 2018-11-22 | 2018-11-22 | 一种基于关系型数据库负荷曲线存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811395641.6A CN109960693A (zh) | 2018-11-22 | 2018-11-22 | 一种基于关系型数据库负荷曲线存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109960693A true CN109960693A (zh) | 2019-07-02 |
Family
ID=67023224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811395641.6A Pending CN109960693A (zh) | 2018-11-22 | 2018-11-22 | 一种基于关系型数据库负荷曲线存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109960693A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074348A1 (en) * | 2001-10-16 | 2003-04-17 | Ncr Corporation | Partitioned database system |
CN101145158A (zh) * | 2007-06-06 | 2008-03-19 | 中兴通讯股份有限公司 | 一种数据库表分区的方法 |
CN104035956A (zh) * | 2014-04-11 | 2014-09-10 | 江苏瑞中数据股份有限公司 | 一种基于分布式列存储的时间序列数据存储方法 |
CN105843939A (zh) * | 2016-03-31 | 2016-08-10 | 北京经纬恒润科技有限公司 | 一种数据存储方法及装置 |
CN107818155A (zh) * | 2017-10-27 | 2018-03-20 | 许继电气股份有限公司 | 一种配电主站及配电主站数据的存储方法 |
CN107943808A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 处理设备上报数据的方法和装置 |
-
2018
- 2018-11-22 CN CN201811395641.6A patent/CN109960693A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074348A1 (en) * | 2001-10-16 | 2003-04-17 | Ncr Corporation | Partitioned database system |
CN101145158A (zh) * | 2007-06-06 | 2008-03-19 | 中兴通讯股份有限公司 | 一种数据库表分区的方法 |
CN104035956A (zh) * | 2014-04-11 | 2014-09-10 | 江苏瑞中数据股份有限公司 | 一种基于分布式列存储的时间序列数据存储方法 |
CN105843939A (zh) * | 2016-03-31 | 2016-08-10 | 北京经纬恒润科技有限公司 | 一种数据存储方法及装置 |
CN107943808A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 处理设备上报数据的方法和装置 |
CN107818155A (zh) * | 2017-10-27 | 2018-03-20 | 许继电气股份有限公司 | 一种配电主站及配电主站数据的存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2616194C (en) | Revenue management system and method | |
AU2012282870B2 (en) | Managing storage of data for range-based searching | |
CN101251861B (zh) | 一种海量数据加载和查询的方法 | |
US10114845B2 (en) | Efficiently estimating compression ratio in a deduplicating file system | |
CN103577440B (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN105160513B (zh) | 一种设备备件的安全库存计算方法及系统 | |
CN102254024A (zh) | 海量数据处理系统及方法 | |
CN111382150A (zh) | 一种基于Flink的实时计算方法及系统 | |
CN105956068A (zh) | 基于分布式数据库的网页url去重方法 | |
CN112236761B (zh) | 数据立方体的动态增量更新 | |
EP2281242A1 (en) | Managing storage of individually accessible data units | |
CN103020227B (zh) | 计算机设备中的数据处理方法和系统 | |
CN103116595A (zh) | 面向电网的scada历史数据分布式存储的实现方法 | |
CN107463610B (zh) | 一种数据入库方法及装置 | |
CN104850627A (zh) | 进行分页展示的方法及装置 | |
CN105989163A (zh) | 数据实时处理方法及系统 | |
CN104574051A (zh) | 一种计费方法及装置 | |
CN104376109A (zh) | 一种基于数据分布库的多维度数据分布方法 | |
CN108270581A (zh) | 共享资源计费处理方法及装置 | |
CN110399096A (zh) | 分布式文件系统元数据缓存重删的方法、装置以及设备 | |
CN109960693A (zh) | 一种基于关系型数据库负荷曲线存储方法 | |
CN106127567A (zh) | 企业存款日记账和银行存款对账单的对账方法和系统 | |
CN113934797B (zh) | 一种银行业超大数据同步方法和系统 | |
EP2976717A1 (en) | Apparatus and method for memory storage and analytic execution of time series data | |
CN110851758A (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 | ||
CB02 | Change of applicant information |
Address after: 611731 No. 99, Tianquan Road, high tech Zone, Chengdu, Sichuan Applicant after: Chengdu Great Wall Development Technology Co.,Ltd. Address before: 611731 no.1218, Hezuo Road, high tech Zone (West District), Chengdu, Sichuan Province Applicant before: CHENGDU GREAT WALL DEVELOPMENT TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information |