我有一个数据库设计问题,让我的大脑感到不安。
项目是什么?
我正在设计一个平台,让不同的人注册一个群组,每个群组都可以注册自己的成员,重要的是让这些群组彼此远离,因为每个人都是自己的,每个群组都可以访问 65 个或更多每个表中可能有 1000 行数据的表,在它们自己的数据库中,每个数据库都是空主数据库的副本。
我被困在哪里。
我不知道这是否明智,因为我最终可能会拥有 1,000 - 30,000 个数据库。我需要创建一个具有唯一名称的数据库(上面的场景)或创建一个具有唯一环境变量的数据库,其中每个组都有自己的环境变量。
事情变得混乱的地方。
将每个组分配给一个唯一的数据库可以让我保持简单,让我可以相对容易地访问组内的所有数据(相对于在一个数据库中搜索 1000 个组数据)。一个简单但不太重要但仍然相关的例子。每个组都可以创建自己的发票之类的东西,因此如果所有组都有唯一的数据库,那么发票编号将在逻辑上遵循(用户视角),但如果所有组都在同一个数据库中,发票编号将不会在逻辑上遵循(用户视角)。
那么问题
我是否应该或者是否明智地创建多个数据库以保持我的系统高效,请记住,没有必要从一个组跨越到另一个组。