最近做一个项目,有一个权限管理模块。 因为数据库用的是 MYSQL,所以本人建议基于 RBAC 做一个功能比较完善的权限管理系统以绝后患。 这个系统最基础结构就是 User-Role-Permission 中间用关系表连接的 5 表结构,不管是权限管理还是特权管理感觉都是很好很流行的方案。 结果公司里人说表太多了,把 permission 表去掉然后把特权用 JSON 数组连接放进 Role 表里这样就能省 2 个表了。
我就不理解了,现在的人是 nosql 用太多了还是怎么了,整天想着把数据放进 JSON 字段里,那还用关系型数据库干什么呢?
哪位大佬帮我分析分析利弊。
101
python 2019-07-02 20:15:24 +08:00
这是天坑。
用 JSON,看起来很美。实际上,逻辑上要自己再写一遍 MySQL 已支持的逻辑。。。 明显工作量不饱和,今晚 12 点不要走。 |
102
FrankHB 2019-07-02 20:51:27 +08:00
@turandothaha 什么乱七八糟的,你在身体力行诠释什么叫问不对题牛头不对马嘴?
KISS 是什么废话?跟这里说的东西有什么关系?要是为了特地显摆你知道 KISS 这个词的话,不如直接把 I 指派到你自己身上演示一下? |
103
panxiaohui 2019-07-02 21:07:52 +08:00
@turandothaha @FrankHB 我就纳闷了怎么就扯到了 KISS 原则,我觉得 frankhb 说的有道理啊,turandothaha 你为什么不用道理回击呢?就一直在扯你读书的事情,知道 KISS 原则又跟 frankhb 说的有什么关系呢?你根本就让别人看不出来你在说的是什么,就一个尽无脑喷,我觉得你应该 KISS 原则应该是你自己吧
|
104
turandothaha 2019-07-02 21:23:28 +08:00
|
105
xiaolanger 2019-07-03 00:10:20 +08:00
为什么非要省那两张表呢?
|
107
EPr2hh6LADQWqRVH 2019-07-03 00:37:52 +08:00
想要玩花活可以用图数据库,neo4j 之类的
关系数据库根本不够关系 |
108
reself 2019-07-03 00:39:36 +08:00 via Android
@turandothaha 喷子已 block
|
109
w3cc 2019-07-03 01:17:55 +08:00
老实说一个项目刚起来,那个顺手用那个,因为不管你觉得哪个好,用户量起来了你这些代码数据库都需要重新优化的
|
110
xytdj 2019-07-03 07:28:01 +08:00 via Android
我觉得吧,有此类想法的人,一定是缺少大型 2B 系统架构经验的人。
|
111
autogen 2019-07-03 09:17:44 +08:00
不然你 V 站主页按最近回复排序帖子怎么实现?
|
112
smartychaos 2019-07-03 09:24:14 +08:00
其实可以的,两点考虑:1 ) mysql 本身对 json 已经很好地支持了 2 )权限类数据属于读>>写的数据,写性能多数情况问题都不大,整个数据在条件允许的情况下甚至可以全部放在缓存里,数据库存储只作为持久化的手段。
|
113
luozic 2019-07-03 13:39:34 +08:00 via iPhone
管理复杂度。 难道这个权限管理模块是给非常多接口调用的?
|