开发者社区> 问答> 正文

为具有多个页面标签的注释部分创建数据库

我很难为这种用例选择正确的数据库(SQL,NoSQL),即使它很常见。

这是主要记录-

页面: 包含许多字段(将来可能会更改和更新)。 已连接到标签列表(最多可包含50个标签)。 连接到评论部分。

页面记录将通过使用标签来查询。

通常,读取更为重要(因此写入可能会更昂贵),并且可用性应较高。

不选择mongodb样式DB的原因是由于注释部分,因为没有联接,因此注释部分必须嵌入页面中,并且文档大小可能会太大。 另外,MongoDB不太依赖可用性(使用CAP),并且可用性对我很重要。

不选择SQL的原因是因为Page的方案可以更新,并且没有固定的方案。 同样由于标签系统的原因,应该创建另一个关系表,据我了解,这对性能不利。

最好的方法是什么?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 11:47:32 421 0
1 条回答
写回答
取消 提交回答
  • 看一下Postgres,您可以充分利用两者。

    Postgres支持jsonb,它允许对jsonb数据类型建立索引,因此您可以通过标签高效地执行您的搜索,或者将它们保留为数组数据类型。

    如果您担心注释的嵌入,请链接到另一个表并从一流公民的联接中受益。

    在给定用例的情况下,您可以有一个包含主要,知名列和一些指向Authors等的外键,作为数组或jsonb列的标签,jsonb中的某些页面属性以及您的注释在单独的带有外部表的注释表中的Pages表用户和页面的关键。

    Mongodb和Postgres都是不错的选择。

    附注:我在Mongodb上构建的功能远不止Postgres,但在最近对一个新项目进行评估之后,Postgres给我留下了深刻的印象。

    2019-11-18 13:02:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载