V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Hanggi
V2EX  ›  MySQL

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

  •  1
     
  •   Hanggi · 2019-07-01 13:18:39 +08:00 · 23533 次点击
    这是一个创建于 1971 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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