`

mysql分布式思维(一)

阅读更多

mysql第一讲  架构组成
1.  二进制安装即可
  windows 下的mysql  主要的配置文件是my.ini文件
  linux 下mysql 的主要配置文件是my.cnf文件一般安装之后就在/etc/my.cnf
  在linux下查看安装目录  ps -ef|grep mysql
  强调一下:企业当中一般会选择源码安装。
                源码安装 可以根据自己的需要配置一些参数。
  源码安装的时候可以选择gcc编译器,也可以选择icc编译器
  icc编译器做了很多优化,会大大提供mysql的性能
2.物理文件组成
   日志文件的选项配置
    my.cnf/my.ini
  2.1错误日志
       log-error
       记录的主要是 较为严重的警告和错误信息,每次启动和关闭的详细信息等。默认是关闭的。
  2.2二进制日志(特别强调)
      log-bin
      非常重要 将来做master/slave机制 slave要和master同步是来读master的binlog来完成同步的。
                    有些错误操作也需要通过binlog来恢复
      默认是关闭的,实际应用中应该开启。
  2.3更新日志
        现在的版本已经不支持了。
  2.4查询日志
       log
       记录所有的查询,开启之后对mysql性能影响比较大。一般是不开启的。
  2.5慢查询日志
      log-slow-queries
     配置在[mysqld]下
             选项=目录/文件名

  2.6 数据文件
       .frm文件
       .myd文件
       .myi文件
       .idb文件

3.系统架构
  服务器管理中的模块
       SQL Interface
       Parser
       Optimizer  优化器模块
                --->对于mysql而言任何查询语句都需要经过这个优化器模块来解析查询语句
         并得到最优的(是优化器模块)执行计划,然后就会按这个计划执行查询
  --->最耗时的,甚至有一些第三方的工具可以绕开这个模块。比如说:handlerSocket
       Cache        缓存
   存储引擎
       --->mysql 存储数据的地方

 4. 存储引擎
     MyISAm存储引擎
          ---->安装mysqlserver 就已经安装上
   ---->创建表指定即可。
   ---->不支持主外键关系 ,不支持事务的。
   ---->表锁   即使操作一条记录也会锁住整个表,那么不适合高并发的操作
   ---->缓存的时候只缓存索引,不缓存真实数据,真实数据是通过OS级别的缓存去完成的。
           对内存要求不高
     Innodb存储引擎
           ---->安装mysqlserver就已经安装上
    ---->创建表指定即可
    ---->支持主外键关系,支持事务操作  (大部分应用场景我们会使用innodb存储引擎)
    ---->行锁,操作时只锁某一行,不对其它行有影响,适合高并发的操作
    ---->缓存的时候不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响。
  
     NDB存储引擎(Cluster )
           ---->NDB存储引擎要独立于mysqlserver 单独安装
    ---->cluster其实是集群自动管理的一种机制
            mysql这方面还不是很成熟
     国内 阿朗(阿尔卡特朗讯)有部门使用这样的集群
                   现在很少使用

      扩展:有一家公司叫percona  出了一个数据库percona(对mysql进行了修改)
                该公司也出了一款存储引擎叫xtrdb
  完全可以替代innodb,并且在性能和并发上做得更好,并且提供了一些工具。
  阿里巴巴大部分mysql数据库其实使用的percona的原型加以修改。

分享到:
评论

相关推荐

    mysql分布式思维(十一)- MySQL Cluster

    MySQL Cluster是一种高可用、高性能的分布式数据库解决方案,它在MySQL服务器的基础上增加了数据的冗余和分布处理能力。本文将深入探讨MySQL Cluster的核心概念、架构、工作原理以及如何使用。 一、MySQL Cluster...

    mysql分布式思维(三)-性能优化之影响mysql性能的因素

    服务器型号解释 博文链接:https://394498036.iteye.com/blog/2289844

    MySQL高级_思维导图

    MySQL还支持分布式架构,如主从复制,以实现数据冗余和负载均衡。 2. **索引优化分析** - **索引类型**:B-Tree、Hash、R-Tree、Full-text等,其中B-Tree是最常见的索引类型,适用于范围查询。 - **唯一索引**:...

    尚硅谷mysql高级+尚硅谷springcloud思维导图.mmap

    MySQL是一款广泛使用的开源关系型数据库管理系统,它以其高效、稳定、易用的特点在众多企业中占据重要地位。尚硅谷周阳老师的MySQL高级课程深入讲解了MySQL的高级特性与最佳实践,旨在帮助学员掌握更深层次的数据库...

    【MySQL技术资料】-(机构内训资料)MySQL优化学习思维笔记

    这是一份专为深入理解MySQL数据库优化设计的学习资料,旨在帮助用户提升在实际工作中处理数据查询效率的能力。MySQL作为世界上最流行的开源关系型数据库管理系统,其性能优化是每个数据库管理员和开发者的必备技能。...

    MySQL优化学习思维笔记.rar

    这份“MySQL优化学习思维笔记”通过xmind形式呈现,可能涵盖了上述多个方面,为学习者提供了一个系统化的框架。学习和掌握这些知识点,将有助于你成为一位出色的MySQL数据库管理员,有效地解决性能问题,提升系统的...

    尚硅谷周阳老师的高级MySQL思维导图

    在深入探讨周阳老师在“尚硅谷”分享的高级MySQL课程之前,我们首先要明白MySQL是一款开源的关系型数据库管理系统,其高效、稳定性和灵活性使其在全球范围内广泛应用。周阳老师的课程旨在帮助学员掌握更深层次的...

    MySQL基本知识点思维导图

    ### MySQL基本知识点思维导图解析 #### 一、MySQL基础知识 **1.1 数据库概念** - **数据库**: 存储数据的一种组织形式。 - **关系型数据库**: 通过表格形式来存储数据,每个表由行(记录)和列(字段)组成。 **...

    周阳Mysql高级脑图完整版,希望对你有用

    - MySQL Cluster:分布式多节点集群,提供高可用性和数据冗余。 9. **分区与分片**: - 表分区:提高大数据量查询性能,如按时间、范围或哈希值分区。 - 数据库分片:将数据分散到多个物理服务器,实现水平扩展...

    大型分布式购物网站-B2C项目

    6. **分布式数据库**:如MySQL集群,通过主从复制、分区、分片等方式,实现数据的分散存储和读写分离,保证数据的一致性和高可用性。 7. **消息队列**:如RabbitMQ或Kafka,用于异步处理订单创建、支付通知等业务,...

    Java思维导图xmind文件+导出图片

    分布式架构 漫谈分布式架构 初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本...

    大数据时代的数据存储,非关系型数据库MongoDB

    它支持横向扩展,通过分布式架构将数据分散到多个服务器,降低单一服务器的压力。这种扩展方式成本较低,管理相对复杂,但MongoDB通过自动路由机制,使得开发者无需关心数据分布在哪些服务器上,降低了管理难度。与...

    mysql基础到进阶学习笔记

    【MySQL存储过程.xmind】可能是一个思维导图,详细梳理了存储过程的概念、创建、调用、参数传递以及在实际项目中的应用案例。 综上所述,这份学习资料全面覆盖了MySQL从基础到进阶的各个方面,对于希望深入学习和...

    mysql第九章.pdf

    默认情况下,MySQL的每个独立操作都是一个事务,一旦操作完成就会自动提交。 - **用户定义事务**: 用户可以通过声明事务的开始(START TRANSACTION)和结束(COMMIT或ROLLBACK)来控制事务的边界。 - **显式...

    数据库思维导图.rar

    5. **数据库管理系统(DBMS)**:DBMS是一组软件,用于创建、维护和控制数据库,如Oracle、MySQL、SQL Server等。 6. **数据库设计**:包括需求分析、概念设计(ER模型)、逻辑设计(DDL语句)、物理设计(考虑存储...

    DB思维导图.pdf

    TiDB是一个典型的NewSQL数据库,它提供了与MySQL兼容的SQL支持,支持水平弹性扩展,具有分布式事务和跨数据中心的数据强一致性保证。 TiDB的设计目标是同时满足OLTP和OLAP的需求,尤其是在大规模数据处理场景下。...

    基于Springcloud的分布式敏捷开发系统架构,提供整套公共微服务模块:集中权限管理(单点登录)等.zip

    在现代企业级应用开发中,SpringCloud作为一款强大的微服务框架,被广泛应用于构建分布式敏捷开发系统。本项目以“基于Springcloud的分布式敏捷开发系统架构,提供整套公共微服务模块:集中权限管理(单点登录)等”...

    NoSQL数据库入门思维导图

    NoSQL(Not Only SQL)数据库是一种非关系型数据库,它的设计目标是处理大规模数据,特别是在分布式计算环境中。与传统的SQL(结构化查询语言)数据库不同,NoSQL数据库不依赖于固定的表结构,支持多种数据模型,如...

Global site tag (gtag.js) - Google Analytics