gpt4 book ai didi

database-design - 如何为多个域设计数据库?

转载 作者:行者123 更新时间:2023-12-04 07:01:15 25 4
gpt4 key购买 nike

如果我有两个或多个域和一个数据库,如何设计数据库和组织数据?所有用于电子商务目的的网站和一种商品可以在每个网站上出售。所以我只有两个想法:

  1. 我需要在几乎每个表和重复数据中再创建一个字段 (site_id)。
  2. 我需要创建一个表,其中包含其他表中所有其他字段的 site_id 信息。

这两种想法都有很大的缺点。有任何想法吗?谢谢。

最佳答案

这是构建 Multi-Tenancy 系统时的经典问题。关于这件事,我听到了一些不同的意见,但基本上分为两个阵营:

  1. 在每个包含特定租户数据的表上使用租户 ID(在您的情况下为 site_id)。这种方法的倡导者将轻松识别数据所属的租户作为主要好处,并影响数据的归档方式(即不同客户的不同表空间)。

  2. 仅在高级表上使用租户 ID。这种方法的提倡者通常描述了更简洁的数据库结构的好处。

我不喜欢为来自不同客户的相同类型的数据创建不同的物理表。这会带来一些不利的后果:

  • 很难通过 ORM 工具创建连贯的对象模型
  • 这种方法不适用于大量客户 -- 如果您有 70,000 名客户必须通过一个数据库提供服务,那么您将拥有 70,000 组表。
  • 必须为 SQL 语句动态生成表名。

关于database-design - 如何为多个域设计数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1015379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com