[發(fā)明專利]一種基于MySQL雙存儲引擎的內(nèi)存數(shù)據(jù)庫實(shí)現(xiàn)方法無效
| 申請?zhí)枺?/td> | 201110387373.5 | 申請日: | 2011-11-29 |
| 公開(公告)號: | CN102937955A | 公開(公告)日: | 2013-02-20 |
| 發(fā)明(設(shè)計)人: | 徐繼軍 | 申請(專利權(quán))人: | UT斯達(dá)康通訊有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 杭州杭誠專利事務(wù)所有限公司 33109 | 代理人: | 尉偉敏 |
| 地址: | 310052 浙*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 mysql 存儲 引擎 內(nèi)存 數(shù)據(jù)庫 實(shí)現(xiàn) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫技術(shù),尤其涉及一種基于MySQL雙存儲引擎的內(nèi)存數(shù)據(jù)庫實(shí)現(xiàn)方法。
背景技術(shù)
目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。甚至在電信行業(yè)中,由于MySQL優(yōu)越的性能、穩(wěn)定性、完善的功能,也越來越多的被用于電信產(chǎn)品中。例如公開日為?2008年04月09日、公開號為CN?101158958A的專利文獻(xiàn)采用了這樣的技術(shù)方案,一種在線視頻控制系統(tǒng)及控制方法,其通過MySQL常規(guī)用法建立MySQL數(shù)據(jù)庫來對用戶信息、視頻信息和電影評論信息進(jìn)行控制,使用戶可以通過系統(tǒng)的操作界面輸入操作命令來實(shí)現(xiàn)操作目的,最終完成對所述視頻的各種操作,該方案雖然存在響應(yīng)速度、可靠性不高等不足,但仍然能夠順利實(shí)現(xiàn)視頻的各種操作控制。其實(shí),無論是互聯(lián)網(wǎng)產(chǎn)品還是電信產(chǎn)品,對產(chǎn)品的高可靠性及快速的響應(yīng)速度,都有著越來越高的要求。
為了滿足高可靠性,在MySQL產(chǎn)品集中最好的選擇是MySQL?Cluster,它是一個高冗余的數(shù)據(jù)庫存儲引擎,但實(shí)踐證明,MySQL?Cluster的插入、查詢速度并不快,而且價格昂貴,管理功能有限。用戶需要很多二次開發(fā),比如,集群中的節(jié)點(diǎn)沒有自動重啟的功能,需要用戶自行開發(fā),MySQL?Cluster作為一個新產(chǎn)品,也不夠穩(wěn)定。MySQL的Memory引擎,顧名思義,內(nèi)存中存儲數(shù)據(jù),非常高速,但MySQL服務(wù)器關(guān)閉后所有數(shù)據(jù)消失,沒有持久存儲的能力,而其使用SQL語句API,雖然方便,但沒有使查詢性能提高最大化。再者,關(guān)于MySQL的復(fù)制功能能解決備份、冗余、負(fù)載分擔(dān)等問題,但最終的查詢訪問還是落在一個MySQL服務(wù)器上訪問磁盤表而非內(nèi)存表,對于快速度查詢,還是不如直接訪問內(nèi)存快。對于產(chǎn)品MySQL?Proxy,是主要借助MySQL的復(fù)制功能實(shí)現(xiàn)的,存在MySQL復(fù)制的問題。另外,雖然MySQL提供Query?Cache機(jī)制,?但它不適合查詢語句經(jīng)常變化的情形,并且如果數(shù)據(jù)表被更改,那么和這個數(shù)據(jù)表相關(guān)的全部Cache都會無效,并被刪除。當(dāng)然,MySQL的各種存儲引擎內(nèi)一般都有頁緩存機(jī)制,但這種機(jī)制復(fù)雜,由于緩存頁可能被釋放,可能在磁盤與緩存頁之間切換,造成過多的消耗,影響性能。還有訪問MySQL數(shù)據(jù)庫,還需要解析編譯SQL語句,這都是不小的消耗。
由上述可知,MySQL產(chǎn)品族中,并沒有一個能同時滿足高可靠性、冗余備份、持久存儲、高吞吐量、即時響應(yīng)、直接訪問表內(nèi)存的接口等要求的數(shù)據(jù)庫引擎。??????????????????????
而MySQL之外的免費(fèi)內(nèi)存數(shù)據(jù)庫,比如MonetDB、FastDB都是單機(jī)版的數(shù)據(jù)庫,不能解決冗余備份問題。
目前比較知名的商業(yè)內(nèi)存數(shù)據(jù)庫有Oracle的TimesTen,其性能非常強(qiáng)勁,但價格非常高昂,由于是關(guān)系型數(shù)據(jù)庫,滿足嚴(yán)格的ACID(原子性、一致性、隔離性、持久性)要求,這也對讀寫速度也有著大的消耗,查詢速度未必最大化。其實(shí),為了提高數(shù)據(jù)庫的查詢性能,很多公司都為自己的產(chǎn)品開發(fā)基于Oracle之上的內(nèi)存數(shù)據(jù)庫。
Memcached也是常用的內(nèi)存對象緩存系統(tǒng),但它不基于數(shù)據(jù)庫表結(jié)構(gòu),不能直接用做表數(shù)據(jù)的緩存,需要一些在它之上的許多二次開發(fā)。
在實(shí)際應(yīng)用中,很多產(chǎn)品并沒有嚴(yán)格的一致性要求,當(dāng)新數(shù)據(jù)寫入數(shù)據(jù)庫中時,其實(shí)即使應(yīng)用程序并不能即時讀到該新數(shù)據(jù),也不影業(yè)務(wù)的運(yùn)行,比如,IPTV系統(tǒng),用戶購買了某些頻道的觀看權(quán)利,由于訂購記錄還未同步到用戶設(shè)備訪問的服務(wù)器中(也可能是內(nèi)存數(shù)據(jù)庫表中),幾秒鐘內(nèi)可能看不到節(jié)目,過了幾秒鐘后再看到,這是可以容忍的。再者,許多的應(yīng)用是查詢密集的應(yīng)用,少量的寫操作,所以只要能滿足高吞吐的查詢即可。
發(fā)明內(nèi)容
本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的MySQL產(chǎn)品不能同時滿足高可靠性、冗余備份、持久存儲、高吞吐量、即時響應(yīng)等技術(shù)問題,提供一種基于MySQL雙存儲引擎的內(nèi)存數(shù)據(jù)庫實(shí)現(xiàn)方法,它能夠在一些對一致性要求不嚴(yán)格、查詢密集、寫操作少的應(yīng)用中同時滿足高可靠性、冗余備份、存儲持久等要求,而且吞吐量大、響應(yīng)速度快,使用十分方便。
本發(fā)明針對現(xiàn)有技術(shù)問題主要是通過下述技術(shù)方案得以解決的,一種基于MySQL雙存儲引擎的內(nèi)存數(shù)據(jù)庫實(shí)現(xiàn)方法,包括以下步驟:
(A)??選擇兩臺計算機(jī),并分別安裝MySQL服務(wù)器;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于UT斯達(dá)康通訊有限公司,未經(jīng)UT斯達(dá)康通訊有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110387373.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng)
- 一種MySQL的批量化安裝部署方法
- 一種MySQL高可用性的實(shí)現(xiàn)方法及系統(tǒng)
- MySQL數(shù)據(jù)庫的集群系統(tǒng)
- 一種容器MySQL主從同步及性能采集實(shí)現(xiàn)方法及系統(tǒng)
- 一種Kubernetes容器平臺的MySQL數(shù)據(jù)同步方法及系統(tǒng)
- 一種基于哨兵機(jī)制的MySQL故障切換方法及裝置
- 基于OpenStack的MySQL數(shù)據(jù)庫自動創(chuàng)建方法、裝置及計算機(jī)存儲介質(zhì)
- 一種單應(yīng)用多MySQL Set的部署方法及系統(tǒng)
- 客戶端數(shù)據(jù)的獲取方法及裝置、存儲介質(zhì)、電子設(shè)備





