《CoolHash数据库引擎架构与设计分享-彭渊_IT168文库》.pdf
文本预览下载声明
CoolHash数据库引擎架构与
设计分享
彭渊
思路提纲
1、存储硬件技术的发展:机械硬盘、固态硬盘的原
理
2、数据库软件技术的发展:基于裸设备、b/b+树、
跳表的的数据库实现原理
3、业界典型NOSQL数据库架构分析(Aerospike ,
KyotoCabinet、Couchbase、Redis)
4 、Redis解决方案、瓶颈和优化
5、CoolHash的数据逻辑结构
6、CoolHash的并行架构设计+简单事务处理
7、CoolHash的性能分析
机械硬盘存储的伟大发明
机械硬盘是在金属片上涂以磁性材料,通过对磁性
材料磁化后的剩磁状态来存储二进制信息。
1、寻找柱面(毫秒级)
2、寻找盘面
3、寻找扇区
操作系统的文件系统实现将连续数据尽量存放同一
柱面(不连续即随机读写)
每个文件至少存放一个簇(相邻的扇区),目录区
存储文件元数据,数据区存储文件内容
固态硬盘的存储原理
1、主体pcb板
2、主控芯片:调配闪存芯片数据负荷
和中转。
3、缓存芯片:辅助主控芯片进行数据
处理。
4、闪存芯片(Flash):存储介质,
以充电、放电方式写入擦除数据。不
用磁头,通过电路传输信号,寻道时
间几乎为0,随机读写速度快。
(500m/s VS 100m/s ,1毫秒)
无机械不发热无噪音抗低温抗地震,
但是价格贵有擦写次数寿命限制。国
内厂商一般购买主控芯片和闪存芯片
组装。
数据库软件存储技术的发展趋势
数据库作为企业信息系统的最基础软件,面临着分布式存
储、nosql、k/v、并行数据库等创新技术的冲击
结构化存储往非结构化存储发展
集中存储往分布式存储发展
sql数据库往nosql发展
关系数据库往kv数据库发展
单进程数据往并行数据库发展
随着软硬件技术的发展,缓存和持久化存储的性能越来越
接近
基于Raw device的数据库实现
1、Raw device,没有经过格式化,不被操作系统直接管理的设备,不通过操作
系统文件系统来操作。
2、使用应用程序直接操作Raw device,不经过文件系统的缓冲。
3、由于绕开操作系统和其文件系统,直接操作I/O,控制得当可以提高效率。
4、读写很频繁,磁盘I/O成为瓶颈情况下适合操作Raw device。
5、ORACLE、SQLSERVER等数据库支持使用Raw device作为存储介质。
开发方式:
1、常用c开发操作打开dev/sdb...
2、java开发问题(不太适合):
//读可以打开
RandomAccessFile file = new RandomAccessFile (\\\\.\ \PhysicalDrive1,r);
//写抛出异常FileNotFoundExceptions
RandomAccessFile file = new RandomAccessFile (\\\\.\ \PhysicalDrive1,rw);
Raw device的限制
1、sqlserver、oracle安装必须在文件系统上,支持在Raw dev
显示全部