gau*_*rav 30 mysql database database-design multi-tenant
让我们说我需要设计一个数据库来托管多家公司的数据.现在出于安全和管理目的,我需要确保不同公司的数据被正确隔离,但我也不想启动10个mysql进程来托管10个不同服务器上的10家公司的数据.使用mysql数据库执行此操作的最佳方法是什么?
Mik*_*ll' 32
多租户数据库有多种方法.对于讨论,它们通常分为三类.
MSDN对好文章的优点和每一个设计的利弊,以及实施方案的实例.
小智 6
在 MySQL 中,我更喜欢为所有租户使用一个数据库。我通过为每个租户使用单独的数据库用户来限制对数据的访问,该用户只能访问仅显示属于该租户的行的视图。
这可以通过以下方式完成:
我已经在博客文章中完整记录了这一点:https : //opensource.io/it/mysql-multi-tenant/
小智 5
简单的方法是:对于每个共享表,添加一个列为SEGMENT_ID的列。为每个客户分配了正确的SEGMENT_ID。然后根据SEGMENT_ID为每个客户创建视图,这些视图将使数据与每个客户分开。通过这种方法,信息可以共享,从而使操作和开发变得简单(存储过程也可以共享)。