数据量、高并发数据库的高性能、高可用性解决方案

1.拆表:大表拆小表(垂直拆,水平拆;分表,分区partition,分片sharding),可以在应用层实现,也可以在数据库层面实现一部分;提高系统性能。

2.分库:把表放到不同的数据库,这也是分布式数据库的基础;提高系统性能。

3.分布式:不同的数据库放到不同的服务器;提高系统性能。

4.集群:使用数据库复制等技术组建集群,实现读写分离、备份等;提高系统性能、可用性。

5.缓存:对常用的数据进行缓存。提高系统性能。

6.备份:主从库,快照,热备,异地备份等;提高系统可用性。

7.空间换时间(多级缓存,静态化{客户端页面缓存,反向代理缓存,内存数据库};索引{哈希、B树、倒排、bitmap})

8.并行与分布式计算(任务切分、分而治之;多进程、多线程并行执行)

9.多维度的可用(负载均衡、容灾、备份;读写分离;依赖关系;监控)

10.伸缩(拆分;无状态)

11.优化资源利用(系统容量有限;原子操作与并发控制;基于逻辑的不同,采取不一样的策略; 容错隔离;资源释放)

posted @ 2016-09-20 10:24  多多鄙人  阅读(3895)  评论(1编辑  收藏  举报