💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

本月PGSQL Phriday的主题是非关系数据,由Rustproof Labs的优秀Ryan Lambert提出。我最初以为这可能是另一个我几乎无法贡献的主题...但是后来我想起我们现在在Postgres中存储了一些大块!为了发布查询计划,我们考虑了各种选择,但最终选择了根据我们的基础设施最合理的地方——Google Cloud中的一个存储桶。最近,当我们添加了保存计划的功能时,我们有一组不同的要求,这次我们选择将计划保存在数据库中。尽管这可能违背了标准建议,但我们仍然选择了这样做,因为它具有趣味性。本文介绍了在完美的条件下,将大块文本存储在Postgres中可以起到很好的作用。

🎯

关键要点

  • 本月PGSQL Phriday的主题是非关系数据,由Rustproof Labs的Ryan Lambert提出。

  • 在2021年5月,我们添加了发布查询计划的功能,需要一种服务器端存储方式,最终选择了Google Cloud中的一个存储桶。

  • 最近,我们添加了保存计划的功能,选择将计划保存在数据库中,这可能违背了标准建议,但具有趣味性。

  • 保存的计划旨在让用户选择某些计划以长期保留,或从多个浏览器访问,而无需公开发布。

  • 我们决定将计划存储在数据库中,原因包括减少服务组件、客户熟悉Postgres、数据库资源充足以及对隐私和安全的考虑。

  • 尽管我们没有预期会有很多使用,但自发布该功能以来,保存的计划不到1%。

  • 存储大计划时,Postgres的TOAST功能可以自动将大块内容移出行外,性能表现良好。

  • 在存储计划时,我们提取并存储了一些元数据,以帮助用户在历史标签中识别计划。

  • 虽然大多数情况下不建议在Postgres中存储大块文本,但在完美条件下,这样做是可行的。

🏷️

标签

➡️

继续阅读