dynamoDB 是如何存储数据的?
How does dynamo DB stores data?
由于 Dynamodb 以键值对的形式存储数据,其中 key 是主键的类型,value 是与 it.I 关联的数据想知道 dynamo db 是否真正理解 value(json)?按值我的意思是 json 对象与一个键(RDBMS 中的一行)相关联。dynamo db 是否理解有一些属性以及它要存储的属性的一些值?
上下文:我在 dynamo 数据库中有一个人 table 具有不同的属性,比如说 100,其中之一是年龄,现在假设有一些要求我想根据年龄获取一些记录.如果 dynamo db 一个一个地访问每个条目然后读取它的记录并假设每个记录都非常大,那么 dynamo db 是读取整个记录数据还是可以在恒定时间内仅访问 age 属性而不考虑记录的大小?
你不能那样做。始终检索整个项目,这就是您支付的费用。你可以做什么:
- 使用 GSI,仅指定您需要的属性,这样您将只需为这些属性付费
- 使用 ProjectionExpression,它将 return 仅指定来自数据库的属性,因此您的网络使用量会较小。但它是在实际从数据库读取之后应用的。所以您仍然需要为检索整个项目付费
Does dynamo db understands that there are some attributes and there are some value of attributes that it is gonna store?
不,不是。
DynamoDB 是一种“宽列”风格的 NoSQL 数据库。虽然架构在 table 构建时未定义为主键之外的内容,但查询能力仅限于主键或二级索引。创建全局二级索引允许您查询其他属性值。也可以查询本地二级索引,但它们有点奇怪。请参阅 here 以更好地比较两种二级索引类型。
如果您的需求确实包括在属性内部查询,请查看一些“面向文档”风格的 NoSQL 数据库,其中 MongoDB is the one most people think of. If you're already embedded in the AWS ecosystem and don't want to break out of it, AWS offers DocumentDB 作为由 AWS 管理的 MongoDB 兼容服务.
宽列和文档式数据存储各有优缺点。一般而言,宽列方法更适合以一致的成本和速度实现极高的可扩展性,而面向文档的方法随着数据访问模式的发展而提供更大的灵活性。选择最适合您的需求。
由于 Dynamodb 以键值对的形式存储数据,其中 key 是主键的类型,value 是与 it.I 关联的数据想知道 dynamo db 是否真正理解 value(json)?按值我的意思是 json 对象与一个键(RDBMS 中的一行)相关联。dynamo db 是否理解有一些属性以及它要存储的属性的一些值?
上下文:我在 dynamo 数据库中有一个人 table 具有不同的属性,比如说 100,其中之一是年龄,现在假设有一些要求我想根据年龄获取一些记录.如果 dynamo db 一个一个地访问每个条目然后读取它的记录并假设每个记录都非常大,那么 dynamo db 是读取整个记录数据还是可以在恒定时间内仅访问 age 属性而不考虑记录的大小?
你不能那样做。始终检索整个项目,这就是您支付的费用。你可以做什么:
- 使用 GSI,仅指定您需要的属性,这样您将只需为这些属性付费
- 使用 ProjectionExpression,它将 return 仅指定来自数据库的属性,因此您的网络使用量会较小。但它是在实际从数据库读取之后应用的。所以您仍然需要为检索整个项目付费
Does dynamo db understands that there are some attributes and there are some value of attributes that it is gonna store?
不,不是。
DynamoDB 是一种“宽列”风格的 NoSQL 数据库。虽然架构在 table 构建时未定义为主键之外的内容,但查询能力仅限于主键或二级索引。创建全局二级索引允许您查询其他属性值。也可以查询本地二级索引,但它们有点奇怪。请参阅 here 以更好地比较两种二级索引类型。
如果您的需求确实包括在属性内部查询,请查看一些“面向文档”风格的 NoSQL 数据库,其中 MongoDB is the one most people think of. If you're already embedded in the AWS ecosystem and don't want to break out of it, AWS offers DocumentDB 作为由 AWS 管理的 MongoDB 兼容服务.
宽列和文档式数据存储各有优缺点。一般而言,宽列方法更适合以一致的成本和速度实现极高的可扩展性,而面向文档的方法随着数据访问模式的发展而提供更大的灵活性。选择最适合您的需求。