回答
在我的公司,我们在Postgres数据库中使用JSONB
,因为需要存储不适合传统关系模型的动态列数据,因为列的数量会一直增加,或者我们必须有无意义的列和根据其他一些列来指定这些含义,这些列可以确定在我看来称为天堂宽恕的行值。
我发现这种方法也比典型的Entity-attribute-value模型更好,用于执行查找和通常理解数据。过去我一直在使用EAV模型的分析师也分享了这一观点。
我们的数据中很大一部分都适用于关系模式设计,并且由于需要NoSQL方法,实际上它不是大多数数据(也不是完全无模式表),我们决定使用Postgres来代替将事情复杂化并将小部分数据移到不同的(例如:文档)数据库中。
由于9.2发生了很大变化,Postgres为json和jsonb列中的优化搜索提供了很好的支持。
您可以在以下情况下使用JSON,
*您有很深的架构层次
*在存储图像,音频和视频文件的情况下
*特别是在与NoSQL的工作
*如果您使用的关系结构,你可以使用RDBMS
将图像存储为JSON是一种**真的**不好的选择 –
我将JSON存储在数据库中的唯一原因是历史列表。比方说,几个用户都有一个JSON形式的好友列表,并且每次为每个用户更改好友列表时都会记录下来。
当存在动态密钥的机会时使用JSON。
例如:您的商品页面有4列 - sr, name, age, amount
。假设这个页面上有一个多列排序功能,并且用户想要保存他的自定义顺序。在这种情况下,我可以轻松地将json作为sr => DESC, age => ASC
存储在相关表的sort_order字段中。
- 1. 为什么进入PHPdebugger?
- 2. 为什么不使用JSON进行SOAP?
- 3. 为什么DISTINCT必须先进入MySQL?
- 4. 为什么它进入无限循环
- 5. 为什么PHP不能进入localstorage?
- 6. 为什么require.js进入head标签
- 7. 为什么我不进入gotStream函数?
- 8. 为什么控制进入IF?
- 9. 为什么DOM进入图片?
- 10. 为什么当througth域类和DB
- 11. 为什么在DB API中调用Cursors?
- 12. PetaPoco为什么从db返回。插入一个ID为7的ID字段作为十进制
- 13. 什么进入()捕获?
- 14. 什么呢在进入
- 15. MySQL与JSON - 为什么?
- 16. 为什么Json无效? (ios)
- 17. 为什么JSON很重要?
- 18. 什么是cert8.db和key3.db文件?
- 19. NoSql DB和OO Db有什么区别?
- 20. 为什么我可以mov进入eax,进入ax,但不进入al,甚至可能进入ah?
- 21. 当我尝试耙db时,为什么会出现JSON错误:迁移?
- 22. 春季如何插入原始JSON直接进入蒙戈DB没有解析
- 23. 为什么用户输入不会进入数据库?
- 24. 为什么不能我得到的JSON对象进行URL的
- 25. 为什么要对Json对象进行爆炸序列化?
- 26. 什么是Adobe Experience Manager DB
- 27. 为什么JSON请求返回为XML?
- 28. JSON对象显示为空。为什么?
- 29. 为什么我不能访问为json
- 30. 进入JSON目录?
我想你应该问公司他们为什么要这样做。 – dasblinkenlight
http://blog.2ndquadrant.com/postgresql-anti-patterns-unnecessary-jsonhstore-dynamic-columns/ –