百万级数据量,千万级数据量是多少,海量数据的优化方案

百万级数据量,千万级数据量是多少?

这里的百万级,千万级,针对数据库,指的是表的数据条数。有时也指并发事务量。

 

海量数据的优化方案

Note:    具体优化要结合自身的业务特性

百万级:

        这个数据量基本上大家都经历过,也能感知一些性能问题显露出来了,这个阶段的优化几乎是最重要的,因为到后期千万级,甚至亿级别的阶段,数据库几乎无法动弹,可调整性很低。下面主要以字段,索引,sql 编写三方面优化:

  1. 字段选择优化
  2. 索引设计优化:  空间换时间的优化策略,基本上根据业务需求设计好索引,足以应付百万级的数据量
  3. 查询语句优化

千万级:

         到了这个阶段的数据量,数据本身已经有很大的价值了,数据除了满足常规业务需求外,还会有一些数据分析的需求。而这个时候数据可变动性不高,基本上不会考虑修改原有结构,一般会考虑从分区,分表,分库三方面做优化:

  1. 分区:  根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分,是一种水平划分
  2. 分表:  

    分表分水平分表和垂直分表。

    水平分表即拆分成数据结构相同的各个小表,如拆分成 table1, table2...,从而缓解数据库读写压力。

    垂直分表即将一些字段分出去形成一个新表,各个表数据结构不相同,可以优化高并发下锁表的情况。

    可想而知,分表的话,程序的逻辑是需要做修改的,所以,一般是在项目初期时,预见到大数据量的情况,才会考虑分表。后期阶段不建议分表,成本很大。

  3. 分库:

    分库一般是主从模式,一个数据库服务器主节点复制到一个或多个从节点多个数据库,主库负责写操作,从库负责读操作,从而达到主从分离,高可用,数据备份等优化目的。

    当然,主从模式也会有一些缺陷,主从同步延迟,binlog 文件太大导致的问题等等

参考:MySQL 不同数据量的优化方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值