lealone / Lealone

比 MySQL 和 MongoDB 快10倍的 OLTP 关系数据库和文档数据库
Other
2.44k stars 513 forks source link

后续会考虑使用Loom提供的协程能力改造吗? #168

Closed fwnan closed 1 year ago

codefollower commented 1 year ago

不会,lealone 的线程模型比 java 的虚拟线程更好。

codefollower commented 1 year ago

这个问题我其实在之前的微博也聊过多次,不说 lealone 6.0 的线程模型和并发控制系统,光是 5.1 的都已经比 java 的虚拟线程强多了,简单说 java 的虚拟线程是给通用场景设计的,而且遇到 synchronized 方法依然会挂起系统线程。

lealone 的线程模型只是像协程,但不是协程,是一整套为数据库这种专用场景设计的并发控制系统,前提就必须把数据库全链路异步化做好,mysql 这类传统数据库很难抄袭 lealone 就是因为它的包袱太重了,光是做好数据库全链路异步化都很难,伤筋动骨。

数据库的并发控制系统很复杂,不是仅仅用上 java 虚拟线程就能有显著性能提升的,因为 oltp 数据库是 cpu 和 io 并重的,java 虚拟线程还是更适合 http server 这种偏 io 的场景。

fwnan commented 1 year ago

明白,感谢解答!