您现在的位置是:首页 >财经 > 2020-11-20 16:31:27 来源:

存储工具适应其数据集用户想要搜索的内容

大数据已经变得非常非常大:到2025年,全球所有数据总计将达到175万亿千兆字节。为了获得视觉效果,如果将这么多的数据存储在DVD上,它将堆积得足够高,可以绕地球旋转222次。

计算中的最大挑战之一是在处理这种猛烈的信息的同时仍然能够有效地存储和处理信息。麻省理工学院计算机科学与人工智能实验室(CSAIL)的一个小组认为,答案在于所谓的“实例优化系统”。

传统的存储和数据库系统被设计为可用于各种应用程序,因为构建它们需要花费多长时间(数月甚至是数年)。结果,对于任何给定的工作负载,此类系统提供的性能都很好,但通常不是最好的。更糟糕的是,有时它们需要管理员手动调整系统以提供合理的性能。

相反,实例优化系统的目标是构建针对其存储的数据和所服务的工作负载进行优化和部分重新组织的系统。

麻省理工学院的蒂姆·克拉斯卡(Tim Kraska)教授说:“这就像从头开始为每个应用程序构建数据库系统,这在传统系统设计上在经济上是不可行的。”

作为实现这一愿景的第一步,Kraska及其同事开发了Tsunami和Bao。Tsunami使用机器学习功能根据用户进行查询的类型自动重新组织数据集的存储布局。测试表明,它运行查询的速度比最新系统快10倍。而且,它的数据集可以通过一系列“学习的索引”进行组织,这些索引比传统系统中使用的索引小100倍。

克拉斯卡(Kraska)多年来一直在探讨学习索引的主题,可追溯到2017年他与Google同事的有影响力的工作。

并未参与海啸项目的哈佛大学教授Stratos Idreos表示,学习型索引的独特优势在于其尺寸小,除了节省空间外,还可以显着提高性能。

Idreos说:“我认为这一工作线是一种范式转变,它将长期影响系统设计。” “我希望基于模型的方法将成为新一轮自适应系统核心的核心组成部分之一。”

同时,Bao致力于通过机器学习提高查询优化的效率。查询优化器将高级声明性查询重写为查询计划,该计划实际上可以在数据上执行以计算查询结果。但是,通常存在不止一个查询计划来回答任何查询。选择错误的查询可能会导致查询花几天时间才能计算出答案,而不是几秒钟。

传统的查询优化器需要花费数年的时间来构建,很难维护,而且最重要的是,不要从错误中吸取教训。Bao是第一个基于学习的查询优化方法,已完全集成到流行的数据库管理系统PostgreSQL中。首席作者Ryan Marcus是Kraska小组的博士后,他说Bao生成的查询计划比PostgreSQL优化器创建的查询计划快50%,这意味着它可以帮助显着降低云服务的成本,例如Amazon的Redshift,基于PostgreSQL的。