CN107037980A - 时间序列数据的多表示存储 - Google Patents

时间序列数据的多表示存储 Download PDF

Info

Publication number
CN107037980A
CN107037980A CN201611088231.8A CN201611088231A CN107037980A CN 107037980 A CN107037980 A CN 107037980A CN 201611088231 A CN201611088231 A CN 201611088231A CN 107037980 A CN107037980 A CN 107037980A
Authority
CN
China
Prior art keywords
data
time series
represented
engine
expression
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
CN201611088231.8A
Other languages
English (en)
Other versions
CN107037980B (zh
Inventor
L.丹内克尔
G.高姆尼茨
倪博溢
程羽
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN107037980A publication Critical patent/CN107037980A/zh
Application granted granted Critical
Publication of CN107037980B publication Critical patent/CN107037980B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于存储时间序列数据的灵活方案利用多个表示以便实现诸如覆盖的时间段、精确度、压缩模型和存储介质之类的各种维度之间的优化。第一方面沿着时间轴(水平)为时间序列的各种部分提供不同的表示。在这个水平方面中,第一压缩模型可被应用来存储在时间序列中的一个时段期间发生的数据,而另一不同的压缩模型被来存储另一时段期间的数据。在一个不同的(垂直)方面中,可利用不同的压缩模型来以多个表示保存同一时间段期间的时间序列数据。虽然增大了对存储器的需求,但这种垂直存储可为特定用途(例如,分析)提供高效访问。根据水平和/或垂直分布存储时间序列数据对于诸如数据老化和操作者执行模式的优化之类的应用可能是有用的。

Description

时间序列数据的多表示存储
技术领域
本申请的实施例涉及时间序列数据,具体而言涉及用于存储时间序列数据的多表示方案。
背景技术
除非本文另外指出,否则本部分中描述的方案并不是本申请中的权利要求的现有技术,并且并不因为被包括在本部分中就被承认为是现有技术。
实施例涉及时间序列数据,具体而言涉及用于存储时间序列数据的多表示方案。时间序列(time series)是沿着时间维度排序的记录数据点的序列,它们经常出现在监视工业过程、商业特性和关键绩效指标(Key Performance Indicator,KPI)发展、金融参数、科学实验、物理测量及其他事项之时。
时间序列分析是在许多应用领域中用作商业规划和决策支持的基础的数据分析技术。从而在研究和工业中始终存在着对于查询、挖掘和分析时间序列的兴趣。时间序列分析的任务是识别时间序列数据内和时间序列数据间的模式、序列、相关性和特性,并且基于这些观察得出结论。
近来在计算机硬件和传感器技术中的发展已使得用高达MHz或更高的采样率记录的连续测量的可用性越来越高。这带来了细粒的时间序列,并且因此带来了大幅增大的数据量和数据流传输频率。
此外,可用传感器的量在大幅增长,尤其是考虑到诸如互联网(Internet ofThings,IoT)之类的新应用场景。作为示例,移动电话上的基于位置的服务提供了可能数百万个同时提供数据的传感器。
发明内容
用于存储时间序列数据的灵活方案利用多个表示以便实现诸如存储器消耗、精确度和持续性之类的各种维度之间的优化。按照本文使用的,时间序列表示指的是时间序列数据的存储方案,即时间序列栏(time series column)的数据点如何被存储在存储器中。表示(representation)定义了以下四个参数:覆盖的时间段、基于模型的压缩技术、精确度(例如,误差界限规范)和存储介质。
多表示时间序列存储的第一方面为沿着时间轴(水平)的时间序列的各种部分选择性地提供不同的表示。在这个水平方面中,第一压缩模型、精确度和/或存储介质可存储在时间序列中的一个时段期间发生的数据,而另一不同的压缩模型、精确度和/或存储介质被应用来存储另一时段期间的数据。
根据一个不同的(垂直)方面,可利用不同的压缩模型、误差界限和/或存储介质来以多个表示保存同一时段期间的时间序列数据。虽然增大了对存储器的需求,但这种垂直存储可为特定用途(例如,分析)提供高效访问。根据水平和/或垂直分布存储时间序列数据对于诸如数据老化和操作者执行模式的优化之类的应用可能是有用的,使得查询响应时间减少和/或系统提供的算法性能改善。
一种由计算机实现的方法的实施例包括引擎接收时间序列数据。引擎参考第一输入来从时间序列数据创建包括覆盖时间段、压缩模型、误差界限和存储介质的第一表示,其中配置指定第一表示为位于热区内。引擎将第一表示存储在存储介质内。引擎参考第二输入来从时间序列数据创建在覆盖时间段、压缩模型、误差界限和存储介质的至少一者中与第一表示不同的第二表示。引擎存储第二表示。
一种非暂态计算机可读存储介质包含用于执行一种方法的计算机程序,该方法包括引擎接收时间序列数据,并且引擎参考第一输入来从时间序列数据创建包括覆盖时间段、压缩模型、误差界限和非暂态计算机可读存储介质的第一表示,其中配置指定第一表示为位于热区内。引擎将第一表示存储在非暂态计算机可读存储介质中。引擎参考水平配置来从时间序列数据创建在压缩模型、误差界限和非暂态计算机可读存储介质的至少一者中与第一表示不同的第二表示,第二表示的第二覆盖时间段不与第一表示的覆盖时间段重叠。引擎存储第二表示。
一种计算机系统的实施例包括内存数据库引擎和在所述计算机系统上可执行的软件程序,该软件程序被配置为使得内存数据库引擎接收时间序列数据。软件程序还被配置为使得内存数据库引擎参考第一输入来从时间序列数据创建包括覆盖时间段、压缩模型、误差界限和存储介质的第一表示,其中配置指定第一表示为位于热区内。软件程序还被配置为使得内存数据库引擎将第一表示存储在存储介质中。软件程序还被配置为使得内存数据库引擎参考第二输入来从时间序列数据创建在覆盖时间段、压缩模型、误差界限和存储介质的至少一者中与第一表示不同的第二表示。软件程序还被配置为使得内存数据库引擎存储第二表示。
在某些实施例中,第二输入包括水平配置,并且第二表示的第二覆盖时间段不与第一表示的覆盖时间段重叠。
在一些实施例中,引擎参考垂直配置来从时间序列数据创建第三表示,其中第三表示的第三时间段与第一表示的覆盖时间段或第二表示的第二覆盖时间段重叠,并且其中第三表示在压缩模型和误差界限的至少一者中与第一表示不同。
在各种实施例中,第二输入包括垂直配置;以及第二表示的第二时间段与第一表示的覆盖时间段重叠。
根据特定实施例,第二输入是基于数据老化过程的。
根据某些实施例,第二输入是基于操作执行模式优化过程的。
在特定实施例中,存储介质包括内存数据库的随机访问存储器(RAM),并且引擎包括内存数据库引擎。
在一些实施例中,第一表示的或第二表示的数据被以由压缩模型确定的粒度来存储,并且该方法还包括引擎接收根据不同粒度返回第一表示的或第二表示的数据的请求,并且一迭代器执行算法来向引擎返回不同粒度的数据。
在某些实施例中,迭代器执行算法来执行聚集或解聚。
以下详细描述和附图提供了对实施例的性质和优点的更好理解。
附图说明
图1是根据实施例的系统的简化视图。
图1A是图1的系统的详细视图。
图2示出了根据实施例可被利用来执行时间序列数据的多表示的示范性压缩技术。
图3示出了根据实施例的方法的简化流程图。
图4图示了根据实施例的、利用时间序列数据的水平多表示存储实现数据老化过程。
图5图示了根据实施例的、利用时间序列数据的水平多表示存储实现执行模式优化过程。
图6图示了根据实施例的、利用时间序列数据的垂直多表示存储实现执行模式优化过程。
图7图示了根据实施例的、组合利用水平和垂直多表示时间序列存储的数据老化和执行模式优化的过程。
图8呈现了顾问组件的简化视图,包括输入和输出。
图9图示了透明度迭代器概念的简化视图。
图10图示了根据实施例的、被配置为实现时间序列数据的多表示存储的专用计算机器的硬件。
图11图示了示例计算机系统。
具体实施方式
本文描述了被配置为提供时间序列数据的多表示存储的方法和装置。在以下描述中,出于说明目的,记载了许多示例和具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将会明白,如权利要求限定的本发明的实施例可以只包括这些示例中的特征的一些或全部,或者与以下描述的其他特征相结合,并且还可包括本文描述的特征和概念的修改和等同。
用于存储时间序列数据的灵活方案利用多个表示以便实现诸如覆盖的时间段、压缩技术、精确度、持续性(存储介质)和存储器消耗之类的各种维度之间的优化。第一方面沿着时间轴(水平)为时间序列的各种部分提供不同的表示。在这个水平方面中,第一压缩模型、精确度和/或存储介质可存储在时间序列中的一个时段期间发生的数据,而另一不同的压缩模型、精确度和/或存储介质存储另一时段期间的数据。根据一个不同的(垂直)方面,可利用不同的压缩模型来以多个表示保存同一时段期间的时间序列数据。虽然增大了对存储器的需求,但这种垂直存储可为特定用途提供高效访问。
根据水平和/或垂直分布存储时间序列数据对于诸如数据老化和操作者执行模式的优化之类的应用可能是有用的。根据实施例的多表示从而可结合不同表示的益处以便实现迅速的执行以及更低的存储器消耗、在传统方案中可能冲突的要求。
图1呈现了根据实施例的系统100的简化视图。具体地,从最近时间t0到时间t-4及更早取得时间序列数据102形式的输入。
时间序列包括表示时间的一栏,和具有表示不同测量的数个(例如,N个)值的对应栏。时间序列也可遵从多个栏。每一栏可遵从不同的数据类型。
给定这种多栏(即,多变量)时间序列,所有栏遵循单个时间戳并且另外还确保它们全都具有相同的长度。多表示存储的实施例通常是按每栏应用的,并且对于每一栏可以有不同的水平和垂直配置。
具体而言,存储引擎110接收时间序列数据。存储引擎还接收配置输入114,该配置输入114可规定热区指定130、水平配置132和/或垂直配置134。这些输入在下文联系图1A来论述。
基于这些输入,存储引擎从时间序列数据生成包括其多个表示的多表示存储111。这多个表示可分布在水平(时间)轴和/或垂直(表示)轴上。
具体地,图1A示出了图1的系统的详细视图。图1A示出了利用分布在水平(时间)轴和/或垂直(表示)轴上的多个表示(例如,104a、104b、104c)存储的时间序列数据。时间序列表示是时间序列数据的存储方案,即时间序列栏的数据点如何被存储。时间序列栏的表示可对应于以下方面中的一个或多个:
1)覆盖的时间段;
2)压缩技术(例如,基于模型的压缩);
3)可接受的误差界限(即,在特定压缩模型内压缩值和真实值之间的偏差——通常表示为百分比);
4)存储介质(主存储器105、闪存、盘107、磁带等等)。
从而,时间序列栏可以以第一表示(例如,利用基于模型的压缩)以1%的误差界限存储在主存储器中。可替换地,时间序列栏可以以不同的表示在没有任何压缩的情况下存储(例如,不那么昂贵的硬盘或磁带介质上的原始值109)。
取决于特定配置,每个表示对于诸如覆盖的时间段、压缩比率、存储器消耗、误差界限和执行效率之类的因素提供不同的特性。由于此原因,实施例不是为整个时间序列只提供单个表示,而是允许了存储同一时间段期间的多个表示(垂直多表示)和/或对于不同时间段存储多个表示(水平多表示)。
图1A还示出了存储引擎也接收配置输入114。这可包括热区指定、水平配置和/或垂直配置。
返回图1,在某些实施例中,热区指定、水平配置和/或垂直配置可由人类用户140提供给引擎。在这种实施例中,用户试图手动指导时间序列数据的多个表示的生成和存储。
然而,可替换地,到存储引擎的热区指定、水平配置和/或垂直配置输入可由单独的多表示顾问组件115生成。联系图8来提供关于多表示顾问的细节。
具体地,顾问可参考成本模型112,该成本模型112包括量化多表示的各种维度(例如,压缩技术、精确度、覆盖的时间段、存储器消耗、速度)的值。
图1还指示出顾问还可接收用户配置117,以及额外的输入119。如图8中所示,这些额外的输入可包括先前(离线)存储工作负载活动150、当前(在线)存储工作负载活动152和时间序列特性154。
这里,离线顾问模式在时间序列被添加时基于先前工作负载创建初始配置。在在线模式中,顾问也能够针对查询行为中的不断发生的变化或者当前工作负载中的时间序列特性来适应性地改变配置。离线和在线工作负载稍后在下文详细论述。
关于时间序列特性,这些表示时间序列数据的元数据。这些特性可包括但不限于长度、间隔、最小值、最大值、不同值的数目、均值、标准偏差、方差、数据类型等等。时间序列特性也在下文进一步论述。
现在参考图1A,基于(从用户和/或顾问)接收到的一个或多个输入,引擎可进一步工作来识别存在于时间序列数据内的“热区”120。热区是时间序列中的经常作为查询和操作的目标的范围。在一些情况中,这涉及时间序列的最新近值,因为它们可能是分析算法和聚集特别感兴趣的。然而,这不是必需的,并且热区可存在于不是最近时间的地方(例如,来自指示过去的地震事件的振动传感器)。在存储的多表示时间序列数据中配置(一个或多个)热区的细节稍后在下文提供。
如前文提到的,高数据速率和巨大数据量正在对负责时间序列数据的存储和分析的现代内存数据库系统造成增大的存储器压力和分析执行效率问题。有损和无损压缩技术的应用从存储器消耗的角度来看可解决该问题。
然而,各种压缩技术对于压缩比率和算法的执行速度具有不同的特性。一些方案提供非常高的压缩比率,但对于查询和挖掘而言是缓慢的。其他的可为某些分析请求提供非常快速的结果,但对于其他分析或者就压缩比率而言却在执行时间上受到损害。
从而,对时间序列内的某些时段选择最有益的数据表示对于优化执行效率、存储器消耗和精确度的维度是重要的。从而,根据实施例,此选择可针对各个查询工作负载并且尤其是考虑到包括但不限于以下各项的因素来执行:
·最经常使用的算法和聚集,
·最近请求和/或最经常请求的时间序列,
·时间序列的目标请求时间范围;
·由用户配置定义的用户偏好,包括针对精确度的误差阈值的定义。
现在描述各种压缩技术。压缩技术通常被区分为有损的和无损的。无损压缩技术,例如行程长度编码(Run Length Encoding,RLE)、差分编码(delta encoding)或比特压缩,利用数据中的相似性、重现、模式或特殊对齐来减少要求的存储器。它们特别适合于具有数目较少的不同值和重现的模式的数据集合。
虽然以下描述聚焦于有损压缩技术,但这不是必需的。在一些实施例中,时间序列数据的多表示可基于无损压缩。
如下所述的实施例明确地聚焦于有损压缩,并且使用基于模型的压缩作为示例。基于模型的压缩力图通过拟合最佳近似当前的时间序列的模型来近似时间序列的值。
许多压缩技术允许定义每值或每时间序列的误差界限。这样,它们限制了信息损耗(即,当使用有损压缩技术时发生的误差)。
以下描述了可以采用的若干个示范性的基于模型的压缩技术。然而,这些只表示示例,并且根据各种实施例可以一般方式添加其他压缩技术。
一项有损压缩技术是自适应分段常数近似(Adaptive Piecewise ConstantApproximation,APCA)。此压缩技术将时间序列划分成片段,其中每个片段由一常数函数近似包含的变量。片段是通过确定片段值并且只要该值遵从近似常数左右的定义的误差界限就向此片段添加观察来创建的。误差类型是按每个值的。
另一个有损压缩技术是旋转门趋势(Swinging Door Trending,SDT)。SDT与APCA类似。其将时间序列划分成片段,在这些片段内值由线性函数近似。只要线性边界(门)联合描述朝着它们在第一点处的正交连接的180°的角度,值就被添加到片段。误差类型是按每个值的。
还有一种有损压缩技术是样条逼近(Spline Approximation,SA)。SA将样条拟合到时间序列。只要值确保定义的误差界限,其就被添加到当前样条。否则,创建新的样条片段。误差类型是按每个值或按每个系列的。
另一种有损压缩技术是完全模型描述(Full Model Description,FMD)。这里,时间序列模型(例如,Holt Winters)被拟合到整个时间序列。该模型随后被用于为时间上的每个点计算值。误差类型是按每个值或按每个系列的。
对于定义每值误差的压缩技术,整个时间序列上的整体误差通常可小得多。原因是在基于模型的压缩中使用的模型通常描述了时间序列值的平均情况。从而,真实值正向和负向地偏离近似。
此外,每值误差界限只涉及误差的最大值,而不是实际误差。结果,误差效果随着时间的流逝而拉平。
图2提供了就存储器消耗和潜在时间序列误差而言对某些压缩技术的评估。注意,此图从时间序列数据表示的其他方面(即提供的误差界限以及存储介质)进行了抽象。另外,此图只呈现了可用于根据实施例的多表示中的少数几个可能压缩技术,而多种其他压缩技术可被使用。
图2包括在本描述中具体参考的特定示例技术。这些选择的技术可被替换为其他种类的有损压缩技术。无论压缩技术是什么,都可就以下相关维度中的一个或多个来对其进行判断:
·可达到的压缩比率;
·与真实值的偏差(即,近似误差);
·压缩/解压缩速度;
·聚集和分析算法的执行速度。
除了使用的存储器空间的减少以外,基于模型的压缩技术还可提供某些其他益处。首先,它们提供了降低标准聚集操作的执行速度的潜力。这些包括但不限于SUM、AVG、HISTOGRAM、STDDEV。
从而,为了在给定APCA压缩的情况下计算标准聚集SUM,在各片段上运行比扫描整个时间序列栏比较不那么昂贵。然而,基于模型的压缩技术改善计算速度的潜力取决于特定功能。如下文联系图5-图7的示例所描述,优化执行模式的这个潜力对于本文描述的多表示方案可提供进一步的动机。
基于模型的压缩技术的第二个潜在益处在于插值和粒度化(granularization)是免费实现的。也就是说,基于模型的压缩技术的连续性特征(即,使用连续函数而不是离散值)允许了从可用值抽象和时间戳的粒度。缺失的值是通过评估模型的连续函数来确定的。
类似地,时间戳分辨率可通过对来自下层压缩模型的值采样来增大和减小。
此外,函数的连续性特征还允许了非等距采样。这导致从价值观点来看提供存储非等距时间序列的一种容易方式的压缩。
基于模型的压缩技术的第三个潜在益处是一些分析函数更容易计算。两个突出示例是孤立点检测,以及预测。
具体而言,由于基于模型的压缩技术通常创建模型来描述时间序列的一般情况,所以强孤立点可容易地被检测为从一般模型发散。类似地,对于预报,由于模型已经存在,所以预测是通过将模型投影到未来的简单计算。然而,再一次,这些分析函数的特定属性在各种可用的基于模型的压缩技术之间是不同的。
如上文宽泛提及的,实施例采用了时间序列数据的多表示存储。从而,实施例不是只允许每时间序列栏的单个数据表示,而是支持水平和/或垂直方式的多个表示。此方案力图在存储器消耗、精确度和执行速度的各种性能维度中进一步优化效率。
图3是示出根据实施例的方法300的简化流程图。在第一步骤302中,接收时间序列数据。
在第二步骤304中,识别时间序列数据内的热区。在第三步骤306中,创建热区中的数据的第一表示。
在第四步骤308中,评估第一表示。在第五步骤310中,存储第一表示。
在第六步骤312中,创建时间序列数据的第二表示。在第七步骤314中,存储第二表示。
如上所述,根据实施例的多表示时间序列存储可采用水平分布和垂直分布两个方面。以水平方式提供多个表示涉及时间序列栏的不同时段,使用不同的数据表示。此水平多表示的一个使用案例是数据老化。
示例–数据老化
数据老化(data aging)指的是依据诸如访问的频率和成本之类的方面,将某些数据移动到不同的存储介质的过程。数据老化可以尽可能精确地存储时间序列的最新近部分,利用为时间序列分析提供良好执行速度的表示。
与之相对,对于较旧的值,可接受的误差率可被逐渐增大并且也允许降低的执行速度。此存储方案背后的原理在于,与较旧的值相比,更新近的值更常被请求,并且更经常是时间序列分析算法的目标。
此外,可识别所谓的热区(即,数据中的经常是分析/聚集操作的目标的区域)。热区经常(但并非一定)是最新近值的一部分。
从而,数据老化和热区提供了一种随着时间的流逝逐渐减小存储器消耗的方式。当对于整栏只使用单个数据表示时,这将是不可能的。
图4图示了利用水平多表示的数据老化。此示例改变了基于模型的压缩技术和误差率,带来了减少的存储器消耗,其代价是可能降低近似的精确度。
在图4的示例中,热区与最新近值一致,并且包含前十一个值。这个特定示例使用了对于热区具有每值1%的误差的样条压缩,对于热区外的数据选择具有放松的误差界限的不同压缩技术。
示例–执行模式优化
除了数据老化以外,还可能分析聚集或分析查询的访问模式并且指派对于当前的各功能有益的数据表示。这种应用可聚焦于执行速度,而不是优化存储器消耗。此方案被称为执行模式优化(execution pattern optimization)。
考虑图5中的示例,示出了具有每日(dn)粒度的时间序列数据。在此示例中,APCA1%在计算SUM聚集时是最有益的,并且SUM是工作负载中的最频繁操作。考虑到对于聚集只考虑一星期的第一天,可相应地识别数据中的热区并且对于每星期的第一天(例如,d0、d-7、d-14等等)选择APCA%。
对于其他数据点(对应于一星期的后几天),可选择具有更好的压缩比率的另一种表示。
垂直多表示通过在热区内同时支持多个表示可改善利用水平多表示的存储策略。从而,多个操作可在时间序列的同一时段内具有联合目标区域。
此外,与数据表示的水平分布相结合,也可能垂直地应用多个数据表示。在此方案的帮助下,可以进一步改善时间序列聚集和分析操作的执行速度。
为此,同时提供多个数据表示,假定每一者对于最频繁使用的操作中的一个或几个是有益的。虽然此方案带来了存储器的增加,但对于聚焦于分析/聚集执行速度而不是单单聚焦于存储器消耗的减少的系统而言,付出这个代价是可接受的。这是用户需要预先定义的事项,以允许系统由此采用这些决策。这个用户配置可作为加权因子被反映在成本模型中。
压缩的使用允许了同时访问多个表示,而不将存储器消耗增大到大于原始数据。为了限制额外存储器的消耗,某些实施例可只对数据的所识别的热区允许多个表示的垂直分布。
在图6所示的示例中,假定SDT最适合于孤立点检测和计算自相关。APCA提供对于AVG和SUM聚集的最佳执行速度。
对于所有操作确定潜在热区。对于此热区,实施例并行使用两个表示(SDT、APCA)。每个操作以为其提供最高执行速度的表示为目标。
从而,SUM/AVG操作从使用APCA的表示中读取数据。自相关操作以及孤立点检测操作在SDT表示上工作。
图6从而示出了考虑整个热区的孤立点检测,而聚集函数最经常只在前十个值上计算。
此外,自相关(AUTO_CORR)具有每五个值读取五个值的重复模式。相应地指派访问模式,并且创建APCA和SDT表示来共存于热区中。
也可以组合数据老化和执行模式优化。这在图7的示例中图示,其采用水平多表示来实现历史数据存盘的老化,而执行模式优化(SUM,Auto_Corr)是利用热区内的垂直多表示来实现的。
关于在哪些时间范围中使用哪些模型以及各个模型考虑哪些值的具体配置可由多表示顾问确定。图8是图示出顾问的工作过程的简化图,包括对输入和输出的识别。
多表示顾问确定用于整个时间序列和时间序列栏的不同表示的最优配置和分布。整体上,顾问做出关于以下各项中的一个或多个的决策:
·使用的压缩技术;
·应用到表示的(一个或多个)范围;
·误差界限(在用户配置的边界中);
·多个且重叠的表示;
·存储介质。
对于每个添加的时间序列,此确定过程可利用统计信息和记录的工作负载来离线完成一次。然后,顾问可基于工作负载变化和在使用期间出现的时间序列特性的变化来计算适应性改变(adaptation)。这尤其可涉及热区的适应性改变以及(一个或多个)垂直和/或水平表示分布的适应性改变。
时间序列可具有多栏,即,多个并行测量。顾问能够对整个时间序列提供策略,但它是通过分开考虑每一栏来做到这一点的。因此,每一栏接收其自己的特定配置。
顾问通过考虑工作负载的不同度量和特性以及支持的表示来做出决策。具体地,图8示出了当添加时间序列时创建初始配置的离线顾问模式。然而,根据某些实施例,顾问也能够针对查询行为中的不断发生的变化或者当前工作负载中的时间序列特性来适应性地改变配置。这是在在线模式下完成的。
在在线模式下,当前查询行为和进入的新值被分析以识别推荐的适应性改变。这种监视可尤其涉及检测以下各项中的一个或多个:
·热区移动;
·新的/过时的热区;
·热区的大小的变化;
·操作频率;
·时间序列特性的变化,影响某些压缩技术;
·选择的老化策略的适用性和潜在的边界移动;
·由于具有垂直表示而得到的操作的运行时益处。
如果在监视的区域中发生重大变化,则顾问可重计算成本模型,利用其来识别对当前配置的潜在改变。一旦有空闲资源可用,顾问就负责自动应用这些改变。
顾问在做出自动决策和提供统计信息之前可确认特定配置。这种配置可由另一系统组件提供,例如由应用、数据库或分布引擎提供,或者由人类用户提供。具体地,用户可手动定义时间序列的热区,以及定义每值最大误差或整体误差界限。可定义整个老化策略。
在某些实施例中,用户可手动配置以下各项中的一个或多个(但不限于此):
·被视为热区的范围
·热区的最大数目
·热区中的未压缩值的量
·老化策略
·除了热区以外激活/解除激活水平划分
·在热区内激活/解除激活垂直划分
·用于加速表示的额外存储器的最大量
·每值最大误差界限(要求由用户定义)
·热区的每值最大误差界限
·给定范围中的最大整体误差
·最频繁的查询类型(例如,SELECT、SUM、AUTO_CORR)
·在存储器消耗和性能之间决定的权重
·在存储器消耗和精确度之间决定的权重
顾问可自动计算用户未做出的决策。此外,顾问也可创建用户可手动适应性改变的建议。某些实施例可要求用户定义由压缩值引起的允许误差的上限。
时间序列的以下属性中的一个或多个可被顾问考虑。
·时间序列特性(在线),例如:
o最小值,最大值,
o不同值的数目,
o频率偏斜,
o均值、标准偏差、方差,
o形状,
o等距;
·查询工作负载(离线+在线),例如:
o查询类型,
o频繁涉及的栏,
o最常见的聚集/分析函数,
o频繁覆盖的范围(热区),
o插入和更新的速率,
o分组,划分,
o查询的一般平均数目,
o并行查询的平均数目;
·表示特性(离线+在线),例如:
o表示对于分析/聚集函数的适用性,
o每估计/聚集函数的估计速度改善,
o一般误差特性,
o预期存储器消耗,
o被以分层次方式查询的能力,因此具有分层次误差水平。
(这例如在小波表示中是有效的。)
顾问在确定表示配置时或在监视其可行性时将这些属性中的一个或多个考虑在内。确定过程可被划分成多个阶段:
(1)热区的识别,
(2)数据老化配置;以及
(3)基于涉及压缩率、加速和分析操作的频率的成本模型对于热区评估不同的表示配置。
以下详细描述了顾问的自动决策过程的三个阶段。首先论述的是热区识别,然后论述特定数据老化策略,然后是热区配置。
热区是时间序列中的经常作为查询和操作的目标的范围。在某些情况中,这涉及时间序列的最新近值,因为它们可能是分析算法和聚集特别感兴趣的。
热区可从记录的工作负载确定(即,离线),从其他时间序列的统计信息确定,或者从默认配置确定(例如,将最新近10%的值视为热区)。
该顺序可反映输入的优先级。当使用记录的工作负载时,分析包含的查询并且通过确定范围出现的次数上的四分位数来识别最频繁的范围。
某些实施例可使用90%的相似性因子来允许相似范围的模糊匹配。原因是对于演变中的系列,考虑的范围可略微移动。90%的相似性因子指的是范围的90%重叠。对于模糊匹配,考虑最外面的开始点和结束点。
具有高于中值(第3四分位数、第4四分位数……)的出现次数的范围可被认为是最频繁的范围。如果在该过程中识别多个范围,则顾问尝试合并它们以避免创建分散的热区。
从而,顾问可统一多个识别的范围,只要它们不会导致大于整个时间序列的20%(或者用户可配置的某个其他值)的热区即可。统一可通过挑出涉及的范围的最外面的开始点和结束点来执行。
对于热区的最终选择,顾问可考虑热区的最大数目的用户配置并且从顶部起选择相应数目。热区可在顾问的在线阶段期间被适应性改变或重识别,这在下文进一步论述。
现在描述根据特定实施例采用的一个特定数据老化策略。在定义该策略时,推荐用户应当确定新的数据老化片段开始于哪个数目的值之后,并且误差被允许增大多少。然而,用户可向顾问请求建议或者完全自动化的配置。在特定实施例,可采取以下措施来确定数据老化策略。
标准策略是顾问首先将数据划分成两半。较新近的一半被定为保持在主存储器中,而第二半打算被写入到盘,如果可用的主存储器不充足的话。可替换地,可使用提供非常高的压缩的表示。
通过分析工作负载,顾问针对以紧邻边界周围的值为目标的潜在查询校正此边界。此外,也可识别第二半内的热区。在这个部分中找到的热区被从盘上存储排除并且仅仅保持在存储器中。更新近的第一半被划分成若干个部分,其中这些所谓的数据老化片段的每一个包含时间序列值的总数的10%那么多的值。每个数据老化片段的值的份额可由消费者改变(如上所述)。类似地,根据得到的数据老化片段的数目来分割和指派从0.1%到用户允许的最大误差的可能误差范围。此外,频繁请求的区域—热区—被识别并被看作接收由上述的分割所确定的最小误差的额外片段。
现在对于每个数据老化片段(与其是由用户还是由系统定义无关),我们计算识别出对于各个范围提供最高的每误差压缩比率的压缩和误差界限(即,表示)的压缩得分。所得到的表示随后被指派给各个相应的时间序列范围。表示r∈R的压缩得分被如下计算:
其中R是可用表示的集合,并且
得分是通过使用范围的采样确定整体平均误差来计算的,该整体平均误差不是对每个值测量的,而是通过采样测量的。不同的压缩技术可提供不同的平均误差,即使它们使用相同的每值误差界限。另外,没有每值误差的压缩技术被允许竞争。
例如,考虑具有2%的平均整体误差和从4.5GB到225MB的存储器减少的APCA压缩。对于APCA压缩得到的得分将是14.29。与之不同,使用提供0.8%的平均整体误差但只将存储器减少到500MB的SDT压缩,得到10.32的得分。结果,在此示例中,将选择APCA压缩。
以上示例基本上假定了存储器消耗和精确度之间的平衡。然而,用户被允许通过设置权重ω,0<ω≤1来调整精确度与空间之间的偏好。在此情况下,模型变化为:
从而,权重越高,对于表示的精确度就越强调。因此,当以0.8的权重对得到的误差加权并且以0.2的权重对空间加权时,得到的分数对于APCA变化成38.46并且对于SDT变化成41.36。从而,在此情况下,选择SDT,不考虑其消耗更多存储器这个事实。
当以0.8对要求的空间加权并且以0.2对得到的误差加权时,则恰好相反—情景变化了。APCA现在收到22.72的得分,而SDT收到13.75的得分。从而,在此情况下,APCA将被选择。
现在论述根据某些特定实施例对热区配置的确定。热区的配置是一个单独的任务并且涉及创建同时共存的多个垂直表示。希望加速特定查询类型或查询类型的群组。然而,额外的表示也导致额外的存储器消耗。从而,力图实现性能增益与空间之间的平衡。
因此,对于热区的配置计算得分的一个模型并入了由下式给出的两个部分:
Compscore(r)是基于在数据老化情况中为了确定最有益的表示而已经计算的压缩得分的。为了计算热区中的压缩得分,我们必须首先调整压缩得分来同时确认多个表示。计算压缩得分的规则变化成:
其中R同样是可用表示的集合。
从而,整体平均误差等于所有表示达到的最小平均误差,并且相应地,空间是来自所有表示的存储器要求的总和。我们现在考虑操作的潜在速度改善,聚焦于最频繁发出的并且尽可能好地覆盖当前热区的操作。这是通过计算操作得分opscore来完成的。它包括两个部分,其中一个是确认使用频率和热区覆盖,另一部分是考虑相对于原始的潜在速度改善。
从而,我们得到:
其中O是对于热区优化相关的可能操作的集合。
该等式的使用部分被定义为:
操作的重要性是通过首先确定其出现频率,其次通过评估操作目标区与热区的重叠来计算的。这里,我们对查询所针对的热区之前或之后的值的数目求和,并从而确定热区对于操作而言的相关性。完全不与热区相交的操作在此计算中不被考虑。用户可以通过向得分等式应用权重σ,0<σ≤1来调整执行速度与存储器消耗之间的平衡,这得到:
对于当前的热区接收最高得分的表示配置被选择并且各个表示被创建。在最有益的表示上执行以各个热区为目标的操作,其中纯平均运行时是相关决策标准。从而,水平和垂直分布的不同表示的使用对于用户是透明的。
以上描述聚焦于时间序列数据的多个表示的生成和存储。现在论述出于各种目的(例如检查、分析)访问该存储的多表示时间序列数据。
具体地,向系统请求时间序列值涉及从水平和垂直表示配置中抽象。实施例不是要求用户或应用分开请求每个区域,而是可采用一种透明的智能迭代器来递送请求的范围中的值。
因此,图1示出了这种智能迭代器160。基于算法执行162,智能迭代概念提供了从多个表示抽象的能力。这使得表示当在各时间序列上迭代的同时是透明的。
系统从而在内部负责在不同表示之间移动内部迭代结构,并且也应对转化或成本。透明性迭代器概念在图9中进一步图示。
智能迭代器提供的额外潜在益处是对自动粒度化的支持。具体而言,迭代器以请求的粒度返回值(例如,每天一个值),即使表示本身是不同粒度的(例如,每小时一个值)。这可在不影响下层数据结构的情况下完成。
对于使用基于模型压缩的表示的时间序列的时段,从而通过利用下层函数的连续性(即,在任意点以任意粒度评估函数的能力)免费获得了粒度化功能。结果,迭代器简单地返回由请求的分辨率给出的评估结果。
对于使用未压缩表示的时间序列的时段,迭代器可自动利用舍入(聚集)和分布(解聚)方法。用户能够定义要使用哪个舍入或分布算法。
如果没有做出决策,则实施例对于舍入可利用平均并且对于解聚可利用均匀分布。这可对于下层数据结构透明地实现。
除了带来提供一种应答请求不同粒度的查询的容易方式的潜在优点以外,透明迭代器也可被利用作为许多时间序列分析算法的输入,允许了以任意分辨率执行分析。
根据实施例的多表示时间序列数据存储可提供一个或多个益处。具体地,时间序列表示的水平和垂直分布可起到改善存储器消耗、查询执行速度和精确度的作用。
另外,对特定压缩技术、误差界限和存储介质的考虑可允许将存储器消耗、执行速度和精确度裁剪到期望的水平。
实施例还允许了基于查询工作负载分析同时配置多个表示。可基于查询范围分析来识别热区和数据老化策略。
表示顾问自动确定多个数据表示的有利配置。可基于工作负载的变化自动地适应性改变表示配置。顾问可自动分析离线和在线工作负载、数据特性和表示特性以便得出最终结论。
实施例可参考成本模型来为数据老化和其他应用确定表示。增强的成本模型可用于为热区确定表示配置。
在某些实施例中,引擎和/或表示顾问可由数据库引擎实现,例如内存数据库引擎。例如,图10图示了根据实施例的、被配置为提供多表示时间序列数据存储的专用计算机器的硬件。具体地,计算机系统1001包括处理器1002,该处理器1002与非暂态计算机可读存储介质1003进行电子通信。这个计算机可读存储介质上存储有与时间序列数据相对应的代码1005。代码1004对应于引擎。代码可被配置为参考存储在非暂态计算机可读存储介质的数据库中的数据,例如可存在于本地或存在于远程数据库服务器中的数据。软件服务器一起可形成被用于彼此通信并且一起工作来处理请求的软件程序编程的计算机系统的集群或逻辑网络。
注意,在图10的特定实施例中,引擎被示为是数据库的一部分。这种实施例可对应于利用作为内存数据库的一部分可用的强大引擎来执行处理的分析应用(例如,可从德国瓦尔多夫的SAP SE得到的HANA Vora分布式内存数据库)。然而,这不是必需的,并且在某些实施例中,引擎可按其他方式实现,例如实现为覆盖存储介质的应用层的一部分。
示例计算机系统1100在图11中图示。计算机系统1110包括总线1105或用于传达信息的其他通信机制,以及与总线1105耦合用于处理信息的处理器1101。计算机系统1110还包括耦合到总线1105的存储器1102,用于存储信息和要被处理器1101执行的指令,例如包括用于执行以上描述的技术的信息和指令。此存储器也可以用于在处理器1101要执行的指令的执行期间存储变量和其他中间信息。此存储器的可能实现方式可以是——但不限于——随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM),或者这两者。还提供了存储设备1103用于存储信息和指令。存储设备的常见形式例如包括硬盘驱动器、磁盘、光盘、CD-ROM、DVD、闪存、USB存储卡或者任何其他可供计算机读取的介质。
一种特定类型的非暂态计算机可读存储介质是非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)。该存储技术对于数据库系统可发挥重要作用,因为NVRAM可将内存数据库保持在内存中,从而免费获得了持续性。
存储设备1103例如可包括用于执行以上技术的源代码、二进制代码或者软件文件。存储设备和存储器都是计算机可读介质的示例。
计算机系统1110可经由总线1105耦合到显示器1112,例如阴极射线管(cathoderay tube,CRT)或液晶显示器(liquid crystal display,LCD),以向计算机用户显示信息。诸如键盘和/或鼠标之类的输入设备1111耦合到总线1105,用于从用户向处理器1101传达信息和命令选择。这些组件的组合允许了用户与系统通信。在一些系统中,总线1105可被划分成多个专门总线。
计算机系统1110还包括与总线1105耦合的网络接口1104。网络接口1104可提供计算机系统1110与本地网络1120之间的双向数据通信。例如,网络接口1104可以是数字订户线(digital subscriber line,DSL)或调制解调器来提供通过电话线的数据通信连接。网络接口的另一示例是局域网(localarea network,LAN)卡用于提供到兼容的LAN的数据通信连接。无线链路是另一个示例。在任何这种实现方式中,网络接口1104发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
计算机系统1110可通过网络接口1104在本地网络1120、内联网或互联网1130上发送和接收信息,包括消息或其他接口动作。对于本地网络,计算机系统1110可与多个其他计算机器通信,例如服务器1115。因此,计算机系统1110和由服务器1115表示的服务器计算机系统可形成云计算网络,其可被编程以本文描述的过程。在互联网示例中,软件组件或服务可存在于网络上的多个不同的计算机系统1110或服务器1131-1135上。以上描述的过程例如可实现在一个或多个服务器上。服务器1131可将动作或消息从一个组件通过互联网1130、本地网络1120和网络接口604传送到计算机系统1110上的组件。以上描述的软件组件和过程可在任何计算机系统上实现并且例如在网络上发送和/或接收信息。
以上描述说明了本发明的各种实施例以及可如何实现本发明的各方面的示例。上述示例和实施例不应被视为是仅有的实施例,而是被给出来说明如所附权利要求限定的本发明的灵活性和优点。基于以上公开和所附权利要求,在不脱离如权利要求限定的本发明的精神和范围的情况下,本领域技术人员将清楚其他布置、实施例、实现方式和等同,并且可以采用这些其他布置、实施例、实现方式和等同。

Claims (20)

1.一种由计算机实现的方法,包括:
引擎接收时间序列数据;
所述引擎参考第一输入来从所述时间序列数据创建包括覆盖时间段、压缩模型、误差界限和存储介质的第一表示,其中所述配置指定所述第一表示为位于热区内;
所述引擎将所述第一表示存储在所述存储介质内;
所述引擎参考第二输入来从所述时间序列数据创建在所述覆盖时间段、所述压缩模型、所述误差界限和所述存储介质的至少一者中与所述第一表示不同的第二表示;以及
所述引擎存储所述第二表示。
2.如权利要求1中所述的方法,其中:
所述第二输入包括水平配置;以及
所述第二表示的第二覆盖时间段不与所述第一表示的覆盖时间段重叠。
3.如权利要求2中所述的方法,还包括:所述引擎参考垂直配置来从所述时间序列数据创建第三表示,
其中,所述第三表示的第三时间段与所述第一表示的覆盖时间段或所述第二表示的第二覆盖时间段重叠,以及
其中,所述第三表示在所述压缩模型和所述误差界限的至少一者中与所述第一表示不同。
4.如权利要求1中所述的方法,其中:
所述第二输入包括垂直配置;以及
所述第二表示的第二时间段与所述第一表示的覆盖时间段重叠。
5.如权利要求1中所述的方法,其中,所述第二输入是基于数据老化过程的。
6.如权利要求1中所述的方法,其中,所述第二输入是基于操作执行模式优化过程的。
7.如权利要求1中所述的方法,其中:
所述存储介质包括内存数据库的随机访问存储器(RAM);以及
所述引擎包括内存数据库引擎。
8.如权利要求1中所述的方法,其中,所述第一表示的数据或所述第二表示的数据被以由所述压缩模型确定的粒度来存储,所述方法还包括:
所述引擎接收根据不同粒度返回所述第一表示的数据或所述第二表示的数据的请求;以及
迭代器执行算法来向所述引擎返回所述不同粒度的数据。
9.如权利要求8中所述的方法,其中,所述迭代器执行所述算法来执行聚集或解聚。
10.一种非暂态计算机可读存储介质,包含用于执行一种方法的计算机程序,所述方法包括:
引擎接收时间序列数据;
所述引擎参考第一输入来从所述时间序列数据创建包括覆盖时间段、压缩模型、误差界限和所述非暂态计算机可读存储介质的第一表示,其中所述配置指定所述第一表示为位于热区内;
所述引擎将所述第一表示存储在所述非暂态计算机可读存储介质中;
所述引擎参考水平配置来从所述时间序列数据创建在所述压缩模型、所述误差界限和所述非暂态计算机可读存储介质的至少一者中与所述第一表示不同的第二表示,所述第二表示的第二覆盖时间段不与所述第一表示的覆盖时间段重叠;以及
所述引擎存储所述第二表示。
11.如权利要求10中所述的非暂态计算机可读存储介质,其中,所述方法还包括:所述引擎:
参考垂直配置来从所述时间序列数据创建第三表示;以及
存储所述第三表示,其中,
所述第三表示的第三时间段与所述第一表示的覆盖时间段或所述第二表示的第二覆盖时间段重叠,以及
所述第三表示在所述压缩模型和所述误差界限的至少一者中与所述第一表示不同。
12.如权利要求11中所述的非暂态计算机可读存储介质,其中,所述水平配置是基于数据老化过程的。
13.如权利要求11中所述的非暂态计算机可读存储介质,其中,所述垂直配置是基于操作执行模式优化过程的。
14.如权利要求10中所述的非暂态计算机可读存储介质,其中:
所述非暂态计算机可读存储介质包括内存数据库的随机访问存储器(RAM);以及
所述引擎包括内存数据库引擎。
15.如权利要求10中所述的非暂态计算机可读存储介质,其中,所述第一表示的数据或所述第二表示的数据被以由所述压缩模型确定的粒度来存储,并且所述方法还包括:
所述引擎接收根据不同粒度返回所述第一表示的数据或所述第二表示的数据的请求;以及
迭代器执行算法来向所述引擎返回所述不同粒度的数据。
16.一种计算机系统,包括:
内存数据库引擎;
在所述计算机系统上可执行的软件程序,所述软件程序被配置为使得所述内存数据库引擎:
接收时间序列数据;
参考第一输入来从所述时间序列数据创建包括覆盖时间段、压缩模型、误差界限和存储介质的第一表示,其中所述配置指定所述第一表示为位于热区内;
将所述第一表示存储在所述存储介质中;
参考第二输入来从所述时间序列数据创建在所述覆盖时间段、所述压缩模型、所述误差界限和所述存储介质的至少一者中与所述第一表示不同的第二表示;以及
存储所述第二表示。
17.如权利要求16中所述的计算机系统,其中:
所述存储介质包括内存数据库的随机访问存储器(RAM);
所述第二输入包括基于数据老化过程的水平配置;以及
所述第二表示作为所述数据老化过程的一部分被存储在所述RAM之外。
18.如权利要求16中所述的计算机系统,其中,所述软件程序还被配置为使得所述内存数据库引擎参考垂直配置来从所述时间序列数据创建第三表示,
其中,所述第三表示的第三覆盖时间段与所述第一表示的时间段或所述第二表示的第二时间段重叠,以及
其中,所述第三表示在所述压缩模型和所述误差界限的至少一者中与所述第一表示不同。
19.如权利要求16中所述的计算机系统,其中,所述第二表示是基于操作执行模式优化过程的。
20.如权利要求16中所述的计算机系统,其中,所述第一表示的数据或所述第二表示的数据被以由所述压缩模型确定的粒度来存储,并且所述软件程序还被配置为使得所述内存数据库引擎:
接收根据不同粒度返回所述第一表示的数据或所述第二表示的数据的请求;以及
使得迭代器执行算法来向所述引擎返回所述不同粒度的数据。
CN201611088231.8A 2015-12-07 2016-11-30 用于存储时间序列数据的方法、介质和计算机系统 Active CN107037980B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/961,502 2015-12-07
US14/961,502 US10095757B2 (en) 2015-12-07 2015-12-07 Multi-representation storage of time series data

Publications (2)

Publication Number Publication Date
CN107037980A true CN107037980A (zh) 2017-08-11
CN107037980B CN107037980B (zh) 2021-04-16

Family

ID=57681186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611088231.8A Active CN107037980B (zh) 2015-12-07 2016-11-30 用于存储时间序列数据的方法、介质和计算机系统

Country Status (3)

Country Link
US (2) US10095757B2 (zh)
EP (1) EP3182268A1 (zh)
CN (1) CN107037980B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107644063A (zh) * 2017-08-31 2018-01-30 西南交通大学 基于数据并行的时间序列分析方法与系统
CN108595323A (zh) * 2018-03-30 2018-09-28 华为技术有限公司 一种系统测试方法及相关装置
CN109962710A (zh) * 2017-12-14 2019-07-02 阿里巴巴集团控股有限公司 数据压缩方法、电子设备及计算机可读存储介质
CN110334124A (zh) * 2018-06-15 2019-10-15 腾讯科技(深圳)有限公司 压缩算法选择方法、装置以及设备
CN111291235A (zh) * 2020-05-13 2020-06-16 成都四方伟业软件股份有限公司 一种基于时序数据库的元数据存储方法及装置
CN113836189A (zh) * 2020-06-08 2021-12-24 富士通株式会社 程序、时间序列分析方法和信息处理设备
CN115310038A (zh) * 2022-10-11 2022-11-08 北京中科心研科技有限公司 基于pla的实时生理数据处理方法、装置、存储介质及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685306B2 (en) 2015-12-07 2020-06-16 Sap Se Advisor generating multi-representations of time series data
US10095757B2 (en) 2015-12-07 2018-10-09 Sap Se Multi-representation storage of time series data
US10713265B2 (en) * 2017-06-20 2020-07-14 Vmware, Inc. Methods and systems to quantize and compress time series data
CN107908594B (zh) * 2017-12-12 2018-12-28 清华大学 一种基于时域和频域的时序数据存储方法和系统
US10621141B2 (en) 2018-01-31 2020-04-14 Oracle International Corporation Multivariate memory vectorization technique to facilitate intelligent caching in time-series databases
EP3816771B1 (de) * 2019-10-28 2023-12-06 SMA Solar Technology AG Ressourcensparendes speichern von zeitreihendaten
CN113625971A (zh) * 2021-08-17 2021-11-09 咪咕数字传媒有限公司 数据存储方法、装置、设备以及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609085B1 (en) * 1998-01-19 2003-08-19 Asahi Glass Company, Ltd. Method for storing time series data and time series database system, method and system for processing time series data, time series data display system, and recording medium
US20100281075A1 (en) * 2005-01-12 2010-11-04 Computer Associates Think, Inc. Efficient processing of time series data
CN103914449A (zh) * 2012-12-29 2014-07-09 上海可鲁系统软件有限公司 一种多源时间序列数据压缩存储方法
WO2014149027A1 (en) * 2013-03-18 2014-09-25 Ge Intelligent Platforms, Inc. Apparatus and method for optimizing time series data storage based upon prioritization
CN104516894A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 用于管理时间序列数据库的方法和装置
US20150347568A1 (en) * 2014-05-30 2015-12-03 International Business Machines Corporation Processing time series

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987468A (en) 1997-12-12 1999-11-16 Hitachi America Ltd. Structure and method for efficient parallel high-dimensional similarity join
US7814072B2 (en) 2004-12-30 2010-10-12 International Business Machines Corporation Management of database statistics
US7711734B2 (en) 2006-04-06 2010-05-04 Sas Institute Inc. Systems and methods for mining transactional and time series data
US8219574B2 (en) 2009-06-22 2012-07-10 Microsoft Corporation Querying compressed time-series signals
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
JP5337909B2 (ja) 2010-03-30 2013-11-06 株式会社東芝 異常検出装置
US20140108324A1 (en) * 2012-10-12 2014-04-17 Nec Laboratories America, Inc. Data analytic engine towards the self-management of complex physical systems
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US10304008B2 (en) * 2015-03-20 2019-05-28 Nec Corporation Fast distributed nonnegative matrix factorization and completion for big data analytics
US20160366547A1 (en) * 2015-06-15 2016-12-15 Microsoft Technology Licensing, Llc Locating devices by correlating time series datasets
US10095757B2 (en) 2015-12-07 2018-10-09 Sap Se Multi-representation storage of time series data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609085B1 (en) * 1998-01-19 2003-08-19 Asahi Glass Company, Ltd. Method for storing time series data and time series database system, method and system for processing time series data, time series data display system, and recording medium
US20100281075A1 (en) * 2005-01-12 2010-11-04 Computer Associates Think, Inc. Efficient processing of time series data
CN103914449A (zh) * 2012-12-29 2014-07-09 上海可鲁系统软件有限公司 一种多源时间序列数据压缩存储方法
WO2014149027A1 (en) * 2013-03-18 2014-09-25 Ge Intelligent Platforms, Inc. Apparatus and method for optimizing time series data storage based upon prioritization
CN104516894A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 用于管理时间序列数据库的方法和装置
US20150347568A1 (en) * 2014-05-30 2015-12-03 International Business Machines Corporation Processing time series

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAOYAN CHEN: "Time-series processing of large scale remote sensing data with extreme learning machine", 《NEUROCOMPUTING》 *
徐健锋: "基于粒计算的不确定性时间序列建模及其聚类", 《南京大学学报(自然科学)》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107644063A (zh) * 2017-08-31 2018-01-30 西南交通大学 基于数据并行的时间序列分析方法与系统
CN109962710A (zh) * 2017-12-14 2019-07-02 阿里巴巴集团控股有限公司 数据压缩方法、电子设备及计算机可读存储介质
CN108595323A (zh) * 2018-03-30 2018-09-28 华为技术有限公司 一种系统测试方法及相关装置
CN108595323B (zh) * 2018-03-30 2021-08-03 华为技术有限公司 一种系统测试方法及相关装置
CN110334124A (zh) * 2018-06-15 2019-10-15 腾讯科技(深圳)有限公司 压缩算法选择方法、装置以及设备
CN110334124B (zh) * 2018-06-15 2023-05-16 腾讯科技(深圳)有限公司 压缩算法选择方法、装置以及设备
CN111291235A (zh) * 2020-05-13 2020-06-16 成都四方伟业软件股份有限公司 一种基于时序数据库的元数据存储方法及装置
CN113836189A (zh) * 2020-06-08 2021-12-24 富士通株式会社 程序、时间序列分析方法和信息处理设备
CN113836189B (zh) * 2020-06-08 2023-09-01 富士通株式会社 程序、时间序列分析方法和信息处理设备
CN115310038A (zh) * 2022-10-11 2022-11-08 北京中科心研科技有限公司 基于pla的实时生理数据处理方法、装置、存储介质及系统

Also Published As

Publication number Publication date
US10095757B2 (en) 2018-10-09
EP3182268A1 (en) 2017-06-21
US10558678B2 (en) 2020-02-11
US20190005102A1 (en) 2019-01-03
CN107037980B (zh) 2021-04-16
US20170161340A1 (en) 2017-06-08

Similar Documents

Publication Publication Date Title
CN107037980A (zh) 时间序列数据的多表示存储
US10176246B2 (en) Fast grouping of time series
US10685306B2 (en) Advisor generating multi-representations of time series data
CN109634924B (zh) 基于机器学习的文件系统参数自动调优方法及系统
CN110688393B (zh) 查询语句优化方法、装置、计算机设备及存储介质
CN106164896B (zh) 用于发现对手方关系的多维递归方法及系统
US20210406724A1 (en) Latent feature dimensionality bounds for robust machine learning on high dimensional datasets
CN114638234B (zh) 应用于线上业务办理的大数据挖掘方法及系统
WO2020205150A1 (en) Validation of operating plans and schedules using machine learning
CN112069269B (zh) 基于大数据和多维特征的数据溯源方法及大数据云服务器
Zhang et al. A cost-sensitive active learning algorithm: toward imbalanced time series forecasting
CN116186603A (zh) 异常用户的识别方法及装置、计算机存储介质、电子设备
CN114090869A (zh) 目标对象处理方法、装置、电子设备及存储介质
CN113792749A (zh) 时间序列数据异常检测方法、装置、设备及存储介质
US12002129B1 (en) Systems and methods of generating a display data structure from an input signal
CN114819000B (zh) 反馈信息预估模型训练方法、装置以及电子设备
Wang et al. L2P: Learning to Place for Estimating Heavy-Tailed Distributed Outcomes
CN117743955A (zh) 一种bim的采集数据处理方法、系统、电子设备及存储介质
WO2022229975A1 (en) System and method for data classification
CN116415068A (zh) 基于人工智能的数字金融业务推送方法及系统
CN114676297A (zh) 目标寻优方法、装置、电子设备及存储介质
CN117539920A (zh) 基于房产交易多维度数据的数据查询方法及系统
CN117575671A (zh) 一种目标客户筛选方法、系统、设备及存储介质
CN116308722A (zh) 一种风控模型冷启动建模方法、装置及存储介质
CN117453766A (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