现在有一批用户设计的数据, 最后前端会用 json 的数据封装, 之前的设计都是直接把这个寸数据库, 导致现在那张表越来越大, text 类型过多会导致臃肿, 那这些数据是要怎么设计处理比较合理呢? 放 redis? 如果数据量一大好像也吃内存什么吧; 还是转对象单独存一张表, 但问题现在的设计数据有好多种类型, 并不一致;
大家有遇到这种的经验吗? 或者让你设计会怎么设计
现在有一批用户设计的数据, 最后前端会用 json 的数据封装, 之前的设计都是直接把这个寸数据库, 导致现在那张表越来越大, text 类型过多会导致臃肿, 那这些数据是要怎么设计处理比较合理呢? 放 redis? 如果数据量一大好像也吃内存什么吧; 还是转对象单独存一张表, 但问题现在的设计数据有好多种类型, 并不一致;
大家有遇到这种的经验吗? 或者让你设计会怎么设计
|
1
其实就是数据库大文本, 过多会拖慢数据库, 这样要怎么处理, 放 redis 吗, 还是怎么弄
|
|
2
放数据库的话可以考虑 postgresql,支持 json 类型,json 索引,函数。
不过还是建议你们在设计端考虑考虑吧,用 json 存储对象优点偷懒 |
|
3
mysql5.7 原生支持 json,是不是底层对这种情况做了优化?
|
|
4
mongodb 冗余大数据你值得拥有
|
|
5
能问这种问题的,一般 mongodb 能管饱。
如果 mongodb 不管饱,那么你对你的问题就问得更加有针对性了。 |
|
6
mongodb
|
|
7
不是 mongodb 么
|
|
8
「用户设计的数据」不需要查找、过滤嘛?如果不需要,感觉可以纵向拆表,把常用的数据与这些数据分开
|
|
9
这个 json 需要查询么?怎么听起来这个 json 只是当成 text 使用呢?
|
|
11
@maemual 现在的确就是当成一个 text 来用, 但表空间增长得恐怖, 现在一个表 250G 了, 但这些数据其实不是查询相关, 感觉不应该直接放数据库的样子
|
|
13
是经常需要读的数据吗?还是需要修改的数据?
|
|
ray1888Feb 27, 2018 via Android
16
250g 的话,感觉 mongo 可能会坑,感觉可以试试 tidb(他们好像挺标榜性能的,看他们的宣传)或者 hbase 感觉也可以
|
|
th00000Feb 27, 2018
17
最近接触了 dynamodb 对 json 的支持比较好 , 不负责任的回答
|
|
wweirFeb 27, 2018 via Android
18
表过大影响速度了吗?
没影响的话,直接对表分区好了 |
|
CoderGeekFeb 27, 2018 via iPhone
19
数据量太大了 redis 不太合适 小的直接存 json str 到可以
|
|
CoderGeekFeb 27, 2018 via iPhone
20
或者 mysql5.7 可以存 json 支持查询
|
|
qiayueFeb 27, 2018
21
最简单改动最小的就是还用 MySQL,增加一个 json 表(可以单表也可以拆分),这个表存 json 字符串,然后原先的表只存这个表的 ID。用的时候再去 json 表取,再配合一定的缓存( Memcached 或者 Redis ),速度飞快。
|
|
prolicFeb 27, 2018 via Android
22
看起来像类似用户词典之类的东西,还是存成静态文件,拿 key 取比较合适
|
|
pathboxFeb 27, 2018 via iPhone
23
pg 欢迎你,MySQL 其实也没问题
|
|
wizardforcelFeb 27, 2018
24
mongodb
无论是 redis 还是关系型数据库,都需要整个拿出来再解码才能查询里面的一个属性,开销太大,mongo 就不用。 |
|
puritaniaFeb 27, 2018
25
将大字段从表中拆出去,单独建库,做好分表策略使得单表数据量足以满足查询速度,可以考虑用 redis 缓存数据,每个 key 设置较短的超时时间,每次 get key 时重置超时时间,让热数据一直在 cache 中,冷数据及时过期。
|
|
xpresslinkFeb 27, 2018
26
建议用 postgres 9.5+版,已对 json 和 jsonb 支持相对比较完善了,至少没有其它数据库比得上。存取速度和 mongodb 不相上下,所以直接用 pg 吧。250G 对于 pg 来说只是毛毛雨。
|
|
beginorFeb 27, 2018 via Android
27
用 pg 吧,妥妥的
|
|
0915240Feb 28, 2018
28
是单表 250G ???
|
|
killpandaFeb 28, 2018 via iPhone
29
感觉这种场景可能是设计问题
|
|
ZzdeFeb 28, 2018 via iPhone
30
前段提交的数据不需要过滤拆分吗?需要时候在重新组合返回不行吗?
|
|
changrui0608Feb 28, 2018
31
NoSQL 用 MongoDB,RDMS 用 PostgreSQL,这俩对 JSON 的直接支持已经有较久的历史了,速度都很快,最近 MySQL 不太了解
印象里 redis 这种大多是拿来存逻辑上可以非持久化的数据的,比如配置、session、数据库查询结果缓存之类的 |
|
iceiceiceFeb 28, 2018
32
我猜你需要 mongodb 真的适合你
|