《SQL Server内存数据库揭秘-高继伟_IT168文库》.pdf
文本预览下载声明
SQL Server 内存数据库揭秘
Hekaton
About me
@shanksgao
agenda
为什么需要全新的引擎?
Hekaton实现
带来的帮助与挑战
RDBMS的发展
内存价格日趋便宜低于10$/GB
摩尔定律魔力减弱,CPU计算提速减慢
多核架构发展迅速
传统数据库经过多年发展如今性能提升缓慢
假设
所有表均在内存中
100万指令/事务 100 TPS
1,000 TPS?
10万指令/事务
90% CPU指令减少
10,000 TPS?
1万指令/事务
– 99% CPU指令减少
为什么要新引擎?
现有引擎中将所有表数据装入内存后我们还会面
临。。。
内存中的共享数据架构所使用的闩锁(热区问题)
为保证并发事务所采用的锁技术(阻塞/并发问题)
当前数据库引擎执行方式(语句执行效率,CPU高
消耗)
HEKATON
基于内存优化,但持久化
高性能的OLTP引擎
完全集成于现有SQL Server中
基于当前CPU架构设计
Page # Buffer Frame
Buffer
7 Pool
QI发起IO请求 Q2访问第7页 Q1
继续
内存架构分配
Q1访问第七页 Q2将读到脏页 I/O 完成 Time
10 ms.
Q2访问第7页 Q1 Q2继续
Q1发起IO请求
Q1访问第七页 内存架构分配 Time
并闩锁保护 10 ms. Q1 I/O 完成闩
Q2将被闩锁阻塞
锁释放
Jim Gray -两阶段锁
Q1: A = A + 100 DB 操作: Read A, A =A +100, Write A
Q2: A = A + 500 DB 操作: Read A, A =A +500, Write A
A =A +100 A =A +500
A = 1000
A = 1100 A = 1500
Q1 Q2 Q1 Q2 Time
读取A 读取A 修改A 修改A
Q1
显示全部