mysql raid_DBA们应该知道的RAID卡知识_MySQL

bitsCN.com

对于数据库这种特殊应用IOphotoshop/ target=_blank class=infotextkey>PS往往会成为瓶颈,突破的这个瓶颈的有效方法不多,软件方面主要是读写分离,垂直拆分,分区表技术,cluster。硬件方面主要是raid,和SSD。

通常都是软件和硬件同时优化,相对于成考考虑,硬件使用raid的情况较多,今天分享下硬件raid知识。

1405M205220310-15L29.jpg

什么是raid?

raid可以提供数据备份技术、扩展存储空间和提高存储性能。关于raid 0,raid 1,raid0+1,raid1+0,raid 5这些理论基础我就不重复提及了,google下很多的。

对于数据库应用,通常我们换选择raid1+0。他在磁盘空间成本和安全性方面和raid5差不多,但是在性能方面(IOphotoshop/ target=_blank class=infotextkey>PS)却明显优越于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、环保 bitsCN.com

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

TAG标签:是知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Maven的SSH框架搭建

2019独角兽企业重金招聘Python工程师标准>>> 1.工程介绍 工程是结合了Springstruts2hibernate,实现了一个简单的form表单提交的功能,可能需要对spring,struts2,hibernate有一个基础的了解才好理解。 2.工程结构图 首先…

交通警察手势信号(动画演示)

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 一、交通警察手势信号-停止信号 二、交通警察手势信号-直行信…

==与equal在java中应用的感悟

今天又算是长见识了。了解了下平时不注意的equal和的区别。 不管是又或是equal都是用来比较相同与否。当问题就在这里了,比较什么相同呢? 我的在日常的比较无非也就是两种:1、基本数据类型之间的比较,2、引用类型数据之间的比较。…

mysql和mybatis面试题_BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

SpringSpring 概述什么是spring?使用Spring框架的好处是什么?Spring由哪些模块组成?解释AOP模块Spring配置文件什么是Spring IOC 容器?依赖注入什么是Spring的依赖注入?有哪些不同类型的IOC(依赖注入)方式?哪种依赖注…

Codeblocks和gdb调试 (转)

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 使用C::B和gdb调试是一件简单的事情。下面,让我们调试一个简单的循环&…

Git的安装和使用(Linux)【转】

转自:http://my.oschina.net/fhd/blog/354685 Git诞生于Linux平台并作为版本控制系统率先服务于Linux内核,因此在Linux上安装Git是非常方便的。可以通过两种不同的方式在Linux上安装Git:一种方法是通过Linux发行版的包管理器安装已经编译好的…

Magento--修改已存在的订单的运费

遇到一种情况,需要在下单后再由管理员添加订单运费,然后顾客再付款。那么问题来了,如何给订单添加运费呢?下面是一段代码,可以实现该功能: $orderId your order id;$order Mage::getModel(sales/order)-&…

mysql5.7.17 win7_win7下mysql5.7.17安装配置方法图文教程

win7下安装mysql5.7.17图文教程,分享给大家。1.下载安装包请在以下有zip包和msi两种类型包,建议新手选择zip包下载,有助于熟习mysql2.解压mysql压缩包下载完成后解压,将其放在要安装的目录下面,如:e:\mysql…

华为软件研发面试题1

from:http://blog.csdn.net/eddy_0825/article/details/1875574 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这…

停一下

15年过去已半载有余,回头看年初定下的目标,有种管中窥豹的感觉。之前和肉山讨论的时候,他对我想要发展的方向并没有表示赞同。 现在认为他是对的,发展的方向太靠前了,ui,canvas,svg,…

which 命令

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名…

18ch

18.2 线程和进程 18.2.1 什么是进程? 18.2.1 什么是进程? 计算机程序只不过是磁盘中可执行的,二进制的数据。它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命周期。进程(重量级进程)是程序…

java sql分页_mysql、sqlserver、oracle分页,java分页统一接口实现

定义&#xff1a;pageStart 起始页&#xff0c;pageEnd 终止页,pageSize页面容量oracle分页&#xff1a;select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<pageEnd) where num>pageStartsqlServer分页&#xff1a;select * from ( select …

安卓四大组件总览

在安卓中四大组件 &#xff08;Component&#xff09;指的是&#xff1a;Activity&#xff0c;Service&#xff0c;BroadcastReceiver&#xff0c;ContentProvider。此博客仅仅对安卓中四大组件从整体上进行简单的分析&#xff0c;了解他们在安卓系统框架中处的位置与作用&…

华为软件研发面试题2

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** from&#xff1a;http://blog.csdn.net/eddy_0825/article/details/1875582 C语言面试…

Spring学习(24)--- AOP之 Aspect instantiation models(aspect实例模式)特别说明

重要&#xff1a; schema-defined aspects只支持singleton model&#xff0c;即 基于配置文件的aspects只支持单例模式 转载于:https://www.cnblogs.com/JsonShare/p/4638475.html

unix网络编程 str_cli epoll 非阻塞版本

unix网络编程 str_cli epoll 非阻塞版本 unix网络编程str_cli使用epoll实现讲了使用epoll配合阻塞io来实现str_cli,这个版本是配合非阻塞io. 可以看到采用非阻塞io以后复杂度大大提升了. 这个版本是在原书select版本基础之上修改而来,可以看出epoll又比select版本复杂了很多,每…

java ee 指南 pdf_Java EE 7权威指南:卷1(原书第5版) 中文pdf

资源名称&#xff1a;Java EE 7权威指南&#xff1a;卷1(原书第5版) 中文pdf第一部分 引言第1章 概述 2第2章 使用教程示例 27第二部分 平台基础知识第3章 资源创建 38第4章 注入 41第5章 打包 44第三部分 Web层第6章 Web应用入门 50第7章 JSF技术 66第8章 Facelets…

中兴面试题2

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** from&#xff1a;http://blog.csdn.net/eddy_0825/article/details/1875566 现在的公司…

java 路径获取文件名称_java 根据文件获取文件名及路径的方法

filelistnew HashMap();/*** 递归方法* param path 文件路径*/public static void find(String path){File filenew File(path);File[] files file.listFiles();//如果文件数组为null则返回if (files null)return;for (int i 0; i < files.length; i) {if (files[i].isDi…