首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按行业或应用程序功能分离模式?

按行业或应用程序功能分离模式?
EN

Database Administration用户
提问于 2012-01-08 08:48:33
回答 1查看 1.2K关注 0票数 3

我目前有一个小型零售/点销售和一个教育应用程序运行作为前提定制解决方案,为不同的客户。我正计划将应用程序和主机重写为基于SaaS/web的应用程序。

我可能会使用Postgresql,我会选择一个DB和共享模式。(数据量很低,而mo则是。并发用户最多可达400个)。

零售应用程序的地址是账单、库存等(后台/迷你-ERP)。该教育应用程序涵盖学生注册、管理和学生展望等(主要是前端-学生管理、知识管理、引线、一些市场营销等)。

最初的想法是有一个公共模式(包含地址、联系人和其他公共表对象),并为零售和教育制定特定的模式。即工业垂直-wise。当我在不同业务中添加比现有客户更多的客户时,我最终会添加额外的模式。这可能是一种方法。

或者我在想,我是否应该为ERP类型的功能、类似CRM的功能等选择一个公共模式和单独的模式,这样模式将是横向的,即基于功能而不是基于工业。明天,我可以添加一个化学零售或医疗联系管理客户端或一个餐馆客户端,他们需要计费,并且可以轻松地将它们安装到现有的数据模型中,并且可以处理应用程序代码的变化,而不是为每个业务行创建新的模式。

从长远来看,哪一种方法会更好?

编辑:还是我不应该麻烦和坚持公共模式,并处理代码的变化?或者,是否有任何令人信服的理由采取上述办法或任何其他更好的办法比这更好?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-01-08 11:52:07

我知道您希望使用单个数据库(因为从管理和维护的角度来看,它是好的),但是它可能是太多的集成。

我假设:

  • 每个行业都有不同的申请,
  • 它们没有太多的共同点(它们确实涵盖了不同的业务方面)

我认为,在这种情况下,一个可以接受的解决办法是:

  • 为每个行业建立一个单独的数据库
  • 在每个数据库中,共享数据的单一共享公共模式,包括通用字典,所有与客户无关的数据.
  • 为每个客户提供一个单独的数据库用户帐户+私有模式。您可以使用表继承的postgres特性来符合某些公共表。

西蒙在他的评论中提到的问题真的很重要。因此,您必须对数据库中的赠款执行非常严格的策略。

在PostgreSQL中,可以实现(以及在许多其他关系数据库管理系统中)。实现多租户解决方案的关键是智能地使用模式、角色、search_path设置。见http://www.postgresql.org/docs/current/static/ddl-schemas.html。实际上,我提出的建议将在某种程度上仿效Oracle的做法。如果你需要帮助的细节,请问。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/10357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档