麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL下的NoSQL解決方案Handler,Socket

2019-11-02 14:19:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

 目前使用MySQL的網(wǎng)站,多半同時(shí)使用Memcache作為鍵值緩存。雖然這樣的架構(gòu)極其流行,有眾多成功的案例,但過(guò)于依賴Memcache,無(wú)形中讓Memcache成為故障的根源:

Memcache數(shù)據(jù)一致性的問題:當(dāng)MySQL數(shù)據(jù)變化后,如果不能及時(shí)有效的清理掉過(guò)期的數(shù)據(jù),就會(huì)造成數(shù)據(jù)不一致。這在強(qiáng)調(diào)即時(shí)性的Web2.0時(shí)代,不可取。

Memcache崩潰后的雪崩效應(yīng):作為緩存的Memcache一旦崩潰,MySQL很可能在短時(shí)間內(nèi)承受高負(fù)載而宕機(jī)。據(jù)說(shuō)前段時(shí)間新浪微博就遭遇了這樣的問題。

注:關(guān)于清理過(guò)期數(shù)據(jù)的問題,可以在程序架構(gòu)上想辦法,如果數(shù)據(jù)操作有統(tǒng)一DAO封裝的話,可以利用Observer模式來(lái)清理過(guò)期數(shù)據(jù),非主題內(nèi)容,資料自查。

面對(duì)這些問題,HandlerSocket項(xiàng)目是個(gè)不錯(cuò)的解決方案,它通過(guò)插件的方式賦予MySQL完整的NoSQL功能,從原理上講,它跳過(guò)MySQL中最耗時(shí)的語(yǔ)法解析,查詢計(jì)劃等步驟,直接讀取數(shù)據(jù),如果內(nèi)存夠大,能裝下索引,MySQL的查詢效率能提高若干倍!

性能測(cè)試實(shí)例:Using MySQL as a NoSQL – A story for exceeding 750,000 qps (GFW)

因?yàn)镠andlerSocket的性能足夠好,所以就沒有必要使用Memcache了,能節(jié)省大量的硬件資源,相當(dāng)?shù)吞迹《襀andlerSocket操作的是MySQL放在內(nèi)存中的索引,沒有額外的緩存,所以自然就不存在數(shù)據(jù)一致性的問題。

安裝

如果使用Percona Server版本的MySQL就簡(jiǎn)單了,因?yàn)樗呀?jīng)內(nèi)置了HandlerSocket支持,不過(guò)考慮到其內(nèi)置的版本不夠新,存在一些早已修復(fù)的BUG,所以最好采用源代碼編譯。

官方已經(jīng)有了一份簡(jiǎn)單的安裝文檔,但在我實(shí)際安裝時(shí),遇到了一些其他未說(shuō)明的問題,所以這里就把相應(yīng)的安裝過(guò)程再寫一遍。

首先要確保已經(jīng)安裝了MySQL5.1以上的版本,我用的是Ubuntu操作系統(tǒng),事先已經(jīng)用apt安裝了MySQL5.1.37,同時(shí)還需要相應(yīng)的mysql_config,如果是Ubuntu的話,可以:

 

shell> aptitude install libmysqld-dev

 

注:如果你用的MySQL是從源代碼編譯的或官方提供的二進(jìn)制版本,可以略過(guò)此步。

接著下載一份和系統(tǒng)MySQL版本一致的MySQL源代碼和HandlerSocket源代碼:

mysql-5.1.37.tar.gz

ahiguti-HandlerSocket-Plugin-for-MySQL-1.0.6-76-gf5f7443.tar.gz

 

shell> tar zxf mysql-5.1.37.tar.gz
shell> tar zxf ahiguti-HandlerSocket-Plugin-for-MySQL-1.0.6-76-gf5f7443.tar.gz
shell> cd ahiguti-HandlerSocket-Plugin-for-MySQL-f5f7443
shell> ./autogen.sh
shell> ./configure --with-mysql-source=../mysql-5.1.37
--with-mysql-bindir=/usr/bin
--with-mysql-plugindir=/usr/lib/mysql/plugin

 

其中的參數(shù)含義如下:with-mysql-source表示MySQL源代碼目錄,with-mysql-bindir表示MySQL二進(jìn)制可執(zhí)行文件目錄(也就是mysql_config所在目錄),with-mysql-plugindir表示MySQL插件目錄,如果不清楚這個(gè)目錄在哪,可以按如下方法查詢:

 

mysql> SHOW VARIABLES LIKE 'plugin%';
+---------------+-----------------------+
| Variable_name | Value |
+---------------+-----------------------+
| plugin_dir | /usr/lib/mysql/plugin |

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩亚洲国产 | 国产精品久久久久久久久久久久久久久久 | 蜜桃久久一区二区三区 | 中文字幕电影免费播放 | 亚洲精品成人久久 | 7777网站| 国产成人av在线播放 | 国产1区视频 | 国产毛片在线高清视频 | 中文字幕1区2区 | 精品国产一区二区亚洲人成毛片 | 国产成人在线播放视频 | 久久精品二区 | 九九精品免费 | 美国一级黄色毛片 | 国产中文av在线 | 少妇的肉体的满足毛片 | 精品国产乱码久久久久久丨区2区 | 色婷婷久久一区二区 | 青草av.久久免费一区 | 免费在线观看毛片视频 | 91精品国产乱码久久久久久久久 | 婷婷久久影院 | 欧美a区 | v片在线看 | 日本欧美中文字幕 | 国产精品久久久久久久久粉嫩 | 久久精品免费国产 | 国产 视频 一区二区 | lutube成人福利在线观看污 | 91福利影视 | www.91sese| 国产91久久久久 | 亚洲影院在线播放 | 91精品国产乱码久久久久久久久 | 香蕉成人在线视频 | 龙的两根好大拔不出去h | 亚洲欧美国产精品va在线观看 | 免费久久精品 | 久久亚洲春色中文字幕久久 | 日韩美香港a一级毛片 |