我试图选择适合我用例的数据库。 以下是我试图存储在数据库中的简单示例:
让我们说,我们有'用户'和'团体'。每个用户都可以成为任意数量的组的一部分。组中也有层次结构,即..每个组可以有多个子组。(子组可以再次拥有grandChildren等等)。
要求:
如果我们采用RDBMS方法,我们将拥有A User表,A Group Table和用户组映射关系表以及parentGroup-childGroup映射。 我将能够使用事务/锁等处理所有需求。
但是, - 用户数量将达到数百万,每个用户数量达到 平均是一百个组的一部分和组的高度 层次结构树非常少(< 20),因此关系表是 会变得非常大。 - 存储在用户表中的数据是非结构化的。
据我所知,
NoSQL数据库可以轻松处理这种规模并且很好用 非结构化数据,但他们没有提供我需要的ACID功能和SQL 数据库不适合处理大量数据。
我不需要任何复杂的图遍历查询,我希望上面提到的那个。 我只需要简单的查询,例如获取A组中的所有用户,获取A用户的所有组等等。但这些查询应该很快。
那么,这个用例的正确数据库是什么?