前端操作数据库的思考 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
TomVista

前端操作数据库的思考

  •  
  •   TomVista Sep 23, 2020 1905 views
    This topic created in 2043 days ago, the information mentioned may be changed or developed.
    一个前端操作后端持久化数据的接口 

    相比如今基本被广泛接受和应用的后端新秀"微服务",这个理念已经有超过 20 年的沉淀,然后仍然没有被广泛应用和接受,目前只活跃在特定业务和特定技术人群.

    一些产品示例:

    • OLE DB for OLAP
    • MDX ( Multi-Dimensional Express 多维表达式)
    • Cognos
    • 其他 OLAP
    • 一些报表引擎
    • APIJSON
    • hasura

    提前点出恰饭和屁股问题

    • 前端用这个会加大工作量,提升心智负担,技术型偏向全栈。
    • 后端 curd 仔被消灭掉
    • curd 确实可以被大限度的替代,节省成本

    软件工程角度

    • 维护难度,会随着代码量和业务复杂度的增加,指数级上升
    • 重构难度,不能重构,只能重写
    • 性能,千万级表的 join,有没有索引都会出问题,依托于这种服务的数据库,出了性能问题就没法解决,加钱,加机器也不行
    • 所有的数据聚合,业务处理,权限管理都依托于这个基础服务,可以暴露给前端,给以最大的灵活性,然而,事实是不存在一个通用的满足前端任何条件组合的高性能数据处理方式,把这些东西交给前端崽崽,真实太理想化了,同样一旦有超于框架的需求,没有任何方法解决,比如 APIJSON 不支持事务,没有锁.
    • 我们暂且推翻上一条,确实有这么一个完美的数据操作服务,然后业务也不复杂特殊,数据量也不大.那么,一个前端崽崽,要掌握什么样的技能能够完成软件开发?调个 api 就能增删查改,就能加权限,就能聚合 /校验数据? destroyEarth()就可以毁灭世界吗?最终,所有的后端内容都押到前端,然后,后端逐渐退出市场。这样做,除了减少前后端沟通,有其他优势吗?相比比于单人全栈,我没有想到任何优势。

    最后

    其实市场需要的不是 http 操作后端持久化数据,而是降低开发成本,解决前后端矛盾。http 操作后端持久化数据 现如今只不过是特定业务,特定场景的特殊需求,或者小打小闹,特定人群的自嗨,恰饭工具罢了。

    写这个的原因,是因为有人杠在 业务不复杂,数据不够大,开发水平一般的开发场景,一个这样的服务完全可以支撑起来全部开发,一个初级前端就够了。简直又坏,又蠢。

    以上,请大家只考虑技术可行性.

    6 replies    2020-09-25 09:27:20 +08:00
    saltbo
        1
    saltbo  
       Sep 23, 2020
    你是说 firebase 和腾讯云开发这种东西么

    我还是比较认同你的想法呢 不可能完全让前端来搞,但是可以大大减少后端的工作量,未来后端不需要写 CURD 。

    我有计划想写一个可以自建的腾讯云开发,但是它应该是一个框架,少量的后端开发来维护他,来对接前端
    TomVista
        2
    TomVista  
    OP
       Sep 23, 2020
    @saltbo 是的,就是这类东西.

    你说的这两个属于特殊业务,特殊场景,我反对的是通用型的接口.
    saltbo
        3
    saltbo  
       Sep 23, 2020
    是的 不可能一刀切
    agagega
        4
    agagega  
       Sep 24, 2020
    PostGREST ?
    594duck
        5
    594duck  
       Sep 25, 2020
    "CRUD 仔"

    现在的小年轻已经对工种的歧视到了可以随意表达了?真是历害啊,希望有一天你也被世界如此恶意表达,并悻然接受。
    TomVista
        6
    TomVista  
    OP
       Sep 25, 2020
    @594duck

    你这样说话,就已经立于不败之地了,
    你想想,我该怎么和你解释我没有歧视呢?
    没办法解释,

    你想想
    "你这样的人总喜欢指指点点,有没有什么实质性的理论和实践,总是站在道德高地上,说盐吃多了."
    你怎么解释?
    About     Help     Advertise     Blog     API     FAQ     Solana     5620 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 08:05 PVG 16:05 LAX 01:05 JFK 04:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86