引入摄入时间聚类砖SQL和砖11.2运行时
砖客户处理超过1 eb的数据每天都在砖Lakehouse的平台上使用bob体育客户端下载三角洲湖,大量的是基于时间序列的数据。如此大量的数据是需要客户来优化他们的表进行读写性能,这通常是由分区表或使用优化ZORDER由。这些优化改变表的数据组织,这样可以有效地检索和更新数据,通过聚类数据和启用数据不。虽然有效,但这些技术需要大量用户努力达到最佳的读和写他们的表的查询性能。此外,他们通过重写数据招致额外的处理成本。
在砖,我们的一个关键目标是为客户提供行业领先的查询性能的开箱即用,不需要任何额外的配置和优化。在每个用例中,砖努力减少用户操作和配置要求达到最好的读和写查询性能。
为我们的客户提供基于时间序列的事实表与优化查询性能的盒子,我们兴奋地介绍摄入时间聚类。摄入时间聚类是数据砖写优化,使自然集群基于数据摄取的时间。通过这样做,它不需要为客户优化布局的时序事实表,提供大数据跳过的。在这个博客中,我们将深入探究与三角洲集群的数据相关的挑战,我们如何解决这些问题在摄入时间聚类,和实际的查询性能结果摄入时间群集表。
挑战与数据聚类
今天,三角洲湖提供客户两个强大的技术来优化数据布局更好的性能:分区和z值。这些优化的数据布局可以显著降低查询需要读取的数据量,减少每个操作的时间扫描表。
尽管分区和z值的查询性能是重要的,一些客户已经很难实现或者维护这些优化。许多客户有问题关于使用哪个列,还是多久z顺序表,当分区是有用的或有害的。客户解决这些问题,我们旨在为客户提供这些优化的没有任何用户操作。
引入摄入时间聚类
我们的团队执行查询任务去找出这个开箱即用的解决方案,适用于尽可能多的三角洲表。所以我们跳水深入分析和证据收集的数据。
我们注意到大多数数据逐步消化,自然常常是按时间排序。想象一下,例如,一个网络公司,接受他们的订单数据存储到三角洲湖每天将以时间为顺序的方式这样做。这是确认的事实51%的分区表被分区的日期/时间,同样的z值。此外,我们也看到,超过三分之二的在砖使用日期/时间列的查询谓词或连接键。
在此基础上分析,我们还发现最简单的解决方案是,经常是这样,最有效的一个。我们可以集群数据基于订单所有表的默认数据摄取。虽然这是一个伟大的解决方案,我们发现数据操作命令的用法,如合并或删除,和压实命令,如优化,随着时间的推移会导致这个集群丢失。这损失所需的聚类客户运行z值经常保持良好的集群和获得良好的查询性能。
为了解决这些挑战,我们决定引入聚类摄入时间,一个新的为三角洲表编写优化。摄入时间集群地址的许多挑战客户分区和z值。它是开箱即用的,不需要用户操作保持自然聚集表使用日期/时间谓词时更快的查询性能。
摄入时间聚类是什么?
摄入时间聚类是什么?摄入时间聚类确保集群表总是由摄入时间,能够显著提高查询性能通过数据跳过对于滤波器按日期或时间的查询,显著减少文件的数量需要阅读来回答查询。
我们已经显著改善了聚类保存合并从砖10.4运行时使用我们新的开始低洗牌合并实现。作为摄入时间集群的一部分,我们保证其他操作和维护命令,如删除、更新和优化,也保存了摄入来为客户提供一致的和显著的性能收益。除了保持摄入的顺序,我们还需要确保我们所做的额外工作及时摄取秩序不会降低摄入的性能。以下基准将显示准确,使用一个真实的场景。
大型在线零售商基准- 19 x改进!
与我们合作一个大型网上零售客户建立一个基准,代表他们的分析数据。在这个客户场景中,生成销售记录发生时,摄取到事实表。大多数查询这个表返回聚合某个时间段内的销售记录,一个共同的和广泛适用的模式在任何基于时间的分析工作负载。基准测量时间摄取新的数据,进行删除操作时,和各种SELECT查询,所有运行顺序来验证摄入时间聚类的聚类保护功能。
结果表明,摄入没有看到退化与摄入时间聚类性能尽管额外的工作参与维护集群。删除和SELECT查询,另一方面,看到显著的性能收益。没有摄入时间聚类,DELETE语句拆除目标集群和简化数据跳过效率,减缓任何后续SELECT查询的基准。随着时间摄入集群被保存下来,SELECT查询显著的性能收益平均19 x,显著减少所需的时间查询的表保存目标集群在最初的摄入。
开始
我们非常兴奋为客户体验的开箱即用的性能优势摄入时间聚类。摄入时间聚类是默认启用砖11.2运行时和砖的SQL(版本2022.35及以上)。所有分区表将自动从摄入时间聚类新数据摄取。我们不建议客户下的分区表1 tb大小和日期/时间戳列上让摄入时间集群自动生效。