Warning: Undefined global variable $debug in /var/www/ourcoders/tiny4cocoa/application/controllers/baseController.php on line 124
zhh-4096 2020-01-08 13:07:35 发布的技术动态 - OurCoders (我们程序员)
zhh-4096
2020-01-08 13:07:35 发布
在OLTP关系数据库这个领域我已经有了非常深的思考和实践。这个领域非常抽象的说就是在解决吞吐、延迟和可用性问题。

我目前使用的数据库全链路异步化和全局统一调度器方案可以说对于吞吐问题在理论上已经接近完美:锁、IO不挂起线程,耗时的计算也不会一直占用cpu,理论上所有线程只要有事做就一直在运转,优先级高的小任务能更快结束。

延迟问题很多时候就是在考虑如何减少网络round trip的次数,这个在数据库处于复制和sharding模式下设计的算法和协议要重点考虑的。分布式事务同样非常在乎延迟问题。在延迟这个问题上我也做了无数尝试。

可用性问题并不仅仅是CAP中的A,我最近在思考如何在Java开发的数据库中尽可能杜绝出现OOM,这也可以说是资源可用性问题,如果不限流不能有效管理内存同样会造成系统资源耗尽,然后崩溃,那就谈不上可用了。这个方向我还在探索。