微软开源Haystack-Apache Spark的索引子系统

2020-07-18 02:06:40

对于微软的内部团队和外部客户,我们在我们的数据湖中存储了从几GB到100PB的数据集。对这些数据集的分析范围从传统的批式查询(例如,OLAP)到探索性的“大海捞针”类型的查询(例如,点查找、汇总)。

对于每个简单的查询,对这些具有巨大集群的大型数据集进行线性扫描的成本高得令人望而却步,对于我们的许多客户来说,这并不是他们的首选,他们一直在探索降低运营成本的方法-招致无节制的费用是他们最糟糕的噩梦。多年来,我们看到了将传统数据库系统世界中的索引功能引入Apache Spark™的巨大需求。今天,我们为Apache Spark发布了一个名为Hyperspace的索引子系统,与Azure Synapse Analytics中支持索引的技术相同,从而实现了这一点。

在您的Spark工作负载中自动利用这些索引,无需更改应用程序代码即可实现查询/工作负载加速。

当在1TB的Parquet数据上运行源自行业标准TPC基准(Test-H和Test-DS)的测试查询时,我们看到Hyperspace为单个查询提供了高达11倍的查询性能加速。我们使用运行在7节点™E8V3集群(7个执行器,每个执行器有8个内核和47 GB内存)上的开源Apache Spark Azure 2.4运行所有基准派生查询,比例因子为1000(即1TB数据)。

总体而言,我们已经看到,全部使用商用硬件,查询性能时间分别提高了大约2倍和1.8倍。

要了解有关Hyperspace的更多信息,请查看我们最近在Spark+AI Summit 2020上的演讲,并在接下来的几周内继续关注本博客上的更多文章。

我明白,通过提交此表格,微软正在收集我的姓名、电子邮件和评论,以此作为跟踪本网站评论的一种手段。此信息还将由外部服务处理,以保护垃圾邮件。有关更多信息,请查看我们的隐私政策和使用条款。