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

6 天前
 U87

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

714 次点击
所在节点    程序员
8 条回复
Jinnrry
6 天前
哪个不方便扩容哪个就宝贵。现在微服务架构下,业务服务器都可以平滑扩容,而数据库作为有状态服务,及时有 dbproxy 层,底层扩容也十分繁琐。

因此数据库资源更宝贵。

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

不清楚哪个公司有这个规定。。那这样的话别用关系型数据库好了。 都应该用 nosql 。。
adoal
6 天前
我非常讨厌一些互联网行业“毕业”后做信息化的人以及盲目追随互联网布道的原生信息化人。
COW
6 天前
主流做法就是这样的,微服务之间交互都是 API 优先,各个应用基本都有自己的数据库,也可能是异构库,通过应用层处理更灵活,各个组成员不用关心别人的库,只要关心 API 设计就好了,至于性能倒不是主要原因吧,至于为什么直接禁止,可能是方便管理吧。
soul11201
6 天前
先看目标,再看公司约束及增长趋势的预测,如果资源都能顶住怎么方便怎么来。
spritecn
6 天前
应用层加资源更方便,可控性更强,加 pod 或加机器还是比升级数据库方便一点
spritecn
6 天前
还有一个,写代码里可读性和逻辑性更强,之前看见过一个 sql 有 50 行的 xml,这在大数据那可能很正常,但是在业务这边就很难受
U87
6 天前
@Jinnrry ok,老哥懂了

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

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

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

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

© 2021 V2EX