V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
TomVista
V2EX  ›  分享发现

前端操作数据库的思考

  •  
  •   TomVista · 2020-09-23 14:30:12 +08:00 · 1222 次点击
    这是一个创建于 480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个前端操作后端持久化数据的接口
    

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

    一些产品示例:

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

    提前点出恰饭和屁股问题

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

    软件工程角度

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

    最后

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

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

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

    6 条回复    2020-09-25 09:27:20 +08:00
    saltbo
        1
    saltbo  
       2020-09-23 14:54:16 +08:00
    你是说 firebase 和腾讯云开发这种东西么

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

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

    你说的这两个属于特殊业务,特殊场景,我反对的是通用型的接口.
    saltbo
        3
    saltbo  
       2020-09-23 16:25:55 +08:00
    是的 不可能一刀切
    agagega
        4
    agagega  
       2020-09-24 21:30:00 +08:00
    PostGREST ?
    594duck
        5
    594duck  
       2020-09-25 07:32:48 +08:00
    "CRUD 仔"

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

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

    你想想
    "你这样的人总喜欢指指点点,有没有什么实质性的理论和实践,总是站在道德高地上,说盐吃多了."
    你怎么解释?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1044 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:04 · PVG 03:04 · LAX 11:04 · JFK 14:04
    ♥ Do have faith in what you're doing.