天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

MySQL與NoSQL - SQL與NoSQL的融合

  寫這一篇內(nèi)容的原因是MySQL5.6.2突然推出了memcached的功能。NoSQL to InnoDB with Memcached 的出現(xiàn),可以看出NoSQL對關(guān)系數(shù)據(jù)庫的確產(chǎn)生了巨大的影響,我覺得這是一個非常大的進步,可以讓開發(fā)人員更加方便的使用NoSQL和關(guān)系數(shù)據(jù)庫。NoSQL一般被認為性能高于關(guān)系數(shù)據(jù)庫,那么直接在InnoDB之上提供NoSQL功能并和MySQL共存是否是一個更好的選擇呢?

  MySQL with HandlerSocket

  去年在twitter上看到HandlerSocket的出現(xiàn),并宣稱性能是Memcached的兩倍時,當時我非常震驚,居然可以達到750000qps。接著HandlerSocket成為NoSQL領(lǐng)域談?wù)摰慕裹c之一, 大量的人開始想要嘗試,并做過一些自己的性能測試。 下圖是HandlerSocket的結(jié)構(gòu)圖:

圖1 HandlerSocket結(jié)構(gòu)圖(來源于官方)

  HandleSocket的出現(xiàn),給我們眼前一亮的感覺。原來InnoDB的性能已經(jīng)足夠好,并可以直接提供NoSQL的功能。最大的好處就是可以共享MySQL的功能,DBA以前的經(jīng)驗一樣可以用。但是有些小小的風險:

  HandleSocket沒有與MySQL一起發(fā)布版本,因此對于使用MyISAM引擎的用戶是無緣的。不過現(xiàn)在Percona-Server已經(jīng)集成了HandleSoket,可以非常方便的使用。

  目前大規(guī)模的成功案例并不多,國內(nèi)也只有少部分公司在嘗試,我知道的有飛信開放平臺,據(jù)說還不錯。

  官方給出的測試數(shù)據(jù)在應用場景上其實并不充分,至少測試的場景跟我們實際使用的場景相差很大。但是毫無疑問, HandleSocket的性能比直接使用MySQL肯定要高效得多。

  InnoDB with Memcached

  也許是因為Handlesocket的火爆的沖擊,也許是受HandleSocket的啟發(fā),MySQL開始關(guān)注NoSQL領(lǐng)域的應用,并在MySQL5.6.2版本增加了通過Memcached協(xié)議直接訪問原生Innodb API的功能。

  InnoDB with Memcached是在提供MySQL服務(wù)的同一進程中提供Memcached服務(wù) ,這與HandleSocket的架構(gòu)模式幾乎是一樣的。雖然目前InnoDB with Memcached還是預覽版本,但是我個人更看好它,因為:

  • 它使用Memcached協(xié)議,并同時支持文本和二進制協(xié)議,在client的選擇和成熟度上就要勝出許多;
  • 其支持的三種cache模式,不但可以省去開發(fā)中使用Memcached來緩存數(shù)據(jù)的麻煩,并且具有更好的可靠性和數(shù)據(jù)一致性;
  • 應用程序中,可以使用高效的memcached協(xié)議來操作數(shù)據(jù),同時也可以使用sql進行復雜的查詢操作;

  注意:目前通過memcached的更新操作不會記錄到binlog中,未來的版本會支持。

圖二 InnoDB with Memcached

  Memcached and MySQL Cluster

  顯而易見,我們會想到MySQL Cluster結(jié)合Memcached是一個更好的組合,MySQL Cluster提供了99.999%高可用性,并真正提供了去中心化的無縫高可擴展性。還有什么比這更人興奮的呢。

  這樣的功能已經(jīng)有提供了,源代碼在這里。這里有一個O'Reilly MySql Conference大會的一個PPT演示 ,你也可以看下這個功能開發(fā)者的一篇博客。

圖三 NDB with Memcached

  MySQL Cluster雖然具有高可靠性和無縫擴展的優(yōu)勢,但是對于復雜SQL查詢的效率卻不能令人滿意。不過對于僅僅依賴于key-value查詢和寫入的海量數(shù)據(jù)存儲需求,MySQL Cluster with Memcached應該是個很好的選擇。

  總結(jié)

  Memcached協(xié)議由于其簡單、協(xié)議輕量、存在大量的client,所以提供兼容Memcached協(xié)議的產(chǎn)品比較占據(jù)先天的優(yōu)勢。

  MySQL提供NoSQL的功能,個人覺得并不是MySQL耐不住寂寞,而是的確在響應用戶的需求。我前面的文章也說過,NoSQL只是一個概念,并不是一個數(shù)據(jù)庫 產(chǎn)品,MySQL也可以是NoSQL,現(xiàn)在也正應了這句話。NoSQL從架構(gòu)上就約束了開發(fā)者的架構(gòu)和開發(fā)方式,從而提高擴展性和性能,而NoSQL和MySQL的融合,也同時提供了復雜查詢功能。

  雖然MySQL提供了NoSQL功能,如果你要嘗試的話,你的數(shù)據(jù)庫設(shè)計必須從NoSQL從發(fā),然后再考慮SQL查詢功能。SQL與NoSQL的融合的確會給開發(fā)者帶來方便,比如最近很流行的Mongodb,它吸引開發(fā)最大的點就是支持簡單的關(guān)系查詢。SQL與NoSQL的融合可能是未來很多數(shù)據(jù)庫產(chǎn)品的一個趨勢。但是純NoSQL數(shù)據(jù)庫的優(yōu)勢也是顯著的,就是他的簡單、高效、易擴展。

it知識庫MySQL與NoSQL - SQL與NoSQL的融合,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 曰批国产精品视频免费观看 | 91九色网址 | 美女挑战50厘米长的黑人 | 亚洲 欧洲 国产 日产 综合 | A国产一区二区免费入口 | 无码天堂亚洲国产AV久久 | 亚洲色无码播放 | 精品国产99久久久久久麻豆 | 99国产精品成人免费视频 | 久 久 亚洲 少 妇 无 码 | 草莓视频在线播放视频 | 俄罗斯aaaa一级毛片 | 国产美女又黄又爽又色视频网站 | 亚洲偷自拍精品视频在线观看 | 黄色免费在线网址 | 久久综合久综合久久鬼色 | 最近2019中文字幕MV免费看 | 国产成人综合高清在线观看 | 欧美老少欢杂交另类 | 久久精品一卡二卡三卡四卡视频版 | 青青涩射射 | 欧美卡1卡2卡三卡2021精品 | 国产AV视频二区在线观看 | 精品午夜寂寞影院在线观看 | 国产AV亚洲国产AV麻豆 | 精品国产福利一区二区在线 | 日本伦理电影聚 | 伦 乱真实故事 | 在线视频久久只有精品第一日韩 | 国产精品人妻无码久久久蜜桃臀 | 亚洲美女视频高清在线看 | 亚洲欧美日韩国产手机在线 | 精选国产AV精选一区二区三区 | 内地同志男16china16 | 免费韩国伦理2017最新 | 18禁国产精品久久久久久麻豆 | 亚洲 日韩 国产 制服 在线 | 国产女人91精品嗷嗷嗷嗷 | 久久久96 | 最近高清日本免费 | 国产免费变态视频网址网站 |