比方说,我需要设计一个数据库,它将托管多个公司的数据。现在,出于安全和管理的目的,我需要确保不同公司的数据被适当隔离,但我也不想启动10个mysql进程来托管10个不同服务器上的10个公司的数据。用mysql数据库做这件事的最佳方法是什么?
发布于 2011-04-07 05:38:21
多租户数据库有几种方法。对于讨论,它们通常分为三类。
MSDN有一篇关于pros and cons of each design和examples of implementations的好文章。
微软显然已经删除了我提到的页面,但它们在archive.org上。链接已更改为指向那里。
发布于 2018-08-24 00:55:00
在MySQL中,我更喜欢为所有租户使用一个数据库。我通过对每个租户使用单独的数据库用户来限制对数据的访问,每个租户只能访问只显示属于该租户的行的视图。
这可以通过以下方式完成:
将application
我已经在一篇博客文章中完整地记录了这一点:https://opensource.io/it/mysql-multi-tenant/
发布于 2011-11-12 08:53:28
简单的方法是:对于每个共享表,添加一个列SEGMENT_ID。为每个客户分配适当的SEGMENT_ID。然后在SEGMENT_ID上为每个客户群创建视图,这些视图将保持与每个客户的数据分离。通过这种方法,可以共享信息,使操作和开发(存储过程也可以共享)变得简单。
https://stackoverflow.com/questions/5570102
复制相似问题