在RDBMS中将数据存储为JSON有什么优点和缺点?

时间:2019-05-02 06:09:18

标签: json database postgresql hibernate jpa

我有一个数据库表(在Postgresql中),其中有一个列作为JSON,其中存储了一堆键值对。一位朋友查看了我的架构,建议我将这些键值对存储在单独的表中,而不是将其存储为JSON对象,尤其是在将来我想执行搜索操作时。

我使用JSON是因为JSON对象中的键值对会随时间变化。键值对的数量以及键值对本身。

他的建议主要基于两个事实。

  1. 我确实有计划对我当前存储的JSON对象中的至少一个字段执行搜索。
  2. 我希望使架构尽可能通用,以便我在考虑数据库迁移时有尽可能多的选择,而对后端代码的更改却很少,这是使用JPA Hibernate的Java li>

我同意我的朋友。但是在进行更改之前,我想充分了解在关系数据库管理系统中使用JSON的优缺点。欢迎提供一般答案以及适合我特定用例的答案。

1 个答案:

答案 0 :(得分:1)

您可以在以下链接中找到一些答案。希望对您有帮助。

Storing JSON in database vs. having a new column for each key