为了提高事务性能,POLARDB在内核层面做了哪些优化?
1、把一系列性能瓶颈用无锁(lockless)算法以及各种并行优化算法进行改造,减少甚至消除各种锁之间的相互冲突,大大增加了系统的scalability 能力; 2、依托大规模高并发场景下的经验,POLARDB 上实现了对库存等热点数据进行优化的功能; 3、对于简单重复的查询,POLARDB支持直接从存储引擎获取结果,从而减少了优化器及执行器的开销; 4、进一步优化已经高效的物理复制,例如,重做日志加元数据,以减少日志解析CPU开销. 这一个简单优化减少了60%日志解析时间; 5、重用一些数据结构,以减少内存分配器的开销; 6、运用一系列算法来优化日志应用,比如只有在buffer pool中的数据页面才需要日志应用; 7、优化了page cleaner and double write buffer,大大减少这些工作的成本。
Bypass Kernel PolarDB诞生于2015年,由于RDMA高速网络的出现,使得网络带宽接近于总线带宽。PolarDB作出大胆的假设,那就是未来数据库的瓶颈将由网络转向软件栈。因此PolarStore中采用了大量的Bypass Kernel的设计。首先是新硬件NVME和RDMA的使用,摆脱了IO访问过程中的用户态内核态交互。
可以参阅阿里云关于PolarDB给出的官方说明: https://help.aliyun.com/document_detail/426488.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。