通常,数据库服务器是我们必须购买的最大,最昂贵的盒子,因为垂直缩放是唯一的选择.是否有任何数据库可以横向扩展(即跨多个商用机器),这种方法的局限性是什么?
Oracle RAC根本不是可水平扩展的,因为所有Oracle实例共享相同的数据存储.是的,使用SAN的东西,你可以得到一个大尺寸的数据库,但它根本不可扩展.换句话说,Oracle RAC仍然是一种扩展方法.因此,对于向外扩展或水平扩展,您必须按功能对数据进行分区,这意味着将不同的表组放在不同的数据库中; 或者为每个表分区数据,这意味着将一个表分成具有相同模式但存储在不同数据库中的多个子表.通过这种方式,您可以获得横向扩展解决方案.有很多资源.在Web 2.0网站架构博客领域,Sharding一直是一个流行词.由于数据库本身不直接支持Sharding,因此您必须构建自己的解决方案.但正如我所说,已经有很多教训.对于oracle,可以使用分区表.对于mysql,请检查此问题
Oracle RAC - 真正的应用程序集群
这很好用,您只需向群集添加框.您可以从一个盒子故障转移到另一个盒子.它不是复制,所有框都是同一逻辑单元的一部分.
当然,这非常花钱.