gpt4 book ai didi

amazon-web-services - 在 AWS DynamoDB 上存储聊天记录?

转载 作者:行者123 更新时间:2023-12-04 18:01:07 27 4
gpt4 key购买 nike

我正在考虑使用 AWS DynamoDB 构建一个聊天应用程序。该应用程序将支持 1:1 和群聊。

我想为每个聊天创建一个表,其中每个发送的聊天文本行都有一条记录。 DynamoDB 适合这种工作吗?

我也在考虑合并两个表。但这是一个好主意吗?假设有 10 万或 100 万用户?

最佳答案

我认为您可能会遇到 table 上的读取容量问题。写入容量应该没问题,因为每秒传入的消息不多(例如 10 条左右),但您需要不断地为所有用户读取它,所以这会很昂贵。

如果您希望将 DynamoDB 用作存储和分发聊天消息,就像在网络上的任何普通聊天中一样,那么它可能有意义,具体取决于您的用例。假设您有散列键 UserId 和 Timestamp,您可以查询特定时间段内来自特定用户的所有消息。但是,如果您想要在聊天文本中搜索(这可能是一个更有用的功能),那么 DynamoDB 本身将无法工作。它不像 SQL,您可以在 SQL 中执行 LIKE '%abc%' 查询(这在 SQL 中也不是一个好主意)。

也许您最好使用 S3 作为数据存储,使用 ElasticSearch 作为搜索工具。如果您需要上述用例“在时间跨度 S 中获取来自用户 X 的所有消息”(作为一个简单示例),您还可以使用 DynamoDB 来存储元数据,例如 UserId、Timestamp、PositionInFile 或类似的东西。

关于amazon-web-services - 在 AWS DynamoDB 上存储聊天记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com