数据库应用的自动分区
数据库
2012-08-02 v1
摘要
有数据库支持的应用在我们的日常生活中几乎无处不在。对数据库进行许多小规模访问的应用给开发者带来了两个挑战:由于大量网络往返导致的延迟增加和资源浪费。提高事务性数据库应用性能的一种众所周知的技术是将部分应用转换为在数据库服务器上执行的存储过程。不幸的是,这种转换通常很困难。在本文中,我们描述了 Pyxis 系统,该系统接收有数据库支持的应用,并自动将其代码分为两部分,一部分在应用服务器上执行,另一部分在数据库服务器上执行。Pyxis 对应用和服务器负载进行性能分析,静态分析代码的依赖关系,并产生一种分区方案,以最小化控制转移次数以及每次转移期间发送的数据量。我们使用 TPC-C 和 TPC-W 的实验表明,与传统非分区实现相比,Pyxis 能够生成分区,使延迟降低高达 3 倍,吞吐量提高 1.7 倍,并且其性能与定制的存储过程实现相当。
引用
@article{arxiv.1208.0271,
title = {Automatic Partitioning of Database Applications},
author = {Alvin Cheung and Owen Arden and Samuel Madden and Andrew C. Myers},
journal= {arXiv preprint arXiv:1208.0271},
year = {2012}
}
备注
VLDB2012