对于数据库这种特殊应用IOPS往往会成为瓶颈,突破的这个瓶颈的有效方法不多,软件方面主要是读写分离,垂直拆分,分区表技术,cluster。硬件方面主要是raid,和SSD。
通常都是软件和硬件同时优化,相对于成考考虑,硬件使用raid的情况较多,今天分享下硬件raid知识。
什么是raid?
raid可以提供数据备份技术、扩展存储空间和提高存储性能。关于raid 0,raid 1,raid0+1,raid1+0,raid 5这些理论基础我就不重复提及了,google下很多的。
对于数据库应用,通常我们换选择raid1+0。他在磁盘空间成本和安全性方面和raid5差不多,但是在性能方面(IOPS)却明显优越于raid5,所以对于OLTP系统,我们一般使用raid1+0。
下面我们开始进入正题,raid硬件知识,当然,我们只是站在应用的角度去探讨raid硬件设备的性能和安全。
缓存
对于一块中高端的RAID,缓存是必不可少的。一般raid卡使用的DDR2内存颗粒,和我们的内存条几乎相同,adaptec的缓存叫DRAM,根据硬件技术的发展DDR3肯定会跟上的。
说到缓存技术就必须说一下两种缓存模式。
write through 系统的写入请求直接写入硬盘,安全性很高,性能很低。
write back 系统的写入请求先存放到缓存,再根据时机统一回写到硬盘中,由于缓存的写速度远远高于磁盘,所以这种方式性能可以大大提高。
BBWC
为了挖掘更好的RAID写入性能,饥渴的DBA肯定想打开write back功能,让咱的数据库飞起来。但是这个时候出现了一个非常严重的安全问题,就是突然断电导致数据丢失的问题(上面提过raid卡使用的是RAM存储器,断电丢失数据,但是系统层已经认为这些数据已经写入硬盘,所以系统层不能提供任何保护措施),数据丢失对于DBA的亲们肯定是不能接收的。那该如何呢?
针对这个问题出现了BBWC–Battery-Backed Write Cache.BBWC的核心就是BBU电池备份单元,它就是一块锂电池,在系统开机的情况下处于充电状态,一旦遇到断电,就会给缓存提供刷新所需的电流,保持数据不丢失,直到下次开机时把数据写回到磁盘上。有的BBU和raid卡的内存做在一个模块上,有些是raid卡通过一个连接线连接一个电池。
BBWC的缺点:
1、每隔1-2年需要跟换电磁,维护麻烦,管理员容易忘记这个事情,如果机器不很远的机房单独去机房换电池,成本就高了。
2、更换电磁需要停机,并且需要把机器下架,拆开。
3、由于电池也是一个故障点,所以需要管理员花更多的时间来关心电磁的工作情况
4、电池能够提供的供电时间最多72小时,初始化需要充电数小时才能使用
5、电池不环保
FBWC
针对BBWC的缺点,出现了FBWC –Flash-Based Write Cache。
FBWC的原理就是再系统以外停电的时候,利用一组“超级电容”中存储的电量,在较短的时间内(大约1分钟),将缓存中的数据备份到RAID卡上的大容量FLASH闪存中,知道下次开机再把数据回写到硬盘中。
FBWC和BBWC几乎完成的目的是一样的,但是实现方式不同。
FBWC的优点:
1、不需要维护,这点就把管理员们解决出来了
2、数据可以在flash中保存很多年
3、系统启动即可用
4、环保
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
DBA必须掌握的数据库恢复管理技术
如果没有备份副本,数据库管理员就无法还原数据库,所以DBA在恢复之前倾向于考虑备份是合乎逻辑的。 但是,对我来说,这种逻辑一直是错误的。