我见过SaaS应用程序以多种方式托管.跨多个数据库拆分功能和模块是一个好主意吗?例如,将User表放在一个DB上,将功能/ app特定表放在另一个DB上,也可能放在另一个DB中的其他常用表上?
解决方法
从一个数据库开始.在项目需要时拆分数据/功能.
以下是我们可以从LinkedIn学到的东西:
>单个数据库不起作用
>参照完整性是不可能的
>任何数据丢失都是一个问题
>即使适度有效,缓存仍然很好
>永远不要低估增长轨迹
资源:
LinkedIn architecture
LinkedIn communication architecture