具有共享数据和动态表的多租户应用程序

时间:2015-07-03 15:04:56

标签: mysql database-design database-schema multi-tenant entity-attribute-value

我想创建一个多租户应用,但我从未使用过多租户应用。 我会为用户和一些数据创建一个数据库全局数据库,如zipcodes,国家,... 每个租户都有自己的数据库,因此他们可以将数据存储在自己的服务器上。 现在我有两个问题:

  1. 如果我连接到用户数据库,我需要访问共享 (全球数据),例如邮政编码 - 这可能吗?
  2. 我会创造 动态表单,因此用户有表格和表格 字段和数据表。这种方法的优点是每个 用户可以修改他的表格,但这是一个好习惯吗?
  3. 通常你有固定的表模式,如:customers(id,name,...),address等等。 有什么好主意吗? 希望有人知道我的意思,可以帮助我:)。

    由于 问候 亚历

1 个答案:

答案 0 :(得分:1)

mysql“数据库”不是真正的数据库 - 它们只是一个数据库中的模式。

您可以在模式之间进行查询,也可以在模式之间使用外键。只需使用完全限定名称:schema_name.table_name

动态表格(EAV)几乎总是一个坏主意。首先使用existing data model patterns。如果你真的必须使用用户定义的字段,那么请关注Martin Fowler的advice