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

Python 与大数据

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

🎨 视觉封面

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

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


并发控制

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

我们以Unix系统上的电子邮箱为例。传统的邮箱文件格式非常简单。邮箱中的所有信息是一个接一个的连接在一起的。因此读取和解析邮件信息都非常简单。邮件发送也非常简单:仅仅是在文件结尾加上新的信息。

但是当两个进程同时给同一个邮箱发送邮件的时候将会发生什么?很显然这回损坏邮箱,在邮箱文件结尾产生两个交错的信息。好的邮件收发系统采用锁的方式避免这种损坏。当一个客户端在邮箱锁住的时候试图发送信息,则它必须等待直到它获取锁。

这种结构在实践的时候运行良好,但是却没有提供任何并发的支持。因为同一时刻只有一个进程可以修改邮箱,在大规模邮箱的情况下这会带来问题。

💡 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》概译 读/写锁

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

阅读全文 →
OneCoder

OneCoder (lihongzheshuai)

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

读者讨论与留言

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