【发布时间】:2021-03-30 01:22:36
【问题描述】:
我正在尝试设计一个键值数据库。要了解我正在尝试构建一个示例博客应用程序。 我正在根据 id 存储创建的帖子
key : postid
value : post
现在我需要将 cmets 添加到这些帖子中,我基本上希望能够检索特定帖子的所有 cmets。我可以想到两种方法来做到这一点。
-
创建评论 ID
键:comment_id, 价值:评论
遍历所有 cmets 并在需要的地方返回 postid == comment.postid(comment 会有一个名为 postid 的字段)
- 创建 postid_commentid 形式的键。
遍历键,使用分隔符将键分成两部分并匹配类似 key[0]==postid 的内容
-
哪个效率更高?
-
哪一个更具可扩展性?我正在设计这个练习 ,最后我可能也想向外扩展。
-
还有其他我没有想到的方法吗?
【问题讨论】:
-
您使用什么语言?哪个图书馆?
-
顺便提个很好的问题。您在第二种解决方案中处于良好的轨道上,但您需要
search或search_near基本上将光标跳转到可以帮助您“扫描”仅相关键的位置。和 SQL 一样,全表扫描也不好。
标签: database-design nosql leveldb