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 *************************************************** 一、交通警察手势信号-停止信号 二、交通警察手势信号-直行信…

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调试是一件简单的事情。下面,让我们调试一个简单的循环&…

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

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

停一下

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

which 命令

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

18ch

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

安卓四大组件总览

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

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

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

PYTHON招聘需求与技能体系

为什么80%的码农都做不了架构师?>>> 目前国内的招聘Python,基本都是偏向web后台开发,偶有高大上的数据挖掘&机器学习 这是之前(2012年)找工作整理的一些JD,在梳理几年来的笔记,顺带理一理 可以以此建…

《FPGA全程进阶---实战演练》第二十一章 电源常用类型:LDO和 DCDC

高速电路中的电源设计 高速电路中的电源设计大概分为两种,一种是集总式架构,一种是分布式架构。集总式架构就是由一个电源输入,然后生成多种所需要的电压。如图1所示。这种架构会增加多个DC/DC模块,这样成本不可控,PCB…

迁云架构实践

本文着笔介绍IT互联网化为传统企业带来的技术挑战,并对上云架构最佳实践进行了深入介绍,首发于阿里云&《程序员》联合出品的《凌云》杂志。 作者: 王宇德,张文生 云计算作为信息技术领域的一种创新应用模式,自其诞…

最短路最新心得

如果,上面的图,如果用dij算法,那么dist[4] 4, 是得不到正确的结果的, 这个因为dist[3]先被确定是最小,然后用来更新dist[4] 但是存在负权,使得dist[3]更小,但是我们已经把结点3标记为不可用了…

java wrapper怎么运行_如何从智能合约中生成Java Wrapper

在本文中,我们将了解如何直接从智能合约生成Java Wrapper类以与Java中的智能合约进行交互。从智能合约生成Java Wrapper类有不同的方法:1. Web3j命令行工具和solc2. Web3j命令行工具和Truffle构建生成的工件3. web3j-maven-plugin4. web3j-gradle-plugin…

Matlab与C/C++混合编程调用OpenCV

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com http://item.taobao.com/item.htm?spma1z10.5-c.w4002-9510581626.24.ZO6sko&id43401674106 精通MATLAB混合编程视频讲解 MATLAB各类函数…

python 程序打包 vscode_使用VScode编写python程序并打包成.exe文件

听说Visual Studio Code(VS Code)的诸多好处,了解了一下果真很喜欢,我喜欢它的缘由主要有3个,一是VS Code开源且跨平台,二是由于其界面很是酷,三是能够知足个人大所属代码需求,除此以外固然还有强大的好奇心…

使用命名空间、头文件和实现文件

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 2.3 使用命名空间、头文件和实现文件 使新的throttle类满足程序的需求将是非常…

Permissions for id_rsa are too open

为什么80%的码农都做不了架构师?>>> Last week I was lucky enough to have my laptop upgraded (yay SSD) which meant I needed to configure a new install of OSX Lion. Most of my files are stored online (email, documents, code, etc) but I m…

java看图_看图吧,Java

package salary;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.text.NumberFormat;public class Salary extends JFrame{//声明标签private JLabel numl;private JLabel basel;private JLabel salel;//声明文本框private JTextField numf;priva…