nodejs 为什么对关系型数据库支持不好? nodejs 为什么不适合 CPU 密集型应用?

2020-08-28 18:03:11 +08:00
 yukiball
老板想让前端也承接一部分后台业务,身为一名前端推荐了 node,并说了 node 的缺点和优点,引起了老板如题的发问。有没有大佬能协助探讨下这个问题 QAQ
7682 次点击
所在节点    Node.js
48 条回复
iseki
2020-08-28 20:40:58 +08:00
@optional JavaScript 不是有 async/await 吗,单论访问数据库这个比 Java 的 Thread 模式好; ThreadLocal 也许是个问题,但是我觉得也不是不能忍。
ochatokori
2020-08-28 20:44:01 +08:00
都 2020 年了,nodejs 早就支持多线程多进程了
JerryCha
2020-08-28 21:12:34 +08:00
@zengming00 mongo 不是关系型数据库吧
IssacTomatoTan
2020-08-28 21:18:59 +08:00
解决的方法总比问题多,公司也主推 Java, 作为前端的我还在孜孜不倦的找机会推荐 nodejs 也上了几个项目效果也挺好的。但是真的能玩起来的前端没几个。
optional
2020-08-28 23:45:48 +08:00
@iseki async 处理事务麻烦点,也可以尝试 asynchooks,但是实际上并不好
lihongming
2020-08-29 01:55:24 +08:00
不是很理解为什么数据库与用什么语言还有关系?

数据库不是个独立系统吗?各种语言调用它的 API 来存取数据。
fortunezhang
2020-08-29 04:06:53 +08:00
如果你只会 node,反而我觉得应该继续用 node,语言只是一种工具,学习其他语言需要的时间和精力足可以让你在 node 上深层次挖掘。这并不是让你固守己见,学习新知识更多的利用业余时间,当你拿出来的时候,它更应该是一把利器。
forgottencoast
2020-08-29 08:02:55 +08:00
@zengming00
1 、MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
2 、CPU 密集型应用就是场景了,还要看什么场景。不合适就是不合适,nodejs 优点就是对异步的支持,CPU 密集型应用使用异步还是同步对性能也根本不会有太大的影响。
ho121
2020-08-29 08:13:37 +08:00
老板可能就是想让你写 java
KuroNekoFan
2020-08-29 08:28:27 +08:00
可能国内的在做技术选型的人就是不喜欢 js,如果关注一下 nodejs 在服务端的应用,单就外国来说,实践(文章)还是很多的,当然我不在国外,也只是臆测
Cbdy
2020-08-29 08:51:28 +08:00
node 对关系数据库支持挺好的
yazoox
2020-08-29 10:01:11 +08:00
@zengming00 #12 请教一下。为啥都说 node 在 js 上是单线程的?其他语言不也一样么?
想多线程,createthread 啊,不都是这么解决的么?
black11black
2020-08-29 10:08:47 +08:00
@KuroNekoFan 生态还是一般,总结起来属于,做都可以做,但是没必要
lihongming
2020-08-29 10:25:24 +08:00
@KuroNekoFan 来到北美才发现,除 FLAG 这种开源领导者以外,普通企业中最流行的是.Net 。Node 比国内流行一些,但也不如用 Ruby 的多。
KuroNekoFan
2020-08-29 10:36:50 +08:00
@black11black @lihongming 总之就不是 everythin java 嘛,那就完事了😂
freshgoose
2020-08-29 10:55:42 +08:00
nodejs 的数据库 orm 还是太少,用起来也比较烦琐。能不入 nodejs 的坑就尽量不要入了。php/py/go 的生态都比 nodejs 要好
guanhui07
2020-08-29 11:19:03 +08:00
node 的框架 koa2 或 express 引入包 ,自己封装下 都可以把,不过生态确实一般
baozijun
2020-08-29 11:34:21 +08:00
oracle database 的话,node 要单独下个超级大的依赖包
cnscorpions
2020-08-29 11:57:00 +08:00
node.js 搭配 mongodb 很方便,MEAN/MERN 架构 h 还是很不错的,搭配关系型数据库的不多,有 typeorm
wisetc
2020-08-29 21:19:16 +08:00
就告诉老板各大厂都用 nodejs 就好了,而且 nodejs 上手容易,部署简单很容易找到维护者。计算型的就不要用 nodejs 用 java,nodejs 主要用于处理异步请求,跟 nginx 的事件模型应用场景很像,高性能非阻塞是 nodejs 牛逼于 java 的地方。

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

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

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

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

© 2021 V2EX