💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

2月份PGSQLPhriday的主题是关系型和非关系型数据。我有点困惑,为什么“如何定义非关系型数据?”是最后一个问题。只有在清楚地定义你所谈论的内容之后,才有意义回答前三个问题,因此这是我要解决的第一个问题。我们有一个正式的非关系型数据(或关系型)的定义吗?如果你想不出来,原因很简单:“关系”是模型的特征,而不是数据。因此,我们唯一能给出的定义是“你无法使用关系模型表示的数据”。但是,在关系模型的定义中,有什么限制它只能表示某些类型的数据吗?答案是否定的,因此最好的解释“非关系型

🎯

关键要点

  • 2月份PGSQLPhriday的主题是关系型和非关系型数据。
  • 最后一个问题是如何定义非关系型数据,这让我感到困惑,因为在回答前面的问题之前需要先明确定义。
  • 非关系型数据的正式定义是“无法使用关系模型表示的数据”。
  • 关系模型没有限制只能表示某些类型的数据,因此非关系型数据可以理解为“无法从关系数据库中受益的数据”。
  • 文档、图像和其他大对象通常被视为非关系型数据。
  • 如果不需要在文档中进行全文搜索,就没有必要将这些文档存储在数据库中,只需存储指向实际文档位置的指针即可。
  • 当需要进行全文搜索时,PostgreSQL的全文搜索能力可能不是市场上最好的工具,需谨慎评估其必要性。
  • 在许多情况下,所需的搜索只涉及有限的字段/表,可以转化为动态构建的查询,支持b-tree索引。
  • 如果确实需要实现全文搜索,作者对使用外部工具(如Elastic search)的经验不佳,认为PostgreSQL更具优势。
  • 作者计划在后续文章中讨论使用JSON/JSONB的话题。
🏷️

标签

➡️

继续阅读