1.拆表:大表拆小表(垂直拆,水平拆;分表,分区partition,分片sharding),能够在应用层实现,也能够在数据库层面实现一部分;提升系统性能。mysql
2.分库:把表放到不一样的数据库,这也是分布式数据库的基础;提升系统性能。
3.分布式:不一样的数据库放到不一样的服务器;提升系统性能。
4.集群:使用数据库复制等技术组建集群,实现读写分离、备份等;提升系统性能、可用性。
5.缓存:对经常使用的数据进行缓存。提升系统性能。
6.备份:主从库,快照,热备,异地备份等;提升系统可用性
架构:LVS+keepalived+Java/PHP/Python+mysql/mongodb+memcached/redis+centos+nginx/apache+sphinx/solr+Gearman+Munin+TFSnginx
并发中数据一致性问题
1,使用队列
2,必要的自动复查
3,数据库锁的合理利用redis