我想为客户提供SQL共享主机。
理想情况下,我想:
你推荐什么引擎,PostgreSQL或MySQL? 为什么?
我知道PostgreSQL在服务器崩溃或失败的情况下有更好的支持,但是它没有提供像1)这样的东西(因为任何人都可以看到pg_database)。 我不知道MySQL是否支持2),但它在CPanel中以某种方式完成,所以它必须是可能的,如果PostgreSQL支持,我是无能为力…
如果您的用户将要共享一个数据库服务器实例 ,我不确定是否可以阻止他们看到服务器上的数据库。 (mysql有“显示数据库”)。 如果这是您的一个关键function,您可能需要考虑为每个客户提供一个服务器实例。 这使您可以调整其应用程序的服务器实例(caching大小,sorting大小,这种types的东西)。
注:这将要求他们要么使用您分配的特定端口,要么可以分配他们的IP地址使用。 (如果您使用rfc 1918 ip地址(“私有”ip地址),您几乎可以不受限制地使用这些地址,只要这些服务器正在被您的数据中心的机器访问,就可以正常工作。
另一个select是使用虚拟服务器,如xen或vmware。 这将使您更好地控制每个客户的操作系统configuration,并保护他们免受贪婪的用户(如果你configuration你的Xen主机有合理的限制)饿死资源。
我认为虚拟主机解决scheme可以满足您的所有需求,即使超出了您的问题的具体范围。 海事组织,这是实现你的目标最简单和最快的方式。
至于我推荐的引擎是什么:Postgresql,整天都是。 但是,您需要提供您的客户想要的东西。 嗯,如果你使用虚拟机,你可以同时提供!