数据库查询通信开销降低97%的新方法

如何将数据库查询的通信开销降低高达97%

亚马逊研究人员描述了一种在服务器间分配数据库表的新方法。

关系数据库的分布挑战

关系数据库通常由多个表组成:客户联系信息表、零售店铺数据表、购买历史记录表、客服通话日志表等。使用Amazon Redshift云数据仓库服务的客户,其数据库可能包含数千个不断更新的表。这些表需要分布在AWS数据中心的多个服务器上。

在VLDB 2020会议上,我们团队提出了一种新的数据分配方法。在涉及多表查询的实验中,该方法相比原始未优化配置减少了高达97%的通信开销。该方法已被整合至Amazon Redshift Advisor,为客户提供数据存储配置建议。

分布键优化原理

以某公司希望向客户推送本地店铺促销信息为例,查询需要从客户表和店铺表获取数据,并通过"城市"属性进行连接操作。如果两个表都使用"城市"作为分布键,则同城市的客户和店铺数据会被存储在相同服务器上,各服务器可独立并行执行连接操作,无需查询时重新洗牌数据。

我们的方法核心是:分析数据库查询数据,识别涉及最大数据传输量的连接属性,并将其作为相关表的分布键。

连接多重图与优化方法

首先构建"连接多重图"------图中顶点代表数据库表,边代表表间执行过连接操作的属性对,边权重表示这些属性间连接所需的数据传输量。

目标是将图划分为由单边连接的顶点对,最大化所有边的累积权重。我们证明该问题是NP完全的,但整数线性规划可能在一定时间内给出最优解。若超时,则采用四种启发式算法进行图划分,选择效果最佳的解。

四种启发式算法(贪婪匹配、随机选择、随机邻居和朴素贪婪)都是最大权重匹配问题的近似解。在四个不同数据集上的测试表明,该方法减少了80%-97%的通信开销,这些节省将直接转化为客户性能的提升。

更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)

公众号二维码

相关推荐
白仑色20 天前
Oracle 数据库管理与维护实战指南(用户权限、备份恢复、性能调优)
数据库·oracle·数据库管理·性能调优·备份恢复
鸿·蒙4 个月前
《Oracle DBA入门实战:十大高频问题详解与避坑指南》
学习笔记·数据库管理·oracle数据库·dba入门·it技术干货
xmweisi6 个月前
解锁OCP认证:通往数据库精英之路
oracle·dba·数据库管理·ocp·ocp认证·ocp培训·ocp考试
Amd7946 个月前
数据库扩展之道:分区、分片与大表优化实战
性能优化·分布式数据库·数据分区·水平分片·大数据管理·分片技术·数据库扩展
Amd7946 个月前
性能优化与调优:全面解析数据库索引
sql·数据库管理·性能调优·索引·数据库优化·数据库设计·查询性能
Amd7946 个月前
PostgreSQL:数据库迁移与版本控制
postgresql·自动化·数据库管理·软件开发·devops·版本控制·数据库迁移
Amd7946 个月前
应用中的 PostgreSQL项目案例
postgresql·数据分析·数据库管理·最佳实践·技术架构·实际应用·项目案例
Amd7946 个月前
索引的性能影响:优化数据库查询与存储的关键
性能优化·数据库管理·存储空间·查询性能·数据库索引·系统资源·更新性能
Amd7946 个月前
深入探讨索引的创建与删除:提升数据库查询效率的关键技术
数据结构·sql·数据库管理·索引·性能提升·查询优化·数据检索