Postgresql:最好使用多个数据库,每个有1个模式,或者1个数据库有
this comment到我的问题之一,我想如果它是更好地使用1数据库与X架构,反之亦然。
我的情况:我正在开发一个网络应用程序,当人们注册,我创建(实际上)一个数据库(不,它不是一个社交网络:每个人都必须访问自己的数据,从来没有看到其他用户的数据)。 这是我用于我的应用程序的上一个版本(仍然运行在mysql上)的方式:通过plesk api,对于每个注册,我做: >创建具有有限权限的数据库用户; 现在,我需要做同样的postgresql(项目越来越成熟,mysql ..不能满足所有的需求) 我需要使所有的数据库/模式备份是独立的:pg_dump在两种方式下工作完美,对于可以配置为只访问1个模式或1个数据库的用户来说,这是完全相同的。 所以,假设你比我更经验的potsgres用户,你认为是什么是我的情况的最佳解决方案,为什么? 使用$ x db而不是$ x模式会有性能差异吗? 编辑:我几乎忘了:所有的数据库/模式将总是有相同的结构! 编辑2:对于备份问题(使用pg_dump),也许更好的使用1 db和许多模式,一次转储所有模式:恢复将是相当简单的加载主转储在一个dev机器,然后转储和恢复只需要模式:有1个额外的步骤,但是倾销所有的模式看起来更快,然后逐个转储它们。 p.s:对不起,如果我忘了一些’W’字符在文本中,我的键盘遭受该按钮; 2012年更新 嗯,应用程序的结构和设计在过去两年里改变了很多dirung。 Db myapp_01 _ my_customer_foo_schema _ my_customer_bar_schema Db myapp_02 _ my_customer_foo_schema _ my_customer_bar_schema 对于备份,我定期转储每个数据库,然后在dev服务器上移动备份。 我也使用PITR / WAL备份,但正如我之前说,它不可能,我会一次恢复所有的数据库所以它可能会被驳回今年(在我的情况不是最好的方法)。 从现在起,即使应用程序结构完全改变,1-db-many-schema方法对我也很有效:
…现在,每个模式都有自己的结构,改变对用户数据流的dinamycally反应。
PostgreSQL“模式”与MySQL“数据库”大致相同。在PostgreSQL安装上有很多数据库可能会有问题;有很多模式将无故障工作。所以你肯定希望在数据库中使用一个数据库和多个模式。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |