当前位置: 首页 > 知识库问答 >
问题:

照片一样,评论NOSql数据库设计

穆承运
2023-03-14

我正在尝试在DynamoDB中实现像Instagram和Facebook这样的点赞和评论系统

我有3个表,user,photo和photo_likes

用户表和照片表具有user_id和photo_id键。

| photo_id | liked_by |
|     1    |  {10,35} |
| photo_id | user_id  |
|     1    |    10    |
|     1    |    35    |

共有1个答案

林博厚
2023-03-14

我将提供上述方法的优点和缺点。您可能需要根据应用程序所需的查询访问模式选择正确的方法。

方法1:

| photo_id | liked_by |
|     1    |  {10,35} |

优点和建议:-

    null
    null
| photo_id | user_id  |
|     1    |    10    |
|     1    |    35    |

您可以将photo_id定义为分区键,将user_id定义为排序键。

优点:-

  • 如果需要,可以在user_id上创建索引
  • 可以按user_id(如果定义为排序键)对数据排序
  • 无需担心400 KB项目大小
    null
 类似资料:
  • 本文向大家介绍NoSQL数据库,包括了NoSQL数据库的使用技巧和注意事项,需要的朋友参考一下 这些用于大型分布式数据集。关系数据库可以有效地处理一些大数据性能问题,而NoSQL数据库可以轻松解决此类问题。在分析可能存储在云的多个虚拟服务器上的大型非结构化数据时,非常有效。

  • 问题内容: 我有桌子: 而且我需要实现“用户评论”功能(例如Facebook)。我应该以1:n关系制作table:等等吗?还是为所有人创建一张桌子(但我不知道该如何设计)? 问题答案: 您可以创建另一个表(尽管称其更好)。表中的每一行(,等等)都将引用此表中的唯一行。实体表可能具有指示实体类型的字段(以帮助反向连接)。 然后,您可以有一个以通用方式引用的表。 因此,例如,您将得到下表: 您可以在每

  • 我试图为自己创建一个使用DynamoDB的简单应用程序。我从未在高级级别上使用过非关系型数据库,只是在这里和那里存储一个值。 该应用程序是一个记录器。我将记录一些东西,迪纳摩将记录日期并计算一天。 例如,一个用户今天记录多件事情,它只会说今天的日期和记录的时间:5 然后,我可以进行查询,以获取过去一周/一天/一个月内所有logged_times的总和。 我的问题是如何构造一个NoSQL数据库来完成

  • 本文向大家介绍初识NoSQL NoSql数据库入门 NoSql数据库基础知识,包括了初识NoSQL NoSql数据库入门 NoSql数据库基础知识的使用技巧和注意事项,需要的朋友参考一下 做了一年的大一年度项目了,对于关系型数据库结构还是有些了解了,有的时候还是觉得这种二维表不是很顺手。在看过一篇文章之后,对NoSQL有了初步的了解,(https://keen.io/blog/5395834921

  • 打开已群发文章评论 $app->comment->open($msgId, $index = null); 关闭已群发文章评论 $app->comment->close($msgId, $index = null); 查看指定文章的评论数据 $app->comment->list(string $msgId, int $index, int $begin, int $count, int $t

  • 概述 评论消息库是用来订阅消息的开发工具包,为开发者提供简单易用的接口,可以很方便地接收和发送消息信息。 阅读对象 本文档面向所有使用该 SDK 的开发人员、测试人员以及对此感兴趣的用户,要求开发者对消息的基本功能有一定的解。 开发准备 设备和系统版本 ios8.0 及以上 iphone5 及以上 安装包说明 lib:消息 SDK 开发包,包含播放器 framework 文件,需要在您的工程中进行