注意:我没有实施这个想法的意图,这只是一个思维实验。
假设我通过 Web 界面提供了多个服务。其中至少有两个需要用户注册和一些数据库中的数据。单个注册将授予对所有服务的访问权限。就像 Google(GMail、Google 文档等)。
所有这些与注册用户相关的服务是否都位于单个数据库中,也许使用表前缀来区分不同的服务?
还是每个服务都有自己的数据库?我唯一能看到的好处是它可以使表名更清晰。但任何时候需要进行任何用户交互,都需要与至少两个不同的数据库进行交互,这会不必要地复杂化 SQL 查询。
这是否表明“大公司”只使用一个数据库,并将其加载到许多不同(也许完全不相关)的表中?