- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6组 计算新闻学报告
关于Perturbation Analysis of Database Queries的报告Perada,一个可用于数据查询的并行化扰动分析的系统,在计算新闻学领域开始得到应用。这个系统为开发者提供一系列简便有效的API,自动优化,并且隐藏复杂性。现在,数据驱动的查询,凭借其洞察力、确认事物发展趋势的能力以及判断行为的能力,在各个领域中扮演着越来越重要的作用。 Perada对数据驱动查询而言是很好的工具。例如,“Danny在1988–89 季度的连续的33场比赛中获得了11分以上,这个记录在杜克大学的男子篮球历史中只有一次被打破”这考虑其他运动员和不同的比赛, 我们可以获得我们可以得到最小点和streak长度,并且进一步挑选那些those dominated by at most one other instance.最后的结果集就是我们要的“有趣”和新颖的论断,通过这样找到leads。这个结果集的大小同时告诉我们这个论断有多么独特,从而确定事实。如果很多其他的运动员也能相似的结果,那么Danny的streak就不是那么重要, 尽管它看起来好像是这样的 (those dominated by at most one other instance).这个例子的过程类似于扰动分析。给定一个数据库和一组参数化的查询“template”,我们用多种多样的parameter settings来评估查询,为了获取一组结果集 (或者称为扰动“perturbations”) 来代表 “大图景”; 然后我们过滤,排名或者总结结果来找到有趣的claim或是 评定特定claim的重要性.尽管数据并不大,这种扰动分析所需的space(空间复杂度?)可以说是巨大的。以现在的技术而言,时效性的扰动分析仍是个难题。使用数据库系统,开发者可以进行扰动分析。然而这种方法是非常昂贵的(昂贵到无法实现)(后问验证)。这是因为数据库系统不是基于者这种类型的工作量。另一种方法是对不同的问题优化算法。不幸的是,优化这样的算法需要相当高的该领域的专业水平和相当大的人力,这对被称为“死亡时限的社会学”的计算新闻来说是不可行的。Perada (Perturbation analysis of database queries)应运而生。 Perada 有四大优化方法: parallelization ; memoization; pruning and incremental computation . Perada为开发者提供hooks 使优化简单.1.parallelization : 基本上所有的perturbation都可以并行运算。2.grouping: 分组在扰动分析中能够提高评估perturbation的效率。 3.memoization: 运算完之后,我们cache计算的结果,当我们放进相同的值时,就能将其重用,以提高效率。4.pruning and incremental computation: 我们根据之前运算结果,cache下来,在之后的查询前,我们根据一些规则,可以根据cache里面的结果集直接确定是否可以否定这个perturbation,避免了不必要的运算,节省时间。更重要的是, 开发者不需要参与所有的优化. 正如我们将看到的,performance依赖于合适的 optimization settings—例如, 是否 memoization 与pruning在某种情况下是有价值的 , 或是如何在 parallelism 和 serialism之间达到平衡 ( 后者需要memoization, pruning, and incremental computation等技术). 假设一个数据库D,和一个对D的参数化查询template q 。q的都来自于参数空间P. 令q(p) 表示 q 对D 查询的结果,根据parameter setting p 属于P。于是, 一个扰动分析问题就可以写成(D; P; q; χ)。表示结果集合,或者称为扰动。然而, 在许多情况下, χ做得更多, 例如 ranking or clustering R,。所以一般来说, 如果不测试其他的扰动,不可能确定是否一个扰动就可以成为最终答案或是一个扰动多少步得到最终答案。接着刚才的例子提高扰动效率最好的方法是并行化。论文讲到了四种优化方案并不完美,实际应用中常常自相矛盾。比如说,parallelization 和 pruning , pruning 需要根据之前查询结果进行剪枝优化,假如是分布式计算的话,每个cunit 运算的结果是片面的,根据这样的单个节点做出的剪枝是片面的,会有并发和错误。论文提出了一些解决方法。Perada 需要提供 mechanisms 来利用
文档评论(0)