为什么Json进入db?

时间:2016-09-17 08:39:40

标签: sql json postgresql

为什么今天有些公司正在使用这种方法将json对象保存到数据库而不是在其中创建新表和存储数据?

有什么真正的优势?

4 个答案:

答案 0 :(得分:1)

在我公司,我们在Postgres数据库中使用JSONB,因为需要存储不适合传统关系模型的动态列数据,因为列数会一直增长,或者我们必须有列没有意义,并根据一些其他列来指定那些意义,这些列可以识别行值,在我看来,这些行称为天堂的宽恕。

我发现这种方法也比典型的Entity-attribute-value模型更好地执行查找并且通常理解数据。我公司的分析师也赞同这种观点,他们过去也一直在使用EAV模型。

我们的数据中有更大比例适合关系模式设计,因为需要NoSQL方法实际上并不是大多数数据(也不是完全无模式的表),我们决定坚持使用Postgres而不是使事情复杂化并将一小部分数据移动到不同的(例如:文档)数据库。

自9.2以来已经发生了很多变化,Postgres为json和jsonb列中的优化搜索提供了很好的支持。

答案 1 :(得分:0)


如果是,您可以使用JSON *您有深层架构层次结构 *存储图像,音频和视频文件的情况下 *特别是在使用NoSQL时 *如果您使用的是关系结构,则可以使用RDBMS

答案 2 :(得分:0)

我将JSON存储在数据库中的唯一原因是历史列表。假设有几个用户都有一个JSON形式的好友列表,每次为每个用户更新好友列表的记录都会很好。

答案 3 :(得分:0)

当有可能存在动态密钥时使用JSON。

例如:您有一个包含4列的列表页面 - sr, name, age, amount。假设此页面上存在多列排序功能,用户希望保存其自定义订单。在这种情况下,我可以在相关表格的sort_order字段中轻松地将json存储为sr => DESC, age => ASC

在大型系统中,向表中添加新字段需要停机时间,或者在添加字段时基本上会锁定表。在这些情况下,我们可以将新密钥添加到json字段而不是新列。