用 DynamoDB 实现多级人物关系之数据结构与建模

用 DynamoDB 实现多级人物关系之数据结构与建模

💡 原文中文,约6000字,阅读约需15分钟。
📝

内容提要

该文章介绍了客户使用亚马逊云科技的DynamoDB构建人物关系的业务场景和实现方法,包括游戏推荐和广告投递。通过设计和实现一级好友关系建模,利用DynamoDB的主键和属性以及访问模式设计,实现了快速的数据查询和修改。文章还提供了使用API进行数据操作的示例代码。

🎯

关键要点

  • 客户在亚马逊云科技上部署业务,面向2C和2B客户,期望建立用户关系用于游戏推荐和广告投递。
  • DynamoDB因其可扩展性和无服务器特性被选为数据库,能够处理TB级以上的数据而不降低性能。
  • 项目主要基于人物关系,DynamoDB作为下游数据库,支持实时在线查询1-2级人物关系。
  • ER建模设计包括用户表、关系表、关系类型表和用户等级表。
  • DynamoDB建模将多个实体和属性整合到一张表中,使用基表和索引设计。
  • DynamoDB主键包括分区键和排序键,设计时需考虑数据分布和查询效率。
  • 访问模式设计包括创建、过滤查找、更新和删除关系的API操作。
  • 推荐使用NoSQL Workbench进行数据建模,支持可视化创建和导入导出模型。
  • DynamoDB提供三种主要API查询方式:单个项目查询、检索API和扫描API。
  • 通过示例代码展示如何创建、查找、更新和删除用户关系。
  • 总结强调DynamoDB的毫秒级响应速度,适合对响应速度有要求的客户。
➡️

继续阅读