首页 数据库 mysql教程 浅谈MySQL学习及思考

浅谈MySQL学习及思考

Jun 07, 2016 pm 05:40 PM
mysql优化 mysql设计 raid

本博文旨在结合自己看书理解,并借此图进行说明,如有谬误,望大家指正,以共同探讨为目的,交流学习。首先介绍一下架构图的由来:最近看关于mysql方面书籍的一点

 本博文旨在结合自己看书理解,并借此图进行说明,如有谬误,望大家指正,以共同探讨为目的,交流学习。

首先介绍一下架构图的由来:最近看关于mysql方面书籍的一点心得,把文字转化成图片而得,方便理解。

 

我主要从读、写、底层磁盘三方面进行阐述:

1、读操作:

  我们知道数据在读取的时候,需要从磁盘读到内存中,然后再做相应的操作,而在优化读操作的时候,主要想buffer,cache这些进行优化:

  以上是读操作的一些介绍,接下来是写操作方面的。

2、写操作:

  写操作分为热门数据和普通数据,简而言之就是按照频繁程度进行划分的。然频繁修改的数据可以和非频繁的数据进行分开。

举个例子:

  • 比如我网站每天PV 1000w,而在PV统计的表中,我每次访问就会插入一条数据,一天下来1000w,当然这还不可能是分摊在24小时,就按照10个小时的中高峰期来说,每个小时也是100w条数据,如果我的网站其他表中的跟新的数据每天2w条,相对1000w来说,就是太少了,但是这2w条数据有事比较重要的数据,如果是用户注册、客户购买商品下的订单,他可比记录PV信息更重要吧,这时候问题就出现了:我的热门数据究竟是什么?是PV统计还是订单、注册用户,不言而喻,当然其中一个还是重点数据了,所以为了不让记录PV的数据来影响更重要的数据的更新,我们可以把他分开,如果后面还有主从同步的话,分开后,同步的负载也会降低很多,这样就可以只同步2w条数据,香港空间,而不用考虑那1000w条数据了,服务器空间,进而主数据库的负载也会降低。 
  •   现在是把热门数据和普通数据分开了,但是对于高并发的数据库服务器来说,如何抗并发,这到成了一个重要的问题,当然高配服务器,集群用上,包括Nosql也用上可一解决这样的问题,如果在设计的时候能使用队列机制,这样不就更好了嘛!(地铁上看到一句广告语:有序方能通畅!)

      当然你可能有更好的方法,香港虚拟主机,可以共同交流。

    3、底层磁盘规划:

     

     

     

  • RAID6: 
  • RADI6技术是在RAID5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID5等级。与RAID5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。 
  •  

      而对于热门数据可以使用RAID10,这样他的性能和安全性会提高很多;而普通数据可以采用RAID5,主要提供安全性,像临时表这样的使用RAID0,在性能上发挥巨大的优势。

    以上均个人见解,如有疑问,可共同交流学习!

     

    本文出自 “Ro の博客” 博客,请务必保留此出处

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    Video Face Swap

    Video Face Swap

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    热门话题

    Java教程
    1663
    14
    CakePHP 教程
    1420
    52
    Laravel 教程
    1313
    25
    PHP教程
    1266
    29
    C# 教程
    1238
    24
    在 Windows 11 上配置 RAID 1 的步骤 在 Windows 11 上配置 RAID 1 的步骤 Sep 22, 2023 pm 03:05 PM

    Windows11有严格的要求,在努力获取该存储之后,丢失硬盘驱动器和数据将是一个遗憾。好吧,我们带来了好消息,可以帮助您缓冲硬盘驱动器故障。使用内置的Windows工具,您可以将所有数据从一个驱动器复制到另一个驱动器。这样,如果一个驱动器发生故障,您可以在替换驱动器上镜像和重建原始数据。Windows11可以做RAID吗?借助Windows存储空间功能,您可以在Windows11上执行RAID。此功能允许您使用直接连接到计算机的硬盘驱动器创建多个虚拟磁盘,而不会降低性能。突袭的好处:降低因磁盘

    如何在 Windows 11 上 RAID 外部硬盘驱动器 如何在 Windows 11 上 RAID 外部硬盘驱动器 Sep 16, 2023 pm 10:05 PM

    RAID或独立磁盘冗余阵列是一种数据存储技术,其中多个外部驱动器组合成一个。当大型硬盘价格昂贵时,它被广泛使用,但许多人仍然更喜欢RAID外部驱动器的方法。RAID有几个级别,每个级别都用于特定目的。请记住,普通用户不必深入了解复杂性,RAID0或RAID1的简单设置应该可以正常工作。考虑突袭外部驱动器的原因:改进了电脑的性能易于配置,比现有替代方案便宜更快的数据读取和写入通过镜像实现有效的备份解决方案如何在Windows11上RAID外部驱动器?在RAID外部硬盘驱动器之前,需要注意以下几个先

    linux怎么查看Raid磁盘阵列信息 linux怎么查看Raid磁盘阵列信息 May 16, 2023 pm 09:46 PM

    linux下查看软、硬raid信息的方法。软件raid:只能通过linux系统本身来查看cat/proc/mdstat可以看到raid级别,状态等信息。硬件raid:最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。如adaptec公司的硬件卡就可以通过下面的命令进行查看:#/usr/dpt/raidutil-lall可以看到非常详细的信息。当然更多情况是没有安装相应的管理工具,只能依靠linux本身的话一般我知道的是两种方式:#dmesg|grep-irai

    如何通过MySQL对AVG函数优化来提高性能 如何通过MySQL对AVG函数优化来提高性能 May 11, 2023 am 08:00 AM

    如何通过MySQL对AVG函数优化来提高性能MySQL是一款流行的关系型数据库管理系统,其中包含了许多强大的函数以及功能。其中AVG函数被广泛使用在计算平均值的情形,但是由于这个函数需要遍历整个数据集,所以在大规模数据的情况下会导致性能问题。本文将详细介绍如何通过MySQL对AVG函数进行优化,从而提高性能。1.使用索引索引是MySQL优化中最重要的一部分,

    基于TokuDB引擎的MySQL优化:提升写入和压缩性能 基于TokuDB引擎的MySQL优化:提升写入和压缩性能 Jul 25, 2023 pm 11:45 PM

    基于TokuDB引擎的MySQL优化:提升写入和压缩性能引言:MySQL作为一种常用的关系型数据库管理系统,在大数据时代的背景下,面临着越来越高的写入压力和存储需求。为了应对这一挑战,TokuDB引擎应运而生。本文将介绍如何利用TokuDB引擎来提升MySQL的写入性能和压缩性能。一、什么是TokuDB引擎?TokuDB引擎是一种面向大数据的、用于处理高写入

    如何实现MySQL底层优化:SQL语句高级优化的技巧和最佳实践 如何实现MySQL底层优化:SQL语句高级优化的技巧和最佳实践 Nov 08, 2023 pm 04:32 PM

    MySQL是一种广泛使用的关系型数据库管理系统,常用于Web应用程序的开发和数据存储。在实际应用中,对MySQL的底层优化尤为重要,其中SQL语句的高级优化是提升数据库性能的关键所在。本文将介绍实现MySQL底层优化的一些技巧和最佳实践,以及具体的代码示例。确定查询条件在编写SQL语句时,首先要明确定义查询条件,避免使用无限制的通配符查询,即避免使用"%"开

    MySQL在电子商务应用中的优化与安全项目经验解析 MySQL在电子商务应用中的优化与安全项目经验解析 Nov 03, 2023 am 10:42 AM

    MySQL是一种广泛应用于电子商务领域的关系型数据库管理系统。在电子商务应用中,对MySQL进行优化和安全工作是至关重要的。本文将解析MySQL在电子商务应用中的优化与安全项目经验。一、性能优化数据库架构设计:在电子商务应用中,数据库的设计是关键。合理的表结构设计和索引设计能够提高数据库的查询性能。同时,使用分表和分区技术可以减少单一表的数据量,提高查询效率

    如何优化MySQL连接数管理 如何优化MySQL连接数管理 Mar 16, 2024 am 08:12 AM

    如何优化MySQL连接数管理MySQL是一种流行的关系型数据库管理系统,广泛应用于各种网站和应用程序中。在实际的应用过程中,MySQL连接数管理是一个非常重要的问题,尤其是在高并发情况下,合理管理连接数可以提高系统的性能和稳定性。本文将介绍如何优化MySQL连接数管理,包括详细的代码示例。一、理解连接数管理在MySQL中,连接数是指系统能够同时连

    See all articles