同步设计在高性能OLTP数据库中的实践-神通数据库.PDF
天津神舟通用数据技术有限公司
同步设计在高性能OLTP数据库中的实践
冯 柯(技术总监)
2014年4月10日
关于OLTP
数据库界的珠穆朗玛
贫富差距严重
应用特征
高并发
短事务
更新密集
OLTP vs. OLAP
2
业界现状
TPC-C
单位:万笔交易/分钟
测试基准
BMSQL (SQL模式)
200w/200u
处理器
3
问题出在哪?
并发协议出了问题吗?
我们的分析:
并发协议是整个并行系统的基础
优秀的并发协议(如MVCC读写并行)对高性能OLTP数据库至关重要
但是:好的协议 ≠ 好的实现(测试使用的三个数据库均支持MVCC !)
4
问题出在哪?(2 )
同步原语出了问题吗?
我们的分析:
同步原语实现的目标,在于减 同步原语一览
少同步本身的开销,在临界区
类Latch的实现(Ticket/Queue…)
执行路径较短时,可以发挥很
Atomic 原子操作(Counting…)
大作用
Lock-Free结构 (FIFO/FILO/HASH…)
以数据库为代表的复杂并行系 Memory Barriers (Sequence
统,真正决定并发性能的,往 Locking…)
往是一些逻辑复杂、执行路径 RCU…
较长的临界区,优化同步本身
…
对性能的帮助有限
5
问题出在哪?(3 )
主要现象:关键临界区争用 Top Wait: BMSQL tpcc 30分钟统计采样
等待时间
等待事件 事件描述
剧烈,部分临界区出现“越 (秒)
log sync wait 13410.27 事
原创力文档

文档评论(0)