【发布时间】:2013-11-15 07:35:55
【问题描述】:
目前我正在开发一个用户可以属于一个组的项目,并且多个用户可能属于同一个组。用户可以随时退出组,并且可以以相同的方式命名多个组。我面临的问题是跟踪组的唯一性。例如,如果两个组以相同的方式命名,如果没有 id 的概念,我如何区分两者。
我的意思的例子:
{userName: 'user1', group: 'test' },
{userName: 'user2', group: 'test' },
{userName: 'user3, group: 'test' }
我怎么知道所有三个“测试”组都指的是同一个组。在 sql 中,这很容易通过唯一的 Id 解决。在这种情况下,识别组似乎要困难得多。这些数据似乎更相关,也许我还是坚持使用 sql 数据库更好?
【问题讨论】:
-
您使用 nosql 数据库而不是 rdbms 的原因是什么?
-
在许多情况下,数据库架构非常简单,因此使用轻量级 NoSQL DB 比使用仅占 10-15% 的庞大 Oracle 更容易。此外,在大多数情况下,NoSQL DB 的扩展比 RDBMS 更容易。
-
我认为该评论有点煽动性的“可怕的预言”。从他的问题来看,他似乎是在将关系数据库模型强制到 sql 上,大多数时候你最好使用 RDBMS。当他在讨论对他的数据建模时,说缩放更容易并不是一个真正有效的评论。
-
很可能只有几个层次的连通性。在这种情况下,以我在下面列出的方式非常简单地允许关系问题。鉴于 NoSQL DB 的性能往往比 RDBMS 更高,支持关系型自己动手并不是那么大的代价。 NoSQL 并不意味着“没有关系”。几乎没有不连接的数据。只是实体之间的关系不是通常格式的行和列。
-
95% 的时间,RDBMS 数据库的性能都足够了,数据建模在 SQL 中要容易得多,并且已经存在了几十年。发帖人没有询问可扩展性,而是询问了数据建模。
标签: nosql