【技术实现步骤摘要】
一种基于共享样本的在线聚集方法
本专利技术属于数据库
,具体涉及一种基于共享样本的在线聚集技术。
技术介绍
随着政府管理,医疗服务,零售,制造和定位服务领域数据的爆炸式增长,其带来的巨大社会价值,商业价值和科研价值也不容忽视。为了充分利用数据价值,需要获取大量的数据统计特征用于支持系统决策。大数据上的聚合查询操作是一种实用的统计手段,然而在海量数据上进行查询得到一个精确结果需要耗费大量的时间,这样的时间消耗对于用户来说是不可以接受的。在线聚集是一种基于采样的近似查询技术,能够在较短的时间内返回一个带有置信区间的估计结果,如果估计结果能够和精确结果带来相同的决策,那么利用在线聚集技术将会大大提高查询效率。然而现有的在线聚集技术通常在离线模式下预先创建样本表,这样创建的样本完全依赖于数据而无法捕捉到查询的特点,因此无法保证不同查询所用采样独立性。为了解决离线采样所带来的问题,并同时保证在线聚集的查询效率,需要设计一种针对查询需求创建样本的采样策略。若能够针对查询需求创建样本,同时设计共享样本的策略以节省重复创建样本 ...
【技术保护点】
1.一种基于共享样本的在线聚集方法,该方法以共享样本的思想为基础,以在线的方式为提交的查询创建有效的样本,同时通过样本缓存池和共享样本策略提高查询效率,在保证每条查询都能利用有效样本的基础上,降低了多条连续查询的平均查询延迟;该方法详细步骤如下:/n第1、根据查询子句特征和数据表的数据特征,以在线的方式创建适合特定查询的有效样本;/n第1.1、提取SQL聚集查询q的特征;/n第1.2、根据聚集查询q的特征和数据表的数据特征创建样本表T
【技术特征摘要】
1.一种基于共享样本的在线聚集方法,该方法以共享样本的思想为基础,以在线的方式为提交的查询创建有效的样本,同时通过样本缓存池和共享样本策略提高查询效率,在保证每条查询都能利用有效样本的基础上,降低了多条连续查询的平均查询延迟;该方法详细步骤如下:
第1、根据查询子句特征和数据表的数据特征,以在线的方式创建适合特定查询的有效样本;
第1.1、提取SQL聚集查询q的特征;
第1.2、根据聚集查询q的特征和数据表的数据特征创建样本表Ts;
第2、建立样本缓存池用于存储创建好的样本表;
第2.1、在底层数据库上创建新的模式用于存储样本表,在新的模式中创建两个表用于存储样本表的元数据信息,分别为meta_name和meta_size;
第2.2、将新创建的样本表存储在样本缓存池中,同时在meta_name和meta_size中插入该样本表的原始数据信息;
第3、当新的查询到来时,访问样本生成器,得到有效样本的样本名,如果样本缓存池中包含该样本则直接使用,否则按照步骤1创建新的样本表,将SQL查询重写以在样本表上执行该查询,重写的SQL查询提交到底层数据库执行并返回结果。
2.根据权利要求1所述的基于共享样本的在线聚集方法,其特征是:
步骤第1.1中,聚集查询q是具有如下形式的一个查询SQL查询,
SELECTagg(ai)
FROMrelationr
WHEREconditionc
GROUPBYgroupdys
其中:
SELECT语句用于从数据表中选取数据,结果被存储在一个结果表中;
agg为查询的聚合类型,它可以是SUM、COUNT或AVG三种函数中的一种;SUM()函数返回数值列的总数(总额),COUNT()函数返回匹配指定条件的行数,AVG()函数返回数值列的平均值,其中NULL值不包含在计算中;
ai为数据表中的某一列,该列必须是数值类型的;
FROM语句用于指定数据表;
relationr为数据库中的一张关系表,它是一个单独的事实表,或是两个或多个事实表经过连接操作得到的一张关系表;
WHERE语句用于有条件地从表中选取数据;
conditionc是WHERE语句后面的条件语句,每个条件可以用一个三元组attribute、operatot、value表示,其中attribute为列名称,operatot为运算符,value...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。