很多时候,我看到NOSQL数据库中的数据是被存储在非规范化的状态下。例如,考虑一个国际象棋比赛记录。它可能不仅包含参与国际象棋比赛的玩家ID,还包括玩家的名字和姓氏。我猜这样做是因为在NOSQL中无法进行连接操作,所以如果只是复制数据,则可以在一次调用中检索所有所需数据,而无需手动应用程序级别处理数据。
但是,我不理解的是,现在当您想要更新国际象棋选手的姓名时,您将不得不编写一个查询,该查询既要更新该选手参与的所有国际象棋比赛记录,又要更新该选手的个人记录。这似乎会造成巨大的性能开销,因为数据库将不得不搜索该选手参与的所有比赛,并更新每条记录。
像我的例子一样,数据通常存储在非规范化的状态下吗?