最近我想将一些社交图信息存储到我们的数据库中,并且用户通过在具有社交图的服务器端发生的自动“映射”来发现新的社交节点。
背景: 每次有新客户访问时,我都会从其他来源存储他/她现有的社交节点,一个很好的例子是 Facebook。所以我有一个 Facebook 好友列表以及该客户的 Facebook ID,并将它们存储在我的数据库中。然后,服务器尝试将客户端好友列表中的每个项目与现有客户端进行匹配。如果匹配,则表示该客户有朋友使用我的服务。然后服务器返回一个匹配列表并在边缘的另一侧标记匹配。下次客户的朋友回来时,他们也会收到匹配完成的通知。
障碍: 我的问题是这种机制需要服务器存储客户社交图的完整列表,在我的示例中,这是客户的 Facebook 朋友的完整列表。由于这个社交图可以任意大,我当然不能将它存储到一个项目中,而是将它跨越多个项目或行,并使用客户 ID 和朋友 ID 对。如果我以这种方式存储它,那么密钥可能分布不均,这意味着我无法使用 DynamoDB。但是,我想探索将其存储在某些 AWS NoSQL 服务中以获得快速访问优势的可能性。
那么有没有很好的方法将这些数据存储在 AWS NoSQL 服务器中?或者我们可以做哪些优化来将它们放入 RDS 但不会损失太多效率?