美國服務(wù)器中的內(nèi)存數(shù)據(jù)庫有:1、Memcached,做數(shù)據(jù)庫數(shù)據(jù)高速緩沖;2、Redis,Key Value存儲系統(tǒng);3、Mongo DB,基于分布式文件存儲的數(shù)據(jù)庫;
具體分析如下:
1、Memcached
Memcached是一款基于Key Value的開源緩存美國服務(wù)器系統(tǒng),主要用做數(shù)據(jù)庫的數(shù)據(jù)高速緩沖,并不能完全稱為數(shù)據(jù)庫。Memcached的API應(yīng)用程序編程接口,使用32位循環(huán)冗余校驗計算鍵值后,將文件分散在不同的機器上,當(dāng)表格滿了以后,接下來新增的文件會以LRU機制替換掉。
由于Memcached通常只是當(dāng)做緩存系統(tǒng)使用,所以使用Memcached的應(yīng)用程序,在寫回較慢的系統(tǒng)時需要額外的程序更新Memcached內(nèi)的文件。Memcached的守護進程是用C語言編寫的,客戶端可以用任何語言來編寫,并通過Memcached協(xié)議與守護進程通信,但是Memcached并不提供冗余。
2、Redis
Redis是一個Key Value存儲系統(tǒng),和Memcached類似,它支持存儲的值類型相對更多,包括字符串、鏈表、集合、順序集合和哈希類型。與Memcached一樣,Redis為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。兩者的區(qū)別是,Redis會周期性地把更新的數(shù)據(jù)寫入磁盤,或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了主從同步。主從同步是指數(shù)據(jù)可以從【主美國服務(wù)器主機】向任意數(shù)量的【從美國服務(wù)器主機】上同步,【從美國服務(wù)器主機】可以是關(guān)聯(lián)其他【從美國服務(wù)器主機】的主美國服務(wù)器主機。
3、Mongo DB
Mongo DB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫,旨在為Web應(yīng)用提供可擴展性的高性能數(shù)據(jù)存儲解決方案。Mongo DB最大的特點是,支持的查詢語言非常強大,其語法類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
Mongo DB也可以作為內(nèi)存數(shù)據(jù)庫使用,它有可以使用內(nèi)存映射文件來處理對磁盤文件中數(shù)據(jù)的讀寫請求的設(shè)計,意思就是Mongo DB并不對內(nèi)存和磁盤這兩者進行區(qū)別對待,只是將文件看作是一個巨大的數(shù)組,然后以字節(jié)為單位,訪問其中的數(shù)據(jù),剩下的交由操作系統(tǒng)去處理。正是這個設(shè)計,才使得Mongo DB可以無需任何修改,就能夠運行于內(nèi)存之中。