1.早期数据库架构

只有一个MySQL实例,能应对较小并发量。
clipboard.png

2.(Memcached+MySQL+垂直拆分)常用

增添缓存(减少了对数据库的IO操作)和多个mysql实例,提高了并发量和访问速度。
clipboard.png

3.主从复制(主库的记录备份到从库中),读写分离(读、写数据库不是同一个)

clipboard.png

4.分表分库+水平拆分+MySQL集群(MyISAM表锁->Innodb行锁)

clipboard.png

5.Mysql在拓展性上有一定的瓶颈,对于大文本字段很难实现快速恢复。

6.今天的架构

Nginx+Tomcat+cached+MySQL集群
clipboard.png

7.对于复杂的社交网络

传统的关系型数据库mysql已经不再适合,而对于用户数据的挖掘发面,NoSQLl(Not Only SQL非关系型数据库)的性能和效果更佳,它无需固定的模式,横向拓展容易。