关于Multitenant数据库模型的每个教程都告诉您将TenantID放在每个表格中:
zoos ------- id zoo_name tenant_id animals ------- id zoo_id animal_name tenant_id
但是,这对我来说似乎是多余的.为什么不将tenant_id列添加到动物园表中,并利用动物园和动物之间的外键关系?
您是否为每个表添加tenant_id,以防止连接变得太疯狂?这是防虫虫的保障?表现考虑?
解决方法
如果我在层次结构的顶部(即动物园级别)有tenantID,您需要考虑几个问题.
>层次结构的顶部永远不会改变,例如,如果您需要在动物园级别上方的树上添加一个节点(例如,区域 – > zoos – >动物),那么它将每次强制重新组织.>对于某些疑问,您将被迫从层次结构的顶部开始,即给我列出的所有可用动物将强制您从树顶部开始>为什么不使用模式?每个租户都在自己的模式中被隔离.这也将很好地分离数据集.