暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【内含抽奖】告别锁争用,日志写入还能这么通畅?

海量数据库 2024-10-15
56

文末有礼品,千万别错过  

预写日志写入过程中

常出现锁争用问题

影响写入效率


Vastbase只需两步

轻松缓解锁争用问题

点击↓ 一探究竟👁

点击查看视频↑


STEP 1

引入免锁的CAS操作




Vastbase首先通过引入CAS操作来避免锁争用,CAS(Compare-And-Swap)是一种原子操作,它允许线程在无需加锁的情况下,安全地修改数据库中的数据。

当线程想要修改数据库中的某个值时,CAS会确认当前值是否与预期值相等,若相等,则会将当前值变更为新值,CAS操作成功;若不相等,则会返回重新计算,便于后续的重试。

这样一来,Vastbase就巧妙地绕开了锁争用的泥潭,让数据库操作更加流畅。

加入CAS操作前后对比(以WAL机制为例)


虽然利用CAS替换了自旋锁

但在冲突很高的情况下

CAS操作耗时还是会非常长

这就来到了第二步


STEP 2

引入WAL分组写入机制




Vastbase引入WAL分组写入机制来降低CAS操作发生冲突的可能,WAL(Write-Ahead Logging)即预写日志系统。

当事务生成日志后,会首先加入到写入组。第一个加入组的线程成为Leader,后续的加入者成为Follower。

Leader负责处理所有的读写操作,拷贝自身和Follower的日志条目到WAL BUFFER中。

因为Follower的日志条目早已被Leader写入,就无需再进行CAS操作了。



通过引入CAS操作和WAL分组写入机制

Vastbase精妙的缓解了锁争用的问题

这将减少I/O操作次数

提升日志写入效率

确保了数据库在高负载下

依然能保持出色的吞吐量和稳定性

真正做到高并发



• END •


关于海量数据


北京海量数据技术股份有限公司(股票代码:603138.SH)成立于2007年,是国内首家以数据库为主营业务的主板上市企业。公司十余年来秉承“专注做好数据库”的初心,始终致力于数据库产品的研发、销售和服务。核心产品海量数据库Vastbase系列、数据库一体机Vastcube系列、海量大数据Datalink系列,全栈国产化,应用满足度高,目前广泛应用于政务、制造、金融、通信、能源、交通等多个重点行业,已成为国产企业级数据库的首选之一。



文章转载自海量数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论