Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 用户积分累积网站的最佳NoSQL数据库结构_Amazon Web Services_Nosql_Amazon Dynamodb_Backend - Fatal编程技术网

Amazon web services 用户积分累积网站的最佳NoSQL数据库结构

Amazon web services 用户积分累积网站的最佳NoSQL数据库结构,amazon-web-services,nosql,amazon-dynamodb,backend,Amazon Web Services,Nosql,Amazon Dynamodb,Backend,我已经做了很多关系数据库,但对NoSQL概念来说是全新的 我目前正在建立一个网站来整合各种视频游戏的高分,每个用户每天都可以提交一个新的分数。我还想保留用户提交的过去分数的历史记录 在经典关系数据库中,我可能有3个表(用户、游戏、高分),但不知道如何在NoSQL中执行类似的操作 作为参考,我打算使用DynamoDB 据我所知,仅仅使用一个大用户表就可以实现这一点吗?在游戏基础上为每个用户存储高分?这看起来将是巨大的。但我的问题是,如果我只需要查询一个游戏列表,这看起来效率非常低。我当然需要学习更

我已经做了很多关系数据库,但对NoSQL概念来说是全新的

我目前正在建立一个网站来整合各种视频游戏的高分,每个用户每天都可以提交一个新的分数。我还想保留用户提交的过去分数的历史记录

在经典关系数据库中,我可能有3个表(用户、游戏、高分),但不知道如何在NoSQL中执行类似的操作

作为参考,我打算使用DynamoDB


据我所知,仅仅使用一个大用户表就可以实现这一点吗?在游戏基础上为每个用户存储高分?这看起来将是巨大的。但我的问题是,如果我只需要查询一个游戏列表,这看起来效率非常低。我当然需要学习更多,但如果有人能给我指出正确的方向,那就太好了!谢谢你

不,你不能那样使用NoSQL数据库。非规范化的工作方式与NoSQL相同。NoSQL保留了表和约束之间的关系,但可以水平扩展。NoSQL可能是无模式的

若您想使用DynamoDB,您必须了解表的用法,因为您无法执行任何查询。您只能对分区和排序键进行查询,并对筛选结果进行完整表扫描(这非常昂贵)。您还可以使用DynamoDB streams针对表更新执行任何业务逻辑

DynamoDB提供了许多不同的特性,但其中大多数不是您的情况

你看过这篇AWS的文章吗?