json 数据的存储, 是放在 redis 还是数据库

2018-02-27 17:20:09 +08:00
 hyhcoder

现在有一批用户设计的数据, 最后前端会用 json 的数据封装, 之前的设计都是直接把这个寸数据库, 导致现在那张表越来越大, text 类型过多会导致臃肿, 那这些数据是要怎么设计处理比较合理呢? 放 redis? 如果数据量一大好像也吃内存什么吧; 还是转对象单独存一张表, 但问题现在的设计数据有好多种类型, 并不一致;

大家有遇到这种的经验吗? 或者让你设计会怎么设计

2873 次点击
所在节点    数据库
32 条回复
hyhcoder
2018-02-27 17:22:49 +08:00
其实就是数据库大文本, 过多会拖慢数据库, 这样要怎么处理, 放 redis 吗, 还是怎么弄
cstj0505
2018-02-27 17:23:55 +08:00
放数据库的话可以考虑 postgresql,支持 json 类型,json 索引,函数。

不过还是建议你们在设计端考虑考虑吧,用 json 存储对象优点偷懒
jjianwen68
2018-02-27 17:24:55 +08:00
mysql5.7 原生支持 json,是不是底层对这种情况做了优化?
lizhenda
2018-02-27 17:26:56 +08:00
mongodb 冗余大数据你值得拥有
est
2018-02-27 17:29:58 +08:00
能问这种问题的,一般 mongodb 能管饱。

如果 mongodb 不管饱,那么你对你的问题就问得更加有针对性了。
Immortal
2018-02-27 17:31:28 +08:00
mongodb
solee
2018-02-27 17:56:16 +08:00
不是 mongodb 么
lcj2class
2018-02-27 17:56:55 +08:00
「用户设计的数据」不需要查找、过滤嘛?如果不需要,感觉可以纵向拆表,把常用的数据与这些数据分开
maemual
2018-02-27 17:57:27 +08:00
这个 json 需要查询么?怎么听起来这个 json 只是当成 text 使用呢?
hyhcoder
2018-02-27 17:58:57 +08:00
@lcj2class 基本不需要查询, 可以说直接取出前端用即可
hyhcoder
2018-02-27 18:00:37 +08:00
@maemual 现在的确就是当成一个 text 来用, 但表空间增长得恐怖, 现在一个表 250G 了, 但这些数据其实不是查询相关, 感觉不应该直接放数据库的样子
hyhcoder
2018-02-27 18:01:24 +08:00
@lcj2class 其实就还是存数据库, 就单表单字段关联这样吧
ray1888
2018-02-27 18:04:34 +08:00
是经常需要读的数据吗?还是需要修改的数据?
swulling
2018-02-27 18:07:01 +08:00
@hyhcoder 如果是 11 楼的需求,mongodb 很符合。

redis 显然不符合。。250G
hyhcoder
2018-02-27 18:08:03 +08:00
@ray1888 会经常读, 也会修改更新
ray1888
2018-02-27 18:37:18 +08:00
250g 的话,感觉 mongo 可能会坑,感觉可以试试 tidb(他们好像挺标榜性能的,看他们的宣传)或者 hbase 感觉也可以
th00000
2018-02-27 19:23:39 +08:00
最近接触了 dynamodb 对 json 的支持比较好 , 不负责任的回答
wweir
2018-02-27 19:29:45 +08:00
表过大影响速度了吗?
没影响的话,直接对表分区好了
CoderGeek
2018-02-27 19:32:46 +08:00
数据量太大了 redis 不太合适 小的直接存 json str 到可以
CoderGeek
2018-02-27 19:33:10 +08:00
或者 mysql5.7 可以存 json 支持查询

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/433210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX