Answers:
我自己还没有尝试过,但是周围还有其他人尝试过。 在这里,您可以看到即使有10,000个数据库在单个实例上运行也没有问题。您甚至还可以在ServerFault上找到一些实用的方面。
由于数据库非常小,因此不会遇到主机操作系统的任何文件数量限制。我能想到的唯一问题是,当同时访问所有这些数据库时,处理所有这些连接将很棘手。
并且,最后一点:非常欢迎您访问本网站。希望您能在我们身边待很长时间。
从管理的角度来看,这听起来很麻烦。您打算如何计划备份那么多数据库?用一个虽然每个都循环的脚本?
除非您有充分的理由,否则为什么不只拥有一个设计结构的数据库,以便所有数据都可以链接回客户ID。根据此字段添加索引/外键/主键,以确保数据完整性。
然后,您只需要在所有查询中使用where子句即可访问一个客户ID。这将易于维护,并且易于开发(无论哪种情况,您都需要允许客户标识)
search_path
它可以帮您实现。
有人这样做,尤其是对于共享服务器托管。
思考这里的问题,没有免费的午餐。您可能可以通过应用程序透明的方式对架构进行操作。但是,随后您将获得成千上万的模式和成千上万的表,这将带来其他问题。
我认为总的来说,鉴于您的意见,多数据库方法是最明智的。
管理(如备份)将变得有趣。我也认为在某些时候与数据库的连接将开始花费更长的时间。如果您正在使用pg_hba.conf来限制访问(您应该这样做),那也将变得很头疼,您可能想要构建一个解决方案来为您生成该文件...
我希望可以更好地阅读此链接:Jon Jensen,2008年,PostgreSQL集群上的10,000个数据库。
一个摘录:
简短的答案:Postgres 8.1可以处理10,000个数据库。
\l
在psql中,当然会生成一长串数据库,但返回速度很快。临时并发测试很好。在精心挑选的各种播放数据库组上运行查询,插入等工作正常,包括在创建新数据库时。[...]
此[ Linux ext3 ]平台的实际限制可能是31995个数据库,因为每个数据库都占据了data / base /目录中的一个子目录,而ext3文件系统每个目录中有31998个子目录,这是因为每个目录中有32000个链接索引节点。