V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
U87
V2EX  ›  程序员

应用层资源和数据库层资源谁更珍贵的讨论

  •  
  •   U87 · 16 天前 · 808 次点击

    之前在 v 站其实刷到过不少讨论的,包括很多互联网公司特别用 java 的,微服务不允许连接查询和子查询,需要数据展示的全部在应用层做(内存中操作),也有很多反驳的说 mysql 现在优化的很好,可以联合查询和子查询。 等等。 其实我想问的是无论是应用层还是数据库层都是服务器资源,不是一样重要吗

    8 条回复    2024-12-06 09:59:00 +08:00
    Jinnrry
        1
    Jinnrry  
       16 天前 via iPhone
    哪个不方便扩容哪个就宝贵。现在微服务架构下,业务服务器都可以平滑扩容,而数据库作为有状态服务,及时有 dbproxy 层,底层扩容也十分繁琐。

    因此数据库资源更宝贵。

    大家说可以连表,可以子查询,是因为最近今年 MySQL 优化越来越好了,只要你 SQL 和索性设置没问题,这些查询并不耗多少资源,因此可以用。数据库资源再宝贵,那也是拿来用的,cpu 天天空着又不能创造收益
    xiaogu2014
        2
    xiaogu2014  
       16 天前
    ```微服务不允许连接查询和子查询```

    不清楚哪个公司有这个规定。。那这样的话别用关系型数据库好了。 都应该用 nosql 。。
    adoal
        3
    adoal  
       16 天前
    我非常讨厌一些互联网行业“毕业”后做信息化的人以及盲目追随互联网布道的原生信息化人。
    COW
        4
    COW  
       16 天前 via Android
    主流做法就是这样的,微服务之间交互都是 API 优先,各个应用基本都有自己的数据库,也可能是异构库,通过应用层处理更灵活,各个组成员不用关心别人的库,只要关心 API 设计就好了,至于性能倒不是主要原因吧,至于为什么直接禁止,可能是方便管理吧。
    soul11201
        5
    soul11201  
       16 天前 via Android
    先看目标,再看公司约束及增长趋势的预测,如果资源都能顶住怎么方便怎么来。
    spritecn
        6
    spritecn  
       16 天前
    应用层加资源更方便,可控性更强,加 pod 或加机器还是比升级数据库方便一点
    spritecn
        7
    spritecn  
       16 天前
    还有一个,写代码里可读性和逻辑性更强,之前看见过一个 sql 有 50 行的 xml,这在大数据那可能很正常,但是在业务这边就很难受
    U87
        8
    U87  
    OP
       16 天前
    @Jinnrry ok,老哥懂了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2631 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 06:47 · PVG 14:47 · LAX 22:47 · JFK 01:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.