偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL與NoSQL——MySQL與NoSQL的融合

數(shù)據(jù)庫(kù) MySQL 其他數(shù)據(jù)庫(kù)
寫這一篇的原因是MySQL5.6.2突然推出了memcached的功能。NoSQL to InnoDB with Memcached的出現(xiàn),可以看出NoSQL對(duì)關(guān)系數(shù)據(jù)庫(kù)的確產(chǎn)生了巨大的影響。

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

MySQL with HandlerSocket

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

 

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

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

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

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

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

InnoDB with Memcached

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

InnoDB with Memcached是在提供MySQL服務(wù)的同一進(jìn)程中提供Memcached服務(wù),這與HandlerSocket的架構(gòu)模式幾乎是一樣的。雖然目前InnoDB with Memcached還是預(yù)覽版本,但是我個(gè)人更看好它,因?yàn)椋?/p>

•它使用Memcached協(xié)議,并同時(shí)支持文本和二進(jìn)制協(xié)議,在client的選擇和成熟度上就要?jiǎng)俪鲈S多;

•其支持的三種cache模式,不但可以省去開(kāi)發(fā)中使用Memcached來(lái)緩存數(shù)據(jù)的麻煩,并且具有更好的可靠性和數(shù)據(jù)一致性;

•在應(yīng)用程序中,可以使用高效的memcached協(xié)議來(lái)操作數(shù)據(jù),同時(shí)也可以使用sql進(jìn)行復(fù)雜的查詢操作;

注意:目前通過(guò)memcached的更新操作不會(huì)記錄到binlog中,未來(lái)的版本會(huì)支持。

 

圖二InnoDB with Memcached

Memcached and MySQL Cluster

顯而易見(jiàn),我們會(huì)想到MySQL Cluster結(jié)合Memcached是一個(gè)更好的組合,MySQL Cluster提供了99.999%高可用性,并真正提供了去中心化的無(wú)縫高可擴(kuò)展性。還有什么比這更人興奮的呢,MySQL已經(jīng)提供了這樣的功能

 

圖三NDB with Memcached

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

總結(jié)

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

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

雖然MySQL提供了NoSQL功能,如果你要嘗試的話,你的數(shù)據(jù)庫(kù)設(shè)計(jì)必須從NoSQL從發(fā),然后再考慮SQL查詢功能。

SQL與NoSQL的融合的確會(huì)給開(kāi)發(fā)者帶來(lái)方便,比如最近很流行的Mongodb,它吸引開(kāi)發(fā)最大的點(diǎn)就是支持簡(jiǎn)單的關(guān)系查詢。SQL與NoSQL的融合可能是未來(lái)很多數(shù)據(jù)庫(kù)產(chǎn)品的一個(gè)趨勢(shì)。但是純NoSQL數(shù)據(jù)庫(kù)的優(yōu)勢(shì)也是顯著的,就是他的簡(jiǎn)單、高效、易擴(kuò)展。

本文已經(jīng)首發(fā)于InfoQ中文站,版權(quán)所有,原文為《MySQL與NoSQL——SQL與NoSQL的融合》,如需轉(zhuǎn)載,請(qǐng)務(wù)必附帶本聲明,謝謝。

InfoQ中文站是一個(gè)面向中高端技術(shù)人員的在線獨(dú)立社區(qū),為Java、.NET、Ruby、SOA、敏捷、架構(gòu)等領(lǐng)域提供及時(shí)而有深度的資訊、高端技術(shù)大會(huì)如QCon、線下技術(shù)交流活動(dòng)QClub、免費(fèi)迷你書下載如《架構(gòu)師》等。​

原文鏈接:http://www.cnblogs.com/sunli/archive/2011/05/11/mysql-nosql.html

【編輯推薦】

  1. 數(shù)據(jù)庫(kù)日常維護(hù)常用的腳本部分收錄
  2. 軟件開(kāi)發(fā)中質(zhì)量與進(jìn)度的痛
  3. 甲骨文發(fā)布最新BI軟件 添加對(duì)iPad支持
  4. 微軟WP7本地?cái)?shù)據(jù)庫(kù)之Sterling編程技巧
  5. 深入探究SYBASE數(shù)據(jù)庫(kù)日志

 

責(zé)任編輯:艾婧 來(lái)源: 博客園
相關(guān)推薦

2016-02-22 10:10:48

SqoopSQLNoSQL

2023-03-27 16:25:56

SQLNoSQL

2011-02-14 17:09:17

MegastoreNoSQL

2017-11-14 18:54:43

MySQLMongoDBNoSQL

2023-07-06 00:41:03

SQLNoSQL數(shù)據(jù)庫(kù)

2022-08-21 21:28:32

數(shù)據(jù)庫(kù)實(shí)踐

2015-07-06 14:23:54

NoSQLSQL非關(guān)系型數(shù)據(jù)存儲(chǔ)

2013-07-09 10:18:30

SQLNoSQL大數(shù)據(jù)時(shí)代

2010-03-30 09:04:41

2011-04-06 15:44:02

SQLNOSQL思維轉(zhuǎn)變

2011-05-16 09:27:10

MySQLNoSQL

2018-02-25 22:44:01

RDBNoSQL數(shù)據(jù)庫(kù)

2013-03-26 10:33:50

SaaSNoSQLOracle

2010-09-07 09:07:33

MongoDBCouchDB

2015-10-22 11:04:43

sqlmongodb信息比較

2011-03-14 14:59:01

NoSQL

2011-03-14 15:56:37

NoSQL

2013-12-23 17:29:43

NewSQLNoSQL

2019-07-03 10:00:16

NoSQLNewSQL數(shù)據(jù)庫(kù)

2011-03-31 14:02:59

NoSQL緩存架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)