网站大量收购闲置独家精品文档,联系QQ:2885784924

去IOE关键技术分析_吕海波.pdf

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
去IOE关键技术分析 演讲人:吕海波(VAGE ) 内容介绍 •  互联网企业去O关键技术分析: Sharding •  去,还是不去 ! •  O的替补 互联网企业去O关键技术分析:Shanding Sharding,是Sharde-nothing 的缩写,有些地方也就horizontal paroning/horizontal split,也就是数据库切片。简单点说,就是将一张大 表,拆分到N个数据库中。咱们后面,用一个更形象的词称它:拆表。 对并发比较高的数据库进行去O时,一定要考虑拆表。哪么,问题来了: 为什么要拆表 非O数据库目前的并发机制,不如Oracle 更加强大。这个短板,通过拆表来弥补最 为方便。 (注:本文中非O数据库主要以MySQL为例,不代表所有非O数 据库) 决定并发的因素:锁。锁粒度的大小等锁 机制决定了并发程度。 去O关键技术 -- 拆表 :架构师读书问题 (有一个著名的讨论线程同步的问题,叫哲学家就餐问题,我也东施效颦,来个架构师 读书问题): 假设5个架构师要读同一本纸制书: 书只有一本,人有5名,为了避免打架,方法就是将书装进一个盒子中锁上,有一把钥 匙可以打开这个盒子得到书,这把钥匙我们称为Book Key (简称BK)。 5名架构师谁先得到BK,就能打开盒子,得到书,然后开始读书。而其他人就只能等着。 这种方式资源使用率有限,并发不高。 去O关键技术 -- 拆表 :架构师读书问题 如何提高并发呢, “细化锁的粒度”。 比如5名架构师分别是A 、B、C、D和E。这本 《Oracle 内核技术揭密》共有7章,假设5名 架构师分别想看不同的章,A想看第4章,共享池原理。B想看第3章,Buffer Cache原理, C想看第6章,Redo原理,等等。 那么问题就很简单了,将书拆开,按章节拆成多本。一共7章,就拆成7本,分别装在7 个盒子中,每个盒子都有一把钥匙,可以打开盒子,得到书的某一章。这样就有了7个 盒子、7把钥匙。这7个钥匙分别编号为BK1,2,3……7 。 A想看第4章,他只需要得到BK4,打开锁得到盒子中的第4章,就可以了。A可以拿着第4 章自己看个够,不影响B同一时间看第3章,C在同一时间看第5章等等。这样,A 、B、C、 D和E 5名架构师可以同时读书了。并发得到提高,系统资源利用的更加充分。 去O关键技术 -- 拆表 :架构师读书问题 细化锁的粒度可以有效的提高并发,但这并不是一件容易的工作。 比如,下面这个问题,如果有多名架构师要读同一章怎么办?如何进一步提升“架构师 读书问题”的并发? 这个问题很简单,将每一章再拆成页,A看第1页,B看第5页,等等。 去O关键技术 -- 拆表 :架构师读书问题 但这个问题只是看似简单。 《Oracle 内核技术揭密》共有400页,将书拆成页后,每一页 都要有一个锁保护,锁的数量就是400 。 看到没,锁从1个,拆成章后变成6个,拆成页后变成400个,越来越多。锁并不是凭空 而来的东西,它要占内存,处理它要耗CPU资源。 将书拆成页后,现在你看书的步骤是这样的: 查找第一页的锁 判断是否可以得到它 如果可以得到,持有它 开始阅读第一页 释放第一页的锁,查看有无其他人在等待,有的话通知他可以持有了 查找第二页的锁 判断是否可以得到它 如果可以得到,持有它 开始阅读第二页 释放第二页的锁,查看有无其他人在等待,有的话通知他可以持有了 ……………… 去O关键技术 -- 拆表 :架构师读书问题 这就是锁太细、太多的问题。我们今天不讨论锁的设计,只是说明一个问题,并发的提 高 ,不是想提你就提。 回过头说拆表的问题。 Oracle在各种锁机制(或者说并发机制)上,还是下足了工夫的,比很多其他数据库要 好。比如说,MySQL。 MySQL在将重做日志数据写到Redo l

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档