OneCoder Avatar
OneCodercoderli.com · 958 篇博文
🐍 Python

Python 与大数据

MySQL、Hadoop、自动化与基础工具

🎨 视觉封面

《High Performance MySQL》概译 读/写锁

📅 2013-03-28·✍️ onecoder·计算中...·⏱️ 2 分钟
#翻译#MySQL

今天在微博看到消息该书的中文版已经翻译完成即将发售,所以OneCoder不再进行全文翻译,只会以类似读书笔记的方式记录文章大意和自己的理解。每天阅读的不会太多,因为只是休息的时候阅读,学习的重心最近在Hadoop上。

读写锁


多个用户同时读取邮件的时候不会有什么问题,以为没有人去修改文件。但是在有人正在的读的时候删除邮件就会产生问题。所以,出于安全考虑,读也应该特别关注。

这里的邮箱其实就跟数据库中的表类似。每个邮件就是一行数据。修改数据库中的行数据,就相当于修改邮箱中某个邮件的信息。

解决这个问题思路很简单,就是加锁。读写操作就实现了锁系统。有两种锁,共享锁和排它锁,或者叫做读锁和写锁。

不关心锁的技术细节,我们这样描述锁的原理。读锁是共享的或者说互助不堵塞的。客户端之间可以共同读取资源。写锁是排他的,同一时间只有获得锁的客户端可以操作,其他读、写请求均被堵塞。因为只有这样才是安全的。

在数据库系统中,锁随处可见。MySQL也必须避免在有人读取数据的时候,数据被他人修改。其内部实现了锁系统,并且对外部是透明的。

💡 OneCoder 资源指引

所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI

🤝 技术交流与答疑

欢迎加入:C++ GESP/CSP 考级答疑群(688906745)Java/Python交流群(982860385),点击可直接加群。

📚

猜你想读 · 相关文章推荐

Python 与数据工程 · 技术实战⏱️ 3 分钟

High Performance MySQL 翻译 第一章 MySQL架构和历史 - 逻辑架构

《High Performance MySQL》是OneCoder正在阅读的书,利用茶余饭后时间进行的阅读和翻译,日积月累。 MySQL与其他数据库服务有很大的不同,它的架构特性使得它在广泛领域内成为一种实用而“廉价”的选择。MySQL并不是完美的,但是他足够灵活以适应特定的需求环境,如网络应用...

阅读全文 →
Python 与数据工程 · 技术实战⏱️ 2 分钟

《High Performance MySQL》翻译(2) 连接管理和安全 优化和执行

<p 接上篇,第一章 MySQL架构和历史</p <p <strong连接管理和安全</strong</p <p <br / 每个客户连接在服务内部都有一个独立的线程处理。查询在这个单独的线程内运行,线程轮流在CPU或核心上运行。线程在服务端被缓存,所以不必针对每个新来线程进行创建和销毁。(注2)。<br / 当客户端...

阅读全文 →
Python 与数据工程 · 技术实战⏱️ 2 分钟

《High Performance MySQL》翻译(3) 第一章 并发控制

<p <br / <strong并发控制</strong</p <p 任何时刻当不止一个请求想要同时修改数据时候就产生了并发控制问题。从本章我们的观点来看,MySQL需要在两层关注这个问题:服务层和存储引擎层。并发控制是一个大话题,有很多相关的理论文献发表。所以,我们仅简介一下MySQL处理并发读写的方式。你将在本章的...

阅读全文 →
OneCoder

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

读者讨论与留言

0 条讨论
✨ 支持点击留言直接回复 · Markdown 引用格式
💬 还没有读者留言,快来成为第一个讨论者吧!