最近做的搜索引擎的数据量是越来越大估计了下在中国可能涉及到的1Kw的数据量,ssc平台搭建(企 娥:217 1793 408)就全球来说也就是1K亿而已,最初是用的数据库是MySQL现在来说要做些优化,最终使用的两个方案很好用的。
1.读写分离;
2.纵向横向拆分库、表。
MySQL的基本功能中包括replication(复制)功能。所谓replication,就是确定master以及与之同步的slave服务器,再加上slave将master中写入的内容polling过来更新自身内容的功能。这样slave就是master的replica(复制品)。这样就可以准备多台内容相同的服务器。
通过master和salve的replication,准备好多台服务器之后,让应用程序服务器通过负载均衡器去处理查询slave。这样就能将查询分散到多台服务器上。
应用程序实现上应该只把select等读取之类的查询发送给负载均衡器,而更新应当直接发送给master。要是在slave上执行更新操作,slave和master的内容就无法同步。MySQL会检测到master和slave之间内容差异,并停止replication,这回导致系统故障。Slave可以采用LVS(linux系统自带的负载均衡器)实现查询的负载均衡。
原文地址:http://blog.51cto.com/13889080/2150578
时间: 2024-10-08 09:39:18