MySQL使用方案

优化时机

一般单表超过500万左右,或明显感觉到性能下降时,需要优化

优化方案

  1. 读写分离
  2. 使用缓存,如memcached或Redis
  3. 使用搜索引擎,如ElasticSearch或solr
  4. 分库分表

详细说明

  1. 读写分离很容易实现,建议在一开始做,不必等到性能下降时
  2. 发现性能下降时可做。比如有一张500万大表,不可能缓存全表,只能缓存热点数据,所以需要有一个监控热点数据的功能
  3. 像缓存整个大表或者数据量很大可以用搜索引擎,搜索引擎是文件存储,适合高效查找,但不对插入修改、事务等支持。使用搜索引擎的话需要定时把mysql的数据同步给它,同样的数据需要预留2倍磁盘,虽然搜索引擎可能可以压缩
  4. 分库分表其实可以在第二步做,但实现较复杂;分表后必然涉及要读取多个表的问题,但对开发是透明的,在应用开发与数据库中间需要研发一个平台,自动hash索引到分表后的表。举个例子,假设有一张600万的表,可以分为两张表,按时间分,时间点A以前的分一张,500万;另一张表100万,后续的都插入到该表

现状:数据库现在用5.5版本,免费的,不购买服务,使用了上面的2和3,暂时没遇到什么难题。不需要dba,一般难题研发可以搞定。

以上方案针对的是最大表是1000万数据量的表。超过1000万未经实践。(感谢老郭提供技术支持)

ouyida3的csdn blog

2015.4.8

时间: 2024-11-05 01:03:35

MySQL使用方案的相关文章

MySql优化方案

mysql优化方案总结 u       Mysql数据库的优化技术 对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平分割.垂直分割) d: 读写[写: update/delete/add]分离 e: 存储过程 [模块化编程,可以提高速度] f: 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] g: mysql服务器硬件升级

架构设计:系统存储(11)——MySQL主从方案业务连接透明化(上)

1.MySQL主从方案业务层的问题 在之前的文章中,我们提到MySQL一主多从集群模式下,对上层业务系统的访问带来了一些问题.本编文章中我们将深入分析这个问题,并介绍如何对这个问题进行改进.MySQL一主多从集群对上层业务系统带来的主要问题是,上层业务系统需要自行控制本次MySQL数据操作需要访问MySQL集群中的哪个节点.产生这个问题的主要原因,是因为MySQL一主多从集群本身并没有提供现成功能,将集群中的节点打包成统一服务并向外提供. 在上图所示的MySQL集群中,有一个Master节点负责

Mysql 优化方案

Mysql 优化方案 从开发角度优化mysql,让数据库效率更高.更快. 索引优化 查看mysql状态 通过周期性观察mysql状态优化,更有利于确定mysql性能瓶颈在哪里. 通过 show status 命令观察mysql的运行状态.其中比较主要的几个: 命令格式: show [global|session] status like 'command'; 默认是session: 当前会话:global: 全局会话. show status like "up_time"; 查看mys

MySQL备份方案-->(利用mysqldump以及binlog二进制日志)

From:http://blog.csdn.net/mchdba/article/details/11575605 随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略.使用mysqldump对于MySQL大部分mysql存储引擎比如myisam.innodb都有很好的支持. 方案一:mysqldump全备份+日志增量备份 1, mysqldump备份方案: 周一凌晨3点全备 周二到周日凌晨3点增量备份 2, 备份步骤 (1)    

mysql备份方案

1.环境说明 系统为centos 6.5 需要安装mutt和msmtp并可以发送邮件 需要安装python 2.6.6 需要安装xtrabackup 2.备份方案功能模块介绍 备份: 使用xtrabackup进行备份,每次备份会把备份文件放到一个当前日期和时间的文件夹内.所以创建备份夹new,把备份文件放到new中,并根据new中文件夹的个数判断是全备还是增备还是需要转移文件到last中.第一个文件是全备,每次增备是在前一天的基础上进行增备.备份脚本在把所有的文件从new移动到last的时候 会

MySQL备份方案(综述及脚本)

1.环境说明 系统为centos 6.5 需要安装mutt和msmtp并可以发送邮件 需要安装xtrabackup 2.备份方案功能模块介绍 备份: 使用xtrabackup进行备份,每次备份会把备份文件放到一个当前日期和时间的文件夹内.所以创建备份夹new,把备份文件放到new中,并根据new中文件夹的个数判断是全备还是增备还是需要转移文件到last中.第一个文件是全备,每次增备是在前一天的基础上进行增备.备份脚本在把所有的文件从new移动到last的时候 会把所有文件文件打包.以下是mysq

MySQL DDL方案测试及选型.

性能测试 一.测试背景 1.机器配置和版本 机器配置(下面测试qps数据都是以本机器配置为准) 型号:Dell s3710 磁盘:SSD 3T CPU:32 内存:128G MySQL版本:5.7.22 gh-ost版本:1.0.46 pt-osc版本:3.0.12 2.数据准备和业务模拟 ----插入1000万条数据,表大小约2G-- sysbench --mysql-user=darren --mysql-password=darren --mysql-host=10.126.126.164

高并发架构系列:Redis缓存和MySQL数据一致性方案详解

一.需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库.这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作.读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题. 不管是先写MySQL数据库,再删除Redis缓存:还是先删除缓存,再写库,都有可能出现数

项目中常用的 19 条 MySQL 优化方案

声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 一.EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划. 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据: type列,连接类型.一个好的sql语句至少要达到range级别.杜绝出现all级别 key列,使用到的索引名.如果没有选择索引,值是NULL.可以采取强制索引方式 key_len列,索引长度 rows列,扫描行数.该值是个预估值 extra列,详细说明.注意常