现在搞开发为什么还要用关系型数据库?

2019-07-01 13:18:39 +08:00
 Hanggi

最近做一个项目,有一个权限管理模块。 因为数据库用的是 MYSQL,所以本人建议基于 RBAC 做一个功能比较完善的权限管理系统以绝后患。 这个系统最基础结构就是 User-Role-Permission 中间用关系表连接的 5 表结构,不管是权限管理还是特权管理感觉都是很好很流行的方案。 结果公司里人说表太多了,把 permission 表去掉然后把特权用 JSON 数组连接放进 Role 表里这样就能省 2 个表了。

我就不理解了,现在的人是 nosql 用太多了还是怎么了,整天想着把数据放进 JSON 字段里,那还用关系型数据库干什么呢?

哪位大佬帮我分析分析利弊。

23621 次点击
所在节点    MySQL
113 条回复
python
2019-07-02 20:15:24 +08:00
这是天坑。
用 JSON,看起来很美。实际上,逻辑上要自己再写一遍 MySQL 已支持的逻辑。。。
明显工作量不饱和,今晚 12 点不要走。
FrankHB
2019-07-02 20:51:27 +08:00
@turandothaha 什么乱七八糟的,你在身体力行诠释什么叫问不对题牛头不对马嘴?
KISS 是什么废话?跟这里说的东西有什么关系?要是为了特地显摆你知道 KISS 这个词的话,不如直接把 I 指派到你自己身上演示一下?
panxiaohui
2019-07-02 21:07:52 +08:00
@turandothaha @FrankHB 我就纳闷了怎么就扯到了 KISS 原则,我觉得 frankhb 说的有道理啊,turandothaha 你为什么不用道理回击呢?就一直在扯你读书的事情,知道 KISS 原则又跟 frankhb 说的有什么关系呢?你根本就让别人看不出来你在说的是什么,就一个尽无脑喷,我觉得你应该 KISS 原则应该是你自己吧
turandothaha
2019-07-02 21:23:28 +08:00
@FrankHB
我原以为你只是表达能力不行,话说不利索,现在看起来理解能力也不怎么的。
不用纠缠,就当互相 block 了。
xiaolanger
2019-07-03 00:10:20 +08:00
为什么非要省那两张表呢?
realpg
2019-07-03 00:34:59 +08:00
@encro #82
数据量大索引不好设计
数据量小无所谓
EPr2hh6LADQWqRVH
2019-07-03 00:37:52 +08:00
想要玩花活可以用图数据库,neo4j 之类的
关系数据库根本不够关系
reself
2019-07-03 00:39:36 +08:00
@turandothaha 喷子已 block
w3cc
2019-07-03 01:17:55 +08:00
老实说一个项目刚起来,那个顺手用那个,因为不管你觉得哪个好,用户量起来了你这些代码数据库都需要重新优化的
xytdj
2019-07-03 07:28:01 +08:00
我觉得吧,有此类想法的人,一定是缺少大型 2B 系统架构经验的人。
autogen
2019-07-03 09:17:44 +08:00
不然你 V 站主页按最近回复排序帖子怎么实现?
smartychaos
2019-07-03 09:24:14 +08:00
其实可以的,两点考虑:1 ) mysql 本身对 json 已经很好地支持了 2 )权限类数据属于读>>写的数据,写性能多数情况问题都不大,整个数据在条件允许的情况下甚至可以全部放在缓存里,数据库存储只作为持久化的手段。
luozic
2019-07-03 13:39:34 +08:00
管理复杂度。 难道这个权限管理模块是给非常多接口调用的?

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

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

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

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

© 2021 V2EX