需要均衡考虑的,一般不会每个租户都独立数据库。大用户可以独立,小用户多个共用。我们公司就是代码层面做了表内隔离,同时加分片分库。当然话说回来,要真到了百万租户的级别,公司也会分派合理数量的人手来做维护的。
配置层面上隔离,代码层面上应该做到无感知。 单独库的维护难点无外乎就是当有表结构发生变化的时候,需要批量去修改数据库而已。 但话说回来了,你都有几十万租户(假设一个租户一个库的话),连个自动化运维团队都没有?就算没有专门的运维团队,开发团队自己也应该 DevOps 啊!难道你还指望着人肉手动一个个去部署呢?
需要均衡考虑的,一般不会每个租户都独立数据库。大用户可以独立,小用户多个共用。我们公司就是代码层面做了表内隔离,同时加分片分库。当然话说回来,要真到了百万租户的级别,公司也会分派合理数量的人手来做维护的。