Amazon dynamodb 使用DynamoDB并进行非规范化,试图从关系数据转换为NoSql心态

Amazon dynamodb 使用DynamoDB并进行非规范化,试图从关系数据转换为NoSql心态,amazon-dynamodb,Amazon Dynamodb,在使用DynamoDB和反规范化以尝试从关系数据转换为NoSql思维模式时 我想了解在特定情况下的非规范化方法。一旦这对我来说有意义,我确信知识的闸门将会打开 让我们假设我有一个歌曲数据库(RDMS),我有流派。 我可能会这样做 一般 |generaId | generaTitle| |5| Rock & Roll| |6| Hip Hop| 歌曲 我将连接这些表以获得generaTitle,并且只需更新一条记录,就可以轻松地更新generals标题 更新generas set gen

在使用DynamoDB和反规范化以尝试从关系数据转换为NoSql思维模式时

我想了解在特定情况下的非规范化方法。一旦这对我来说有意义,我确信知识的闸门将会打开

让我们假设我有一个歌曲数据库(RDMS),我有流派。 我可能会这样做

一般

|generaId | generaTitle|
|5| Rock & Roll|
|6| Hip Hop|
歌曲

我将连接这些表以获得generaTitle,并且只需更新一条记录,就可以轻松地更新generals标题

更新generas set generaTitle='Rock n Roll',其中generaId=5

在DynamoDB中

titleid  '65as56ldjalskd23131sdad'
title: Great Balls of Fire
genre: Rock & Roll
所以,假设我现在有100000首摇滚歌曲。我不需要执行大规模的100000条记录更新来改变这一点吗

-或-

有编程关系这样我就可以这样做是正常的吗

titleid  '65as56ldjalskd23131sdad'
title: Great Balls of Fire
genre: 5
在应用程序级别,我知道5=Rock&Roll来自前面的查询,并将其缓存

我可以从查询的角度考虑二级索引和全局二级索引

似乎还需要某种程度的关系。我可以接受“摇滚乐”反复出现10万次,但我不能接受更新10万条记录以将摇滚乐改为摇滚乐的想法

似乎每一次谈话和出版物都围绕这一点展开,我认为这可能是我们RDMS人员面临的最大问题之一。也许只有我

现在,如果有人对我说,“在NoSQL中没有数据库级关系,但如果不假设您有用于应用程序级关系的表,这是非常正常的”,我的整个世界都会改变


如果不是这样,有人能告诉我这一点吗。

你多久会把“Rock&Roll”改成Rock N Roll?nosql并不是什么神奇的东西,你会存储所有你需要的东西,这样你的GET就快了,但是如果你的模型中你做的太频繁了,您可能需要采取不同的方法,例如单独存储过于频繁的更改内容,但如果您最终将其应用到另一个极端,它将成为类似sql的操作,但缺点是您的db不支持这些本地连接,您的应用程序将不得不承担开销。@JsFlipper您已经看过了吗?您多久会将“Rock&Roll”更改为Rock N Roll?nosql不是魔术,您存储所有您需要的内容,以便快速获取,但如果在您的模型中执行太频繁的看跌期权,您可能需要采取不同的方法,例如单独存储太频繁更改的内容,但是,如果您最终将其扩展到另一个极端,它将成为一个类似sql的操作,但缺点是您的db不支持这些本地连接,您的应用程序将不得不承担开销。@JsFlipper您看过这个吗?
titleid  '65as56ldjalskd23131sdad'
title: Great Balls of Fire
genre: 5