很多时候,我读到 NOSQL 数据库中的数据是非规范化存储的。例如,考虑一个国际象棋游戏记录。它可能不仅包含参与国际象棋游戏的玩家ID,还包含该玩家的名字和姓氏。我想这是因为在 NOSQL 中无法进行连接,所以如果您只是复制数据,您仍然可以在一次调用中检索您想要的所有数据,而无需手动应用程序级别的数据处理。
我不明白的是,现在当你想更新棋手的名字时,你必须编写一个查询来更新该棋手参与的棋局记录以及该棋手的棋手记录。这似乎是一个巨大的性能开销,因为数据库必须搜索该玩家参与的所有游戏,然后更新每条记录。
数据是否经常像我的示例中那样以非规范化方式存储?