從memcached看MySQL和關(guān)系數(shù)據(jù)庫的未來
原創(chuàng)【51CTO快譯】幾周前,突然涌現(xiàn)了大量關(guān)于memcached(數(shù)據(jù)庫緩存服務(wù)器)的消息,網(wǎng)絡(luò)服務(wù)商和網(wǎng)絡(luò)投資者也關(guān)注起了這種越來越受歡迎的開源超高速緩存軟件框架。Gear6公開了一個(gè)基于memcached的新產(chǎn)品詳細(xì)情況,Schooner Information Technologies推出了一套高密度內(nèi)存工具:一個(gè)針對MySQL,一個(gè)針對memcached。這些訊息與MySQL Conference同時(shí)公布。有人認(rèn)為MySQL是memcached的“殺手級應(yīng)用”,或者反之。其它含有memcached的而不出眾的服務(wù)商還有NorthScale。除了一個(gè)介紹其功能的小頁面,它至今沒有發(fā)布任何消息。
相關(guān)資訊:在上個(gè)月的MySQL Conference上,MySQL 5.4預(yù)覽版發(fā)布,宣布性能提高90%。另外在前幾日,MySQL創(chuàng)始人宣布創(chuàng)建開源數(shù)據(jù)庫聯(lián)盟。業(yè)界普遍認(rèn)為這個(gè)聯(lián)盟將會(huì)令MySQL更上一個(gè)新臺階。
其基本形式為,memcached通過在存儲(chǔ)器或緩存中儲(chǔ)存先前請求以推遲應(yīng)用程序?qū)?shù)據(jù)庫的請求。但如果說更大內(nèi)存和相比更常見的memcached對MySQL有這么大幫助,這一開始與MySQL 有什么相干呢?這種通過對緩沖層做必要添加來提高性能的做法,對數(shù)據(jù)庫而言到底是好還是不好?
Memcached是一種減少數(shù)據(jù)庫加載的工具,同時(shí)延長單個(gè)數(shù)據(jù)庫服務(wù)器壽命,并緩和在多個(gè)機(jī)器之間擴(kuò)展數(shù)據(jù)庫的壓力。作為網(wǎng)絡(luò)服務(wù)商的免費(fèi)且受歡迎的關(guān)系數(shù)據(jù)庫, MySQL在網(wǎng)絡(luò)基礎(chǔ)建設(shè)方面就是關(guān)系數(shù)據(jù)庫的代名詞。(51CTO編者注:隨著云計(jì)算的盛行,業(yè)界現(xiàn)在流傳一種關(guān)系數(shù)據(jù)庫的末日是否已經(jīng)來臨的聲音,有關(guān)關(guān)系數(shù)據(jù)庫替代者的討論也層出不窮)
毫無疑問,多年來MySQL一直是網(wǎng)絡(luò)基礎(chǔ)建設(shè)方面的基石。但其在擴(kuò)展性方面的問題是很明顯的,而且互聯(lián)網(wǎng)已由數(shù)以千萬計(jì)的記錄而組成形,很多人相信RDBMS方法的重量級性質(zhì),及其強(qiáng)加的限制最好換成若干相比輕量級替換形式。有這種意圖的有MySQL分支 Drizzle。據(jù)wiki 介紹,Drizzle希望做成“簡潔精悍的查詢運(yùn)行機(jī)器”。在近來與OStatic的一次采訪中,MySQL的副總裁Karen Tegan Padir將“Drizzle Day”贊為conference新星。
更進(jìn)一步發(fā)展這種簡潔精悍思想的方法包括一系列分布式key-value存儲(chǔ)。運(yùn)用這種方法的包括CouchDB, Hypertable, HBASE, Tokyo Cabinet, LightCloud 和 Cassandra等等。另外,LinkedIn最大化利用Voldermort項(xiàng)目上的信息。這個(gè)項(xiàng)目是他們的key-value存儲(chǔ),可在線獲得。
現(xiàn)在的大趨勢正從強(qiáng)調(diào)完整性的關(guān)系數(shù)據(jù)庫向新興的強(qiáng)調(diào)擴(kuò)展的分配式key-value存儲(chǔ)轉(zhuǎn)變。這代表了網(wǎng)路架構(gòu)設(shè)計(jì)方面的轉(zhuǎn)換。在網(wǎng)絡(luò)世界,許多依賴于MySQL或其它關(guān)系數(shù)據(jù)庫工具的應(yīng)用程序并不需要繼承全套的相關(guān)性能繼承到這些包里。相反,輕量級流線型方法是更有效的數(shù)據(jù)格式。
MySQL和關(guān)系數(shù)據(jù)庫不會(huì)退出,他們的功能也不會(huì)全都前面提到的key-value存儲(chǔ)替換掉。但MySQL conference上出現(xiàn)的大量關(guān)于memcached的消息,其中將memcached作為提高M(jìn)ySQL性能的方式,都提出了這樣的問題:擴(kuò)展及性能的關(guān)鍵所在,及這種狀況到底能持續(xù)多久。
有關(guān)數(shù)據(jù)庫緩存(Memcached)
Memcached是由Danga Interactive開發(fā)的,高性能的,分布式的內(nèi)存對象緩存系統(tǒng),用于在動(dòng)態(tài)應(yīng)用中減少數(shù)據(jù)庫負(fù)載,提升訪問速度。有關(guān)Memcached的詳細(xì)介紹,可以閱讀分布式緩存系統(tǒng)memcached簡介與實(shí)踐一文。有關(guān)Memcached是如何介入到MySQL的發(fā)展進(jìn)程中,在一篇2008年底的MySQL回顧文中提供了一些背景介紹。
原文:Is Memcached a Good or Bad Sign for MySQL? by Gary Orenstein
【編輯推薦】