Modern cloud OLTP databases have sought performance primarily through user-space optimization - separating storage and compute layers, or distributing transactions across multiple nodes using consensus algorithms. This paper turns attention to a previously unexplored layer: kernel-space I/O behavior. From an on-premises perspective, where a single server with local storage delivers excellent performance, these elaborate designs seem puzzling. Why do cloud databases require such architectural complexity? We investigate this through a pathological analysis of databases that rely on OS-level I/O control in cloud-specific storage environments. We show that bottlenecks widely attributed to network or storage architectures in fact originate in kernel-space I/O behavior. Based on this diagnosis, we derive treatment principles and realize them as SteelDB, a zero-patch architecture that improves database performance on general-purpose cloud distributed block storage through strategic I/O optimization without requiring kernel or database patches. TPC-C evaluations demonstrate that SteelDB achieves up to 9x performance improvement at no additional cost. Against Amazon Aurora, SteelDB achieved 3.1x higher performance while reducing costs by 58%, leading to a 7.3x improvement in cost efficiency. While Aurora requires an average of 254 days for major version upgrades due to applying proprietary patches to newly released OSS databases, our zero-patch architecture reduces these software maintenance costs to near zero.
翻译:现代云OLTP数据库主要通过用户空间优化来提升性能,例如分离存储与计算层,或使用共识算法在多个节点间分布事务。本文转而关注一个此前未被探索的层面:内核空间的I/O行为。从本地部署的视角来看,单机搭配本地存储即可实现优异性能,这使得上述复杂设计显得令人费解——为何云数据库需要如此复杂的架构?我们通过病理学分析,研究了依赖操作系统级I/O控制的数据库在特定云存储环境中的表现,揭示了那些常被归因于网络或存储架构的瓶颈,实则源于内核空间的I/O行为。基于这一诊断,我们推导出治疗原则,并将其实现为SteelDB——一种零补丁架构,通过战略性I/O优化,在不需内核或数据库补丁的情况下,提升通用云分布式块存储上的数据库性能。TPC-C评估表明,SteelDB在零额外成本下实现最高9倍的性能提升。与Amazon Aurora相比,SteelDB性能提升3.1倍,同时成本降低58%,成本效率提升7.3倍。尽管Aurora因需对最新开源数据库应用专有补丁,平均需要254天完成大版本升级,而我们的零补丁架构将此类软件维护成本降至近乎为零。