用于管理数据库的方法和系统技术方案

技术编号:12151587 阅读:178 留言:0更新日期:2015-10-03 12:42
本发明专利技术公开了用于管理数据库的方法和系统。根据本发明专利技术的实施例,提供一种用于管理数据库的方法,所述数据库中的每项数据与时间戳和数据点相关联,所述时间戳被用作所述数据库中的表的行的行键。所述方法包括:基于用户针对所述数据库的先前数据访问,获取所述用户的行为特征;基于获取的所述行为特征以及所述数据库的系统配置,将所述表中的列划分为列族;以及使所述数据库中的数据至少部分地基于相关联的所述数据点而被存储于相应的列族。还公开了相应的系统。

【技术实现步骤摘要】

本专利技术的实施例总体上涉及数据存储技术,更具体地,涉及用于管理数据库的方法和系统
技术介绍
时间序列数据(time series data)是指随时间而收集的一系列数据。一般而言,时间序列数据可以根据预定的时间间隔从多个数据监测点(简称“数据点”)被获取。由此,时间序列数据与时间信息和数据点二者相关联。时间序列数据的典型示例之一是电网中的电表数据。这些数据由分布在给定地理区域(例如,街道、社区、城市,等等)中的电表测量,并且被定期存储到例如电力公司的中央数据库中。与其他类型的数据相比,时间序列数据的增长速度快。随着时间的增加,每一个数据点都会产生数据导致需要存储的数据总量将急剧增长。另外,由于时间序列数据同时与数据点和时间二者相关联,因此在访问此类数据时需要这两方面的信息。这些特点使传统的关系型数据库不适于时间序列数据的存储。例如,由于关系型数据库的ACID(原子性、一致性、独立性和持久性)要求,大规模的时间序列数据将会导致并发问题(例如死锁)、过于频繁(例如,每秒钟数千次)的SQL操作等各种问题。因此,关系型数据库在查询性能方面无法满足实际需求。已经提出了使用面向列的数据库来存储时间序列数据。例如,Hadoop数据库(简称“HBase”)是一种已知的面向列的数据库,并且将在下文作为示例被加以讨论。在HBase中的,数据表(table)中的列被划分到列族(column family)中,每个列族可以包含一个或多个列。当数据不断增大时,数据表的大小也随之增大。此时,数据表中的数据被划分到多个区域(Reg1n)中存储,每个区域可由相应的称为HReg1n的对象管理。在底层Hadoop分布式文件系统(HDFS)中,每个区域中的数据被存储在对应数据节点的一个或多个块(block)中。然而,对于时间序列数据而言,HBase等已知的面向列的数据库同样存在数据访问性能方面的缺陷,这将在下文详细讨论。由此,本领域中需要一种用于管理时间序列数据存储的技术方案,以支持对此类数据更加高效和有效的访问。
技术实现思路
对于时间序列数据而言,表的行通常与时间维度相关联。换言之,在同一时间段(例如,同一天、同一个月,等等)获得的数据被存储在数据表的一行中。由此,时间信息可以作为行键(row key)来定位待访问数据所在的行。时间数据序列的数据点信息被用来检索列。也即,与同一数据点相关联的数据被依序存储在给定列族的一个列中。专利技术人发现:当查询集中在同一行或者少数几行时,这种面向列的数据库能够提供较好的数据访问性能。然而,当用户的查询跨数目较多的行时,数据访问性能将显著下降。为了解决上述以及其他潜在问题,本专利技术提出了一种用于管理时间序列数据的存储的技术方案。在本专利技术的一个方面,提供一种用于管理数据库的方法,所述数据库中的每项数据与时间戳和数据点相关联,所述时间戳被用作所述数据库中的表的行键。所述方法包括:基于用户针对所述数据库的先前数据访问,获取所述用户的行为特征;基于获取的所述行为特征以及所述数据库的系统配置,将所述表中的列划分为列族;以及使所述数据库中的数据至少部分地基于相关联的所述数据点而被存储于相应的列族。在本专利技术的另一方面,一种用于管理数据库的系统,所述数据库中的每项数据与时间戳和数据点相关联,所述时间戳被用作所述数据库中的表的行键。所述系统包括:行为特征获取单元,被配置为基于用户针对所述数据库的先前数据访问,获取所述用户的行为特征;列族划分单元,被配置为基于获取的所述行为特征以及所述数据库的系统配置,将所述表中的列划分为列族;以及数据存储管理单元,被配置为使所述数据库中的数据至少部分地基于相关联的所述数据点而被存储于相应的列族。通过下文描述将会理解,不同于现有技术,根据本专利技术的实施例,用户在访问时间序列数据中变现出的规律性行为特征被获取,并且被用于配置数据库的存储结构。具体而言,数据库表的列族中包含的列数可以基于用户的时间行为特征和数据库的具体配置而灵活确定。以此方式,能够有效地避免数据访问中的跨块操作,从而显著提升数据访问的性能。本专利技术的其他特征和优点将通过下文描述而变得容易理解。【附图说明】通过结合附图对本专利技术示例性实施方式进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显其中:图1示出了适于用来实现本专利技术实施例的示例性计算机系统/服务器的示意性框图;图2示出了根据本专利技术实施例的数据库管理方法的示意性流程图;图3示出了根据本专利技术实施例的将数据库表中的列划分为列族的方法的示意性流程图;图4示出了根据本专利技术实施例的数据库配置的示意图;以及图5示出了根据本专利技术实施例的数据库管理系统的示意性框图。在所有附图中,相同或相似的标号被用来表示相同或相似的元素。【具体实施方式】下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的方框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本专利技术实施例的功能和使用范围带来任何限制。如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本专利技术各实施例的功能。具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可本文档来自技高网
...

【技术保护点】
一种用于管理数据库的方法,所述数据库中的每项数据与时间戳和数据点相关联,所述时间戳被用作所述数据库中的表的行的行键,所述行被定义在所述表的两个维度中的一个维度上,所述方法包括:基于用户针对所述数据库的先前数据访问,获取所述用户的行为特征;基于获取的所述行为特征以及所述数据库的系统配置,将所述表中的列划分为列族,所述列被定义在所述表的所述两个维度中的另一维度上;以及使所述数据库中的数据至少部分地基于相关联的所述数据点而被存储于相应的列族。

【技术特征摘要】

【专利技术属性】
技术研发人员:庄威曲俊媚李立刘亮尹文君
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1