Php 用于SQL Server群集和高并发性的MySQL或PostegreSQL?

Php 用于SQL Server群集和高并发性的MySQL或PostegreSQL?,php,mysql,postgresql,Php,Mysql,Postgresql,不久前,我创建了一个具有非常高并发性的REST服务 即使在SQL查询优化之后(这给了我更大的思考时间),我也开始担心该服务的MySQL DB服务器 服务: 多个Apache服务器,用于负载平衡,位于NGINX反向代理之后,用于处理高并发性 PHP操作码缓存和Memcached数据缓存 一台MySQL DB服务器,在64位操作系统上具有InnoDB表架构 SQL查询是存储过程 在相对较短的时间内,我可能面临的问题是: MySQL DB服务器达到了数TB数据的存储限制 MySQL DB服务器达

不久前,我创建了一个具有非常高并发性的REST服务

即使在SQL查询优化之后(这给了我更大的思考时间),我也开始担心该服务的MySQL DB服务器

服务:

  • 多个Apache服务器,用于负载平衡,位于NGINX反向代理之后,用于处理高并发性
  • PHP操作码缓存和Memcached数据缓存
  • 一台MySQL DB服务器,在64位操作系统上具有InnoDB表架构
  • SQL查询是存储过程
在相对较短的时间内,我可能面临的问题是:

  • MySQL DB服务器达到了数TB数据的存储限制
  • MySQL DB服务器达到了专用CPU/RAM/TCP的最大并发查询数
我发现并正在考虑的解决方案:

  • MySQL集群,但看起来不支持完整性(FK?)
  • 用于负载平衡的多个复制MySQL服务器(缺点:存储过多)
  • 切分(缺点:在这一点上,对于我来说,当我需要一个解决方案的时候,它看起来非常复杂)
  • 切换到PostegreSQL并对此特定SQL服务器进行更多调查
对于卸载MySQL服务器,您的最佳建议是什么?如果我什么都不做,它最终会崩溃


提前谢谢

您可以考虑的另一个解决方案

您可以使用池服务,这是一些具有最高需求优先级的查询。在本例中,在stackoverflow中,大多数想要使用API的人都会询问最新的问题。因此,第一个人会问一些最新的问题,他们可以从数据库中得到这些问题。但是,只要是高优先级查询,它就会被添加到池中,因此任何需要它的人都可以直接从池中检索它,而不会花费太多时间从服务器请求它

关于池实现,这是另一个需要讨论的标准

另一个有待解决的问题是: 如果您有一个非常大规模的数据集群,并且select语句大量增加,那么您可以使用hadoop中的hdfs,并在任意多的服务器上应用hadoop。Facebook、linkedIn和yahoo都使用这种方法。

多少是“非常高的并发性”?