- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL下的NoSQL解决方案HandlerSocket
目前使用MySQL的网站,多半同时使用Memcache作为 键值缓存。虽然这样的架构极其流行,有众多成功的案例 但过于依赖Memcache,无形中让Memcache成为故障的根源 Memcache数据一致性的问题:当MySQL数据变化后, 如果不能及时有效的清理掉过期的数据,就会造成数据不 一致。这在强调即时性的Web2.0时代,不可取。
Meme ache崩溃后的雪崩效应:作为缓存的Meme ache 一旦崩溃,My SQL很可能在短时间内承受高负载而宕机。 据说前段时间新浪微博就遭遇了这样的问题。
注:关于清理过期数据的问题,可以在程序架构上想 办法,如果数据操作有统一 DA0封装的话,可以利用 Observer模式来清理过期数据,非主题内容,资料自查。
面对这些问题,Handl erSocket项目是个不错的解决 方案,它通过插件的方式赋予MyS QL完整的NoSQL功能, 从原理上讲,它跳过MySQL中最耗时的语法解析,查询计划 等步骤,直接读取数据,如果内存够大,能装下索引,M ySQL的查询效率能提高若干倍!
性能测试实例:UsingMyS QLasaNoSQL - Astoryforex ceeding750, OOOqps (GFW)
因为Handler Socket的性能足够好,所以就没有必要
使用Memcache 了,能节省大量的硬件资源,相当低碳!而 且Handl erSocket操作的是MySQL放在内存中的索引,没 有额外的缓存,所以自然就不存在数据一致性的问题。
安装
如果使用Percona Server版本的My SQL就简单了,因 为它已经内置了 Handle rSocket支持,不过考虑到其内置 的版本不够新,存在一些早已修复的BUG,所以最好采用源 代码编译。
官方已经有了一份简单的安装文档,但在我实际安装 时,遇到了一些其他未说明的问题,所以这里就把相应的 安装过程再写一遍。
首先要确保已经安装了MySQL5. 1以上的版本,我用的 是Ubun tu操作系统,事先己经用apt安装了 MySQ L5. 1. 37, 同时还需要相应的mysql_config,如果是U buntu的话, 可以:
shellgt; a ptitudeinst alllibmysql d~dev
注:如果你用的MySQL是从源代码编译的或官方提供 的二进制版本,可以略过此步。
接着下载一份和系统MySQL版本一致的MySQL源代码 和 H andlerSocke t 源代码: mysql-5. 1. 37. tar. gz
ahiguti -HandlerSoc ket-Plugin-for-MySQL-1 . 0. 6- 76-gf5 f7443. tar. g z
shellgt: tarzxfmysql -5. 1. 37. tar . gz
shellg t:tarzxfahi guti-Handle rSocket-Plu gin-
for-MyS QL-1. 0. 6~76 -gf5f7443. t ar. gz
shel lgt:cdahigu t卜Handlers ocket-Plugi n-for-
MySQL -f 5f7443
she llgt;. /auto gen. sh
she llgt;./conf igure—with -mysql-sour ce=. . /mysql -5. 1. 37\
—with-mysql -bindir=/us r/bin\
—w ith-mysql-p lugindir=/u sr/lib/mysq 1/plugin 其中的参数含义如下:wi th-mysql-so urce表示
MySQL 源代码目录,with-mysql-bindi r 表示 MySQL 二进制 可执行文件目录(也就是mysql_confi g所在目录),with- mysql-plug indir表示MySQ L插件目录,如果不清楚这个
目录在哪,可以按如下方法查询:
mys qlgt; SHOWVA RIABLESLIKE ’ plugin%’ ;
+ + +
I Variable』ame | Value
| plugin dir | /usr/lib/m ysql/plugin
运行命令后,如果你使用的是MySQL5. 1.37版本的话, 会遇到如下错误信息:
M ySQLsourcev ersiondoesn otmatchMySQ Lbinaryvers
ion
明明我们的M ySQL源代码版本和二进制版本都是 5.1.3 7,为什么还会出现这个错误呢?通过查询Han dlerSocket的编译脚本,发现原来它会
您可能关注的文档
最近下载
- 跨学科主题学习——向世界介绍我的学校 教学设计 电子工业版信息科技七年级下册.pdf VIP
- DB43_T 2298-2022矿山生态保护修复方案编制规范.docx VIP
- 律政俏佳人影片介绍LEGALLY BLONDE(褚瑞等).pptx VIP
- DL∕T 802.10-2019 电力电缆用导管技术条件 第10部分:涂塑钢质电缆导管.docx VIP
- 投资项目可行性研究指南(试用版)2002.docx VIP
- 理论力学哈工大第六版-课件.ppt
- 矿井通风用MZX型旋叶式风门的设计与研究.pdf VIP
- 2023-2024学年小学生心理健康主题班会——阳光心理 健康人生 主题教育课件.pdf VIP
- 刮板输送机设计计算及选型.doc VIP
- 三查四定表完整版本.docx VIP
文档评论(0)