- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有限存储下一趟扫描计算近似中值及其他分位数
作者:Gurmeet Singh Manku, Sridhar Rajagopalan, Bruce G. Lindsay
摘要:我们介绍了几个用来计算大数据集分位数近似值的新算法。算法的近似值能得到明确的保证,能应用于具有任意的值分布和到达分布(arrival distribution)的数据集,而所需要的主存比先前已报道的算法要小一个数量级。我们还讨论了把近似算法和随机抽样结合来进一步减少所需主存的方法,通过抽样近似的保证是明确的,不过具有概率型,也就是说,它们受用户信心参数(cofidence parameter,即准确的概率[译者注])的控制。我们叙述了算法,并进行理论分析,还给出了在不同数据集上的模拟结果。
介绍
本文研究了怎样用尽量少的主存计算大型序列(在线的或者存于磁盘上的)的有序统计值(order statistics)的问题。我们着重研究怎样计算分位数(quantile),也就是将输入序列排序后给定位置的元素值。对任意的Φ∈[0,1],我们定义Φ分位(Φ-quantile)为排序后的输入序列中位置处的元素值,本文中的N指输入序列中元素的个数。我们把Φ=0.5的0.5分位称为中值(median)。如果一个元素排序后的位置在和之间,我们称之为具有ε近似度(ε-approximation)的Φ分位。显然,给定的数据集中可能有多个元素满足具有ε近似度的Φ分位。
1.1数据库应用
无论是数据库的实现人员,还是数据库的使用者,都会对分位数感兴趣的。分位数刻画了真实世界数据集的分布,分位数对矩(一阶矩(即数学期望值)和二阶矩(即方差))比对离群值(即异常值)更敏感[原文:Quantiles characterize distributions of real world data sets and are less sensitive to outliers than the moments(mean and variance).]。分位数能用于商业情报分析,以从巨型数据库提取摘要信息。
如果能得到某些选择性谓词的精确估计值,那将对查询优化很有价值【1】。为了更好的估计查询结果集合的势(cardinality),分位数可以用来刻画已存储数据的分布【2】。例如,取一个合适的p值,那么在数据库表上的各字段上计算等高柱状图(equi-depth histogram)就等价于计算当i∈{1,2,...p-1}时的分位【3】。
很多并行数据库利用取值范围来对数据集进行划分,这需要生成一些分隔值(splitter)来将数据集划分成大致相等的各部分【4】【5】。分布式并行排序也可以使用分隔值来把不同的数据元素分配到适当的排序结点【6】。
对于统计数据分析(statistical data analysis),数据库查询优化和根据取值范围对数据进行划分这三种应用来说,都可以使用近似的分位数值来代替它的精确值。不过,如果不能确保近似值只有给定的误差(也就是位于精确分位数和近似分位数之间的元素个数),那么业界将不会采用这些近似算法,反之,如果一个近似算法能对它的输出的精确性有明确并且先验(priori)的保证,这样的近似分位数将能被大家所接受和使用。
1.2面对的挑战
算法的效率和正确性应该不受所处理的数据的影响。算法处理的数据集合有两个来源:数据库中的存储表和数据库引擎生成的中间查询结果。从一个数据库的存储表返回的值序列可能受先前的插入顺序以及数据本身的值的影响;而从中间查询结果返回的值序列依赖于查询方案:例如,一个合并连接(merge join)查询将会产生一个按照连接字段排序的表。这些存储表或者中间查询结果表按照某个字段的数据值排序,而我们需要计算另外一些字段的分位数,我们仍然有可能利用到这两个字段之间的某些互相关信息,这些数据的到达顺序(arrival order)和值分布是难于刻画的。我们的算法的准确性和效率不能依赖于对数据的特定假设,这一点是很重要的。
我们也注意到,不同的应用对结果的精度要求是不同的,而且算法生成的分位数的误差确实也会影响使用它的应用程序的效率,这种影响有时候可以被量化的。例如,等高柱状图的误差可能会导致查询优化的势估计误差(cardinality estimation errors)。对于分布式排序来说,划分不均衡的代价和最大部分和最小部分的完成时间之差成正比。计算分位数的算法的精度应该可以根据应用的需要进行调整,如果所需的精度增大时,算法的效率降低不应太快。
另外,我们必须要求只在数据集上扫描一趟。在巨型数据集上进行多趟扫描是非常低效的,而且大多数的DBMS的GROUP BY运算实现不允许在数据集合上进行多趟扫描。
最后,我们还必须解决主存使用效率的问题。显然,
您可能关注的文档
最近下载
- 土地流转解约合同模板8篇.docx VIP
- 学堂在线 科研伦理与学术规范 期末考试答案.docx VIP
- 《GBT 5336-2022汽车车身修理技术条件》最新解读.pptx
- 中国台球协会技能等级考试中式台球考题说明.pdf VIP
- 国开 电大计算机应用基础 终结性考试试题及答案.docx VIP
- GBT3798-2021 汽车大修竣工出厂技术条件.pdf VIP
- 《中国现代文学专题》期末复习指导_综合练习题及答案.doc VIP
- 化学方程式配平万能解法解析.docx VIP
- 风电基础工程清单报价汇总表.pdf VIP
- 2024年曲阜师范大学成教《计算机控制技术》期末考试复习试题.pdf VIP
文档评论(0)