小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
数据库管理系统中的并发控制:锁定、MVCC和乐观策略如何保持数据一致性

数据库的并发控制机制用于管理同时事务,防止数据损坏。主要方法包括锁定和MVCC(多版本并发控制)。锁定通过分配锁确保事务顺序,而MVCC维护数据项的多个版本,允许读者和写者并行操作。选择合适的并发控制策略取决于工作负载特征,现代数据库系统通常结合使用这两种方法,以提高性能和数据一致性。

数据库管理系统中的并发控制:锁定、MVCC和乐观策略如何保持数据一致性

Databricks
Databricks · 2026-04-21T10:27:00Z

RCU(读-复制-更新)是一种高效的并发控制机制,旨在解决Linux内核中的性能瓶颈。它允许读者在不阻塞的情况下访问共享数据,写者通过复制和发布新数据来更新状态。RCU的宽限期机制确保在释放旧数据前,所有读者都已完成访问,适用于读操作频繁的场景,如路由表查找等高并发应用。

RCU:Linux 内核的读侧零开销并发

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-04-15T00:00:00Z
别再无脑 go func() 了!Go 资深布道师 Dave Cheney 的 Goroutine 管理哲学

Go语言的Goroutine管理需谨慎。Dave Cheney强调Goroutine是有限资源,启动时需考虑停止机制,以防内存泄漏。应优雅管理Goroutine,使用Context进行协同停止。库设计应将并发权留给调用者,确保用户能控制Goroutine的生命周期。Cheney提出pkg/group作为现代Go微服务的管理方案,强调责任感与管理的重要性。

别再无脑 go func() 了!Go 资深布道师 Dave Cheney 的 Goroutine 管理哲学

Tony Bai
Tony Bai · 2026-04-12T22:29:12Z
简化流和字符串

Redis 8.4 引入了多项改进,包括简化流和字符串的使用。新增的 XREADGROUP 命令支持同时处理待处理和新消息,SET 命令扩展为支持原子比较和删除。DELEX 和 DIGEST 命令实现单键乐观并发控制,MSETEX 命令允许原子设置多个字符串键及其过期时间。这些功能提升了开发效率。

简化流和字符串

Redis Blog
Redis Blog · 2026-01-05T00:00:00Z
京东自研电商数据库内核DongSQL简介

京东团队推出了深度优化的自研数据库内核DongSQL V1.1.0,重点在语法扩展、并发控制和查询优化。新增的RETURNING子句提升了DML操作性能,CCL并发控制有效解决了高并发下的锁竞争问题,单点查询优化显著提高了查询效率。未来将继续扩展SQL语法和增强智能优化,以支持电商业务的快速发展。

京东自研电商数据库内核DongSQL简介

京东科技开发者
京东科技开发者 · 2025-12-03T09:56:32Z
Redis 8.4:迄今为止最快、最简单、最强大的 Redis——现已在 Redis 开源中正式发布

Redis 8.4 通过引入混合搜索、性能提升和简化操作,增强了开发体验。新命令 FT.HYBRID 结合全文与向量搜索,提升查询灵活性。多线程 I/O 处理和内存管理优化提高了高负载下的性能,减少了 JSON 数据类型的内存消耗。新原子操作简化了并发控制,Atomic Slot Migration 提升了集群管理效率。

Redis 8.4:迄今为止最快、最简单、最强大的 Redis——现已在 Redis 开源中正式发布

Redis Blog
Redis Blog · 2025-11-25T00:00:00Z

本文探讨了如何通过Rust过程宏自动化乐观锁的实现,减少样板代码。通过在数据变更和持久化操作中注入宏,确保版本号和时间戳的管理,从而实现高效的乐观锁支持,开发者只需声明字段即可简化并发控制,提高开发效率。

使用 Rust 宏实现基于 Sea-ORM 的乐观锁样板代码自动化

Rust.cc
Rust.cc · 2025-11-18T12:33:36Z

TiDB Lightning 是 TiDB 的数据导入工具,支持快速导入 TB 级数据。其架构模块化,核心功能包括导入控制、服务器模式和 Web 界面。导入流程分为七个步骤,采用并发控制,支持多种后端模式。检查点系统确保可靠性,错误管理系统处理异常情况,并提供性能优化技术。

TiDB Lightning 源码阅读

Jiajun的编程随想
Jiajun的编程随想 · 2025-09-02T00:00:00Z
数据库事务指南:从ACID到并发控制

现代应用程序需要处理多个操作,如预订和购买,这些操作必须作为一个整体成功或失败。数据库事务将这些操作封装为一个“全有或全无”的单元,以确保数据一致性。然而,在多个用户同时操作时,维护数据正确性变得更加复杂,可能导致冲突和死锁。本文探讨了事务的基本概念及其ACID属性,以及并发控制的机制和权衡。

数据库事务指南:从ACID到并发控制

ByteByteGo Newsletter
ByteByteGo Newsletter · 2025-06-19T15:30:36Z
如何列出我们Lambda函数的保留并发和预配置并发

本文介绍了AWS Lambda的并发控制,包括保留并发和预配置并发。保留并发限制特定函数的实例数量,而预配置并发则保持预热环境以减少延迟。可以通过Python脚本和Boto3库查询Lambda的并发配置,确保具备相应权限。

如何列出我们Lambda函数的保留并发和预配置并发

DEV Community
DEV Community · 2025-05-28T09:05:24Z
数据库管理系统 2024

本文讨论了数据库管理系统(DBMS)、SQL注入、事务的ACID特性、锁定与时间戳协议及启发式优化,强调数据一致性、完整性和并发控制的重要性,并介绍了B树的结构及其在数据库中的应用。

数据库管理系统 2024

DEV Community
DEV Community · 2025-05-26T17:07:39Z

多版本并发控制(MVCC)是一种数据库设计方法,允许在同一逻辑对象下维护多个物理版本。每当事务更新对象时,会创建新版本而非覆盖原值。MVCC的优势在于读写操作互不阻塞,支持长时间查询。尽管MVCC并非新概念,但在现代数据库系统中得到广泛应用,设计时需考虑并发控制、版本存储、垃圾回收和索引管理等因素。

03 - 多版本并发控制 [设计决策] (卡内基梅隆大学数据库 / 2020年春季)

Josherich的博客
Josherich的博客 · 2025-05-25T00:00:01Z

文章讨论了在云存储中去除分区的必要性,强调基于键的访问和流的优势。提出了主题层次结构、并发控制、模式支持、可扩展性、同步提交回调和快照等功能,以提升Kafka的效率和用户体验,解决消息处理阻塞和数据一致性问题。

如果我们可以从头重建Kafka?

morling.dev -- Blog
morling.dev -- Blog · 2025-04-24T14:25:00Z

C#异步编程中的async/await可提升性能,但不当使用可能导致严重后果。一电商因未妥善处理第三方支付接口的无效响应,导致订单处理失败,损失10万元。开发者应检查异步返回值、正确处理异常、注意并发控制,并理解异步上下文,以避免类似问题。

崩溃!线上事故复盘:一个async/await让公司损失10万,C#异步编程避坑指南

dotNET跨平台
dotNET跨平台 · 2025-04-08T00:03:16Z
关于FreeSWITCH的状态机工作机制和运行优化建议讨论

FreeSWITCH的状态机是核心组件,负责管理呼叫流程中的状态转换。本文分析了状态机的工作机制及主要函数,探讨了生产环境中的问题及优化策略,如状态锁定、并发控制和资源管理。深入理解状态机有助于提升系统性能和用户体验,确保稳定运行。

关于FreeSWITCH的状态机工作机制和运行优化建议讨论

实时互动网
实时互动网 · 2025-02-26T01:59:19Z
竞争条件与锁:确保金融交易的完整性

竞争条件是金融系统中的重要问题,发生在多个进程同时访问同一资源时,可能导致数据不一致。为防止此情况,可采用事务序列化、乐观并发控制或锁机制。锁确保在交易过程中资源的独占访问,Redis可用于实现分布式锁。正确的并发控制机制对金融交易的完整性至关重要。

竞争条件与锁:确保金融交易的完整性

DEV Community
DEV Community · 2025-02-25T16:29:15Z
我对ASP.NET Core OData的第二次贡献

作者分享了他在开源项目中的第二次贡献,修复了ETag的并发控制问题,增加了对数组类型的测试,最终成功提交并合并了请求,期待尽快发布修复版本。

我对ASP.NET Core OData的第二次贡献

DEV Community
DEV Community · 2025-02-22T17:42:10Z
ErrGroup:释放Go语言的并发能力

errgroup是Go语言中的并发控制工具,基于sync.WaitGroup,提供错误处理、上下文取消和并发限制功能,简化并发编程,减少样板代码,提高资源管理效率。

ErrGroup:释放Go语言的并发能力

DEV Community
DEV Community · 2025-02-20T15:43:30Z
Go语言上下文深度解析:从零到英雄

Context是Go语言中的接口,用于并发控制和信息传递。它提供了创建根上下文和子上下文的方法,如WithCancel、WithDeadline、WithTimeout和WithValue,以管理goroutine的生命周期和数据传递。

Go语言上下文深度解析:从零到英雄

DEV Community
DEV Community · 2025-02-04T15:35:36Z
Context 在 Go 中的实践

本文讨论了 Go 语言中的 Context 的使用,包括信息传递、并发控制和跨进程传递。Context 自 Go 1.7 引入,提供了多种功能,如 WithValue、WithCancel 和 WithTimeout。通过示例展示了在 goroutine 中的协作控制及在 RPC 中传递请求 ID,强调了在并发编程中使用 Context 的重要性。

Context 在 Go 中的实践

格物致知
格物致知 · 2025-01-30T06:37:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码