gpt4 book ai didi

database-design - 您如何处理 NoSQL 数据库中的关系?

转载 作者:行者123 更新时间:2023-12-04 02:28:34 25 4
gpt4 key购买 nike

使用标准的 RDMS,我可以使用主键和外键找到关系。如果我想要最近的评论,那么我只需按日期时间订购。如果我想要用户的所有评论,那么我会获取评论属于该用户的位置。

换句话说,我可以使用索引来过滤结果。不仅仅是主键。

但是,对于文档和键值 NoSQL,我无法弄清楚除了文本转储之外,我还能如何使用它们。您唯一能做的就是通过 ID 获取值。

我需要一些示例来说明当您无法再使用索引或过滤器时如何在 NoSQL 中对数据进行建模。您如何排序和搜索数据?

最佳答案

如果您需要像您描述的那样的二级索引,那么您不能只使用任何非关系数据库。像 Cassandra(可能还有其他)这样的 BigTable 数据库允许使用二级索引。

如果您需要根据值在键值存储中搜索内容,那么您需要发挥创意。你可以:
1) 创建您自己的指向原始键的键,然后在原始对的新插入、更新和删除时维护这些对。
2)只需查看每个值,蛮力,离线,每天一次并将答案保存在某处。显然,如果您立即需要新数据,这将不起作用。

如果您使用技术 (1) 和 Redis,则可能需要在应用程序层或使用自定义排序集对数据进行排序。

关于database-design - 您如何处理 NoSQL 数据库中的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995265/

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