到目前为止,我的“数据库服务器”一直很高兴成为一台 PC。
不幸的是,负载变得太多了,所以看起来我需要“分发”数据库。
这究竟意味着什么?如何将我的数据库分布在多个服务器上?我是否需要一个用户查询并以某种方式将负载分配给“真实”数据库服务器的中间服务器?
这对数据库写入和数据库读取有何作用?
任何初学者 101 网站或书籍?
到目前为止,我的“数据库服务器”一直很高兴成为一台 PC。
不幸的是,负载变得太多了,所以看起来我需要“分发”数据库。
这究竟意味着什么?如何将我的数据库分布在多个服务器上?我是否需要一个用户查询并以某种方式将负载分配给“真实”数据库服务器的中间服务器?
这对数据库写入和数据库读取有何作用?
任何初学者 101 网站或书籍?
单个数据库的瓶颈究竟是什么。是吗
高流量网站使用的方法很少。
使用主/从模型。添加一台或多台服务器并将它们作为主数据库的从属服务器。所有写入都将在您的 master 上执行。可以从任何从站执行读取。这可能是最简单的方法。
分片。不需要连接的实体可以移动到不同的数据库服务器。每个分片又可以有自己的主从服务器。
集群——Oracle RAC、Mysql NDB 可以提供集群,其中一组服务器作为一个单元。
http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html
如果您使用的是 MySQL,您可以查看 MySQL Proxy,它处理跨多个服务器的循环和负载平衡。许多其他 RDBMS 也具有此功能。
另一种分散负载的方法是“分片”你的数据库,或者换句话说,在多个系统中创建记录,并有一种方法来区分/定位从哪个系统检索它们。这是一种常见的做法。
对于 MySQL 服务器,请查看 O'reily 的“高性能 MySQL”