0

到目前为止,我的“数据库服务器”一直很高兴成为一台 PC。

不幸的是,负载变得太多了,所以看起来我需要“分发”数据库。

这究竟意味着什么?如何将我的数据库分布在多个服务器上?我是否需要一个用户查询并以某种方式将负载分配给“真实”数据库服务器的中间服务器?

这对数据库写入和数据库读取有何作用?

任何初学者 101 网站或书籍?

4

2 回答 2

1

单个数据库的瓶颈究竟是什么。是吗

  • 读取性能
  • 写入性能

高流量网站使用的方法很少。

  • 使用主/从模型。添加一台或多台服务器并将它们作为主数据库的从属服务器。所有写入都将在您的 master 上执行。可以从任何从站执行读取。这可能是最简单的方法。

  • 分片。不需要连接的实体可以移动到不同的数据库服务器。每个分片又可以有自己的主从服务器。

    http://www.codefutures.com/database-sharding/

  • 集群——Oracle RAC、Mysql NDB 可以提供集群,其中一组服务器作为一个单元。

    http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html

于 2011-02-15T09:03:36.610 回答
1

如果您使用的是 MySQL,您可以查看 MySQL Proxy,它处理跨多个服务器的循环和负载平衡。许多其他 RDBMS 也具有此功能。

另一种分散负载的方法是“分片”你的数据库,或者换句话说,在多个系统中创建记录,并有一种方法来区分/定位从哪个系统检索它们。这是一种常见的做法。

对于 MySQL 服务器,请查看 O'reily 的“高性能 MySQL”

于 2011-02-15T06:51:36.993 回答