`

mysql分布式思维(二)-备份恢复

阅读更多

存储引擎优化
一、myisam存储引擎优化
1.索引缓存优化
    1.1myisam存储引起实现机制及索引文件的存放格式
          .myi文件中
   头(四部分信息)紧跟索引数据信息
   索引数据以Block(page)为最小单位
   Index Block ---->逻辑上组织形式
   物理上是以File Block存储磁盘
   Key Cache中缓存的索引信息是以Cache Block形式组织存放的。
          query读数据的过程  看图
    1.2 MyISAM存储引擎索引缓存相关的参数
       a.key_buffer_size----->索引缓存大小  (KeyCache大小)
          三个指标   系统索引的总大小、可用物理内存、系统当前的key cache命令率
   可以参考官方手册提供的一个粗略计算的公式:
   Key_Size = key_number * (key_length+4)/0.67
   Max_keyBuffer_size < Max_RAM-QCache_Usage-Threads_Usage-System_Usage
   Thread_Usage = max_connections*(sort_buffer_size+join_buffer_size+read_buffer_size+read_rnd_buffer_size+thread_Stack)
  
   查看Key Cache相关的状态变量:
   show status like 'key%';

| Key_blocks_not_flushed | 0     |
| Key_blocks_unused      | 45920 |
| Key_blocks_used        | 0     |
| Key_read_requests      | 0     |
| Key_reads              | 0     |
| Key_write_requests     | 0     |
| Key_writes             | 0     |
+------------------------+-------+
          将来可以通过这些参数计算命中率等信息
   Key_buffer_Read_HitRatio = (1-Key_reads/key_read_requests)*100%
   Key_buffer_Writer_HitRatio = (1-key_writes/key_writer_requests)*100%;
   Key_buffer_UsageRatio = (1-key_blocks_used/(key_blocks_used+key_block_unused))*100%

   b.key_buffer_block_size   索引缓存中的cache_block_size
      key_cache_divsion_limit
                     ---->Hot Area  / Warm Area
       ---->划分该范围比例的,默认是100,只有Warm Area 可以1到100
  1.3 NULL值对信息统计的影响。
        myisam_stats_method = nulls_equal   认为每个null值都一样。
                                            nulls_unequal

  1.4 表读取缓存优化
        read_buffer_size   Sequential Scan方式扫描数据时使用的buffer
 read_rnd_buffer_size   Random Scan方式时使用的buffer

淘宝站当中   读数据的库核心主要是用mysql的myisam存储引擎
二、Innodb存储引擎优化
    1.innodb_buffer_pool_size参数的设置
       该参数对innodb存储引擎的性能有决定的影响。
       很多介绍都直接说设置在物理内存的50%到80%
       应该更严谨一些

       总内存-独占内存-适当冗余

       假设单独MySql使用的主机,物理总内存8GB同时使用了MyISam存储引擎
       内存如何分配
          a)系统冗余:800M
   b)myisam :1.5G
   c)线程独占部分500个连接*(1mb+1mb+1mb+512kb+512kb)--->2G
       sort_buffer_size   1m
       join_buffer_size 1m
       read_buffer_size 1m
       read_rnd_buffer_size 512kb
       thread_stack 512kb

       innodb_buffer_pool_size = 8G-1.5G-2G-800M=3.7G

       show status like 'innodb_buffer_pool%';查看跟innodb_buffer_pool_size相关的参数
  2.innodb_log_buffer_size

  3.事务优化
      事务隔离级别等基础知识  了解
      innodb_flush_log_at_trx_commit
         有三个值0 , 1,2

         4.数据存储优化
       主键字段存储空间越小越好
       表的创建尽量自己指定相应的主键
       主键不要更新
       进可能提供主键查询

分享到:
评论

相关推荐

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

    - **数据恢复策略**:学习如何在数据丢失或错误时,通过备份文件进行恢复操作。 5. **性能监控与调优** - **性能日志与慢查询日志**:开启并分析MySQL的性能日志和慢查询日志,找出影响性能的SQL语句。 - **...

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

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

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

    7. 数据库备份与恢复:学习备份策略,包括全备、增量备份数及如何在灾难发生时进行数据恢复。 8. 高级SQL语法:深入学习窗口函数、子查询、联接操作等复杂SQL语句的使用。 【尚硅谷springcloud】: SpringCloud是...

    mysql基础到进阶学习笔记

    5. **备份与恢复**:详细讲解如何进行MySQL的全量备份、增量备份和差异备份,以及如何恢复数据。 6. **性能优化**:涵盖查询优化、索引优化、配置参数调整等方面,提升数据库性能。 【MySQL-运维篇.pdf】则关注...

    数据库思维导图.rar

    9. **备份与恢复**:为了防止数据丢失,数据库系统支持定期备份和在出现问题时进行数据恢复。 10. **性能优化**:包括索引创建、查询优化、分区策略等方法,以提升数据库的读写速度和响应时间。 11. **NoSQL数据库...

    15-3中级-数据库系统工程师教程(第3版)(目录结构图和思维导图)).rar

    6. 数据库恢复与备份:学习如何在系统故障或灾难情况下恢复数据库,包括日志记录、检查点、备份策略等。 7. 分布式数据库与云数据库:随着云计算的发展,分布式数据库和云数据库成为热门话题,书中会介绍这些新兴...

    后端面试题汇总(Python、Redis、MySQL、PostgreSQL、Kafka、数据结构、算法、编程、网络).zip

    面试中可能涉及SQL查询优化、事务处理、存储引擎(InnoDB和MyISAM)、索引类型、视图、触发器和备份恢复策略等。 4. **PostgreSQL**: PostgreSQL是另一个强大的开源数据库系统,支持复杂查询和ACID事务。面试中可能...

    Uber平台架构设计介绍.docx

    在数据库层面,MongoDB的访问通过Wrapper进行管理,Wrapper包含了重试策略、数据备份和恢复机制,确保了数据的安全和一致性。通过这样的优化,Uber构建了一个强大且灵活的架构,能够处理大规模的用户请求,同时保证...

    数据库系统概论

    根据不同的特性和用途,数据库可以分为关系型数据库(如MySQL、Oracle)、非关系型数据库(如MongoDB、Redis)以及分布式数据库等。 二、数据库管理系统(DBMS) 数据库管理系统是用于创建、操作和管理数据库的软件...

    memcache-2.2.3.tgz

    6. **故障恢复和监控**:如何备份和恢复数据,以及通过日志和指标监控Memcached的运行状态。 7. **与其他技术的集成**:例如与Web框架、数据库、负载均衡器等的集成策略。 通过深入学习和实践,我们可以掌握如何在...

    数据库总结,适合期末复习!!!!

    3. **备份与恢复**:了解不同类型的备份策略,如完整备份、增量备份和差异备份,以及如何进行数据恢复。 4. **安全性**:如何防止SQL注入攻击,理解加密和审计机制,确保数据安全。 期末考试可能会涵盖理论知识的...

    本科计算机毕业论文论文

    2. 数据备份与恢复:定期备份数据库以防止数据丢失,设计恢复策略以应对系统故障或数据错误。 六、分布式数据库与云计算环境下的数据库 1. 分布式数据库:数据分布在多个物理位置,通过网络连接,提供全局一致性...

    各大互联网公式面试题大汇总

    3. 数据库管理:熟悉MySQL、Oracle、MongoDB等数据库的管理,包括备份、恢复、性能调优。 五、分布式系统 1. 分布式一致性:了解CAP原理,理解Paxos、Raft等分布式一致性算法。 2. 分布式计算:MapReduce模型及其...

    数据库系统工程师真题和答案

    4. **数据库管理**:包括数据库的安装、配置、备份与恢复策略,性能监控与调优,以及安全性设置,如用户权限管理、角色权限分配等。 5. **数据库系统架构**:理解不同的数据库管理系统,如关系型数据库(如Oracle、...

    DM实验指导书及报告册.zip

    这包括理解不同的备份类型(如完整备份、增量备份和差异备份)以及如何在系统故障后恢复数据。 6. **大数据处理**: 随着数据量的爆炸性增长,大数据技术变得越来越重要。Hadoop、Spark等框架可以帮助处理大规模...

    企业QQ系统的设计与实现

    同时,系统需要具备容错机制,如数据备份和恢复,以应对可能出现的硬件故障。此外,性能优化也是必不可少的,如通过缓存技术减少数据库访问,通过负载均衡提高服务器处理能力。 在实际开发过程中,可能会用到的技术...

    Grokking-the-System-Design:摸索系统设计面试课程资料

    在容错机制方面,课程会讲解故障恢复、冗余备份、分布式一致性算法(如Paxos、Raft)以及幂等性设计,确保系统在面对故障时仍能保持稳定运行。此外,性能优化是系统设计中的重要环节,包括网络优化、资源调度和并行...

Global site tag (gtag.js) - Google Analytics