內(nèi)存數(shù)據(jù)庫是以內(nèi)存為主要存儲介質(zhì)的數(shù)據(jù)庫,它將數(shù)據(jù)存放在內(nèi)存中直接操作。傳統(tǒng)的磁盤數(shù)據(jù)庫,需要頻繁訪問磁盤,但受磁頭的機(jī)械移動(dòng)和系統(tǒng)調(diào)用時(shí)間等影響,當(dāng)訪問的數(shù)據(jù)量很大,且操作頻繁時(shí),基于磁盤的數(shù)據(jù)庫會(huì)受到很大影響。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供托里網(wǎng)站建設(shè)、托里做網(wǎng)站、托里網(wǎng)站設(shè)計(jì)、托里網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、托里企業(yè)網(wǎng)站模板建站服務(wù),10年托里做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。內(nèi)存的讀寫速度,相比較于磁盤高出幾個(gè)數(shù)量級,例如:雙通道DDR3—1333內(nèi)存,可以達(dá)到9300 MB/s(兆字節(jié)每秒,指每秒傳輸?shù)淖止?jié)數(shù)量),一般磁盤約為150 MB/s(兆字節(jié)每秒)。隨機(jī)訪問時(shí)間更是以毫秒計(jì),一般磁盤約10 ms(毫秒),而雙通道DDR3—1333內(nèi)存,可以達(dá)到0.05 ms(毫秒)。
因此,內(nèi)存數(shù)據(jù)庫大的特點(diǎn)就是“性能好、速度快”,它能提高應(yīng)用的性能,更有效地使用CPU周期和內(nèi)存。
內(nèi)存數(shù)據(jù)庫拋棄了“磁盤數(shù)據(jù)管理”的傳統(tǒng)方式,基于全部數(shù)據(jù)都在內(nèi)存中重新設(shè)計(jì)了體系結(jié)構(gòu),并且在“數(shù)據(jù)緩存、快速算法、并行操作”方面也進(jìn)行了相應(yīng)的改進(jìn),所以內(nèi)存數(shù)據(jù)庫的數(shù)據(jù)處理速度,要比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度快很多(一般都在10倍以上)。內(nèi)存數(shù)據(jù)庫的大特點(diǎn)是,其“主拷貝”或“工作版本”常駐內(nèi)存,即活動(dòng)事務(wù)只與實(shí)時(shí)內(nèi)存數(shù)據(jù)庫的內(nèi)存拷貝打交道。由于內(nèi)存在系統(tǒng)中是稀缺的資源,內(nèi)存數(shù)據(jù)庫的容量大小受物理內(nèi)存的限制,因此內(nèi)存數(shù)據(jù)庫中所管理的數(shù)據(jù),通常只有“熱點(diǎn)”或者“高頻數(shù)據(jù)”,而不是全部數(shù)據(jù)。同時(shí),內(nèi)存數(shù)據(jù)庫也會(huì)被要求根據(jù)靈活的策略與磁盤數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步。
內(nèi)存數(shù)據(jù)庫的技術(shù)特點(diǎn)如下:
1、 采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)冗余小,易擴(kuò)充,實(shí)現(xiàn)了數(shù)據(jù)共享。
2、 具有較高的數(shù)據(jù)和程度獨(dú)立性,數(shù)據(jù)庫的獨(dú)立性有“物理獨(dú)立性”和“邏輯獨(dú)立性”。
3、 內(nèi)存數(shù)據(jù)庫為用戶提供了方便的用戶接口。
4、 內(nèi)存數(shù)據(jù)庫提供4個(gè)方面的數(shù)據(jù)控制功能,分別是“并發(fā)控制、恢復(fù)、完整性和安全性。數(shù)據(jù)庫中的各個(gè)應(yīng)用程序所使用的數(shù)據(jù),由數(shù)據(jù)庫統(tǒng)一規(guī)定,按照一定的數(shù)據(jù)模型組織和建立,由系統(tǒng)統(tǒng)一管理和集中控制。
5、 系統(tǒng)的靈活性非常好。
常用的內(nèi)存數(shù)據(jù)庫有哪些?
1、 Memcached
Memcached是一種基于Key—Value的開源緩存服務(wù)器系統(tǒng),主要用做數(shù)據(jù)庫的數(shù)據(jù)高速緩沖,并不能完全稱為數(shù)據(jù)庫。Memcached具有多種語言的客戶端開發(fā)包,包括:Perl、PHP、Java、C、Python、Ruby、C#。
內(nèi)存數(shù)據(jù)庫的技術(shù)特點(diǎn)以及常用的內(nèi)存數(shù)據(jù)庫!
Memcached的API(應(yīng)用程序編程接口),使用32位循環(huán)冗余校驗(yàn)(CRC—32)計(jì)算鍵值后,將文件分散在不同的機(jī)器上。當(dāng)表格滿了以后,接下來新增的文件會(huì)以“LRU”機(jī)制替換掉。由于Memcached通常只是當(dāng)做“緩存系統(tǒng)”使用,所以使用Memcached的應(yīng)用程序,在寫回較慢的系統(tǒng)時(shí)(像是后端的數(shù)據(jù)庫),需要額外的程序更新Memcached內(nèi)的文件。
Memcached的守護(hù)進(jìn)程是用C語言編寫的,客戶端可以用任何語言來編寫,并通過Memcached協(xié)議與守護(hù)進(jìn)程通信。但是Memcached并不提供冗余(例如,復(fù)制其Hashmap條目);當(dāng)某個(gè)服務(wù)器S停止運(yùn)行或崩潰,所有存放在S上的“鍵/值對”都將丟失。
2、 Redis
Redis是一個(gè)Key—Value存儲系統(tǒng),和Memcached類似,它支持存儲的值類型相對更多,包括“String(字符串)、List(鏈表)、Set(集合)、ZSet(順序集合)和Hash(哈希類型)”。
與Memcached一樣,Redis為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。兩者的區(qū)別是,Redis會(huì)周期性地把更新的數(shù)據(jù)寫入磁盤,或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了“主從同步”。主從同步是指數(shù)據(jù)可以從“主服務(wù)器”向任意數(shù)量的“從服務(wù)器”上同步,“從服務(wù)器”可以是關(guān)聯(lián)其他“從服務(wù)器”的主服務(wù)器。
Redis的出現(xiàn),很大程度上彌補(bǔ)了Memcached這類“Key—Value”存儲的不足。它在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。
3、 MongoDB
MongoDB是一個(gè)基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫,旨在為Web應(yīng)用提供可擴(kuò)展性的高性能數(shù)據(jù)存儲解決方案。
MongoDB是一個(gè)介于“關(guān)系型數(shù)據(jù)庫”與“非關(guān)系型數(shù)據(jù)庫”之間的產(chǎn)品,它是“非關(guān)系型數(shù)據(jù)庫”當(dāng)中功能最豐富、與“關(guān)系型數(shù)據(jù)庫”最接近的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似于json的Bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。
MongoDB大的特點(diǎn)是,支持的查詢語言非常強(qiáng)大,其語法類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似“關(guān)系數(shù)據(jù)庫單表查詢”的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
MongoDB也可以作為內(nèi)存數(shù)據(jù)庫使用,它有一個(gè)非常酷的設(shè)計(jì),就是可以使用“內(nèi)存映射文件”來處理對磁盤文件中數(shù)據(jù)的讀寫請求。也就是說,MongoDB并不對內(nèi)存和磁盤這兩者進(jìn)行區(qū)別對待,只是將文件看作是一個(gè)巨大的數(shù)組,然后以字節(jié)為單位,訪問其中的數(shù)據(jù),剩下的交由操作系統(tǒng)去處理。正是這個(gè)設(shè)計(jì)決策,才使得MongoDB可以無需任何修改,就能夠運(yùn)行于內(nèi)存之中。
分享文章:內(nèi)存數(shù)據(jù)庫的技術(shù)特點(diǎn)以及常用的內(nèi)存數(shù)據(jù)庫!
文章鏈接:http://m.newbst.com/article48/hohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)建站、App設(shè)計(jì)、云服務(wù)器、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)