es和redis的區(qū)別是什么

小編給大家分享一下es和redis的區(qū)別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

站在用戶的角度思考問題,與客戶深入溝通,找到河南網(wǎng)站設計與河南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋河南地區(qū)。

es和redis區(qū)別

Redis

Redis是現(xiàn)在最熱門的key-value數(shù)據(jù)庫。它與MongoDB同在2009年發(fā)布,也同樣是早期大數(shù)據(jù)時代的數(shù)據(jù)庫代表作。

Redis的最大特點當然就是key-value存儲所帶來的簡單和高性能了。所謂key-value存儲,就是每一條記錄只包含一個用于查詢數(shù)據(jù)的Key,以及與之對應的存儲數(shù)據(jù)的value,就如同現(xiàn)實生活中的門牌號與住戶,而沒有諸如表、字段這些常規(guī)數(shù)據(jù)庫中必需有的復雜概念,所有的查詢都僅僅依賴于key值。

因此,key-value數(shù)據(jù)庫可謂是數(shù)據(jù)庫中數(shù)據(jù)結構最簡單的一種,也得益于這種簡單的結構,再加上Redis會把所有數(shù)據(jù)加載到內存中的,Redis能得到遠高于MongoDB這類常規(guī)數(shù)據(jù)庫的讀寫性能。當然,Redis的功能還不止key-value存儲這么簡單,相較它的key-value前輩Memcached,Redis還支持數(shù)據(jù)持久化,list、set等多種數(shù)據(jù)結構,主從復制備份等一些列功能,因此Redis絕對稱得上是key-value數(shù)據(jù)庫中功能最全面、最簡單易用的款。

Redis的key-valule存儲帶來了性能這個優(yōu)勢,但是也給復雜查詢帶來了很多局限。由于閹割掉了數(shù)據(jù)表、字段這樣的重要特性,且所有的查詢都依賴key,因此Redis無法提供常規(guī)數(shù)據(jù)庫所具備的多列查詢、區(qū)段查詢等復雜查詢功能。

同時,由于Redis需要把數(shù)據(jù)存在內存中,這也大大限制了Redis可存儲的數(shù)據(jù)量,這也決定了Redis難以用在數(shù)據(jù)規(guī)模很大的應用場景中。

Redis犧牲了常規(guī)數(shù)據(jù)庫中的數(shù)據(jù)表、復雜查詢等功能,換來了很大的性能提升,特別適合那些對讀寫性能要求極高,且數(shù)據(jù)表結構簡單(key-value、list、set之類)、查詢條件也同樣簡單的應用場景。

如果你的數(shù)據(jù)表結構還挺復雜,你還經(jīng)常需要做一些復雜查詢操作,那你最好還是老老實實用MongoDB或者SQL吧。

ElasticSearch

相較于MongoDB和Redis,晚一年發(fā)布的ES可能知名度要低一些,但是ES在搜索引擎領域的名聲絕對是是響當當?shù)?。相較于其他高大上的數(shù)據(jù)庫產(chǎn)品,ES的出身要屌絲很多。

ES的創(chuàng)建者Shay Banon曾經(jīng)是一個失業(yè)的屌絲程序員,在無事可干的時候為了方便老婆搜索食譜而創(chuàng)建了ES(當然,當時還不叫ES)。不料無心插柳柳成蔭,成就了今天最熱門的搜索引擎數(shù)據(jù)庫,果然妹子才是程序員工作的最大動力?。?/p>

ES也專門成立了自己的Elastic公司已經(jīng)獲得數(shù)億美金融資,當年的屌絲程序員Shay Banon也早已逆襲成為CEO并走上人生巔峰。諸位程序員看官讀完這個故事是不是也已經(jīng)開始內心澎湃的想象自己出任CEO迎娶白富美那一天了?

ES的特點,正如其名,那就是搜索。嚴格的說,ES不是一個數(shù)據(jù)庫,而是一個搜索引擎,ES的方方面面也都是圍繞搜索設計的。ES支持全文搜索,這里簡單解釋下什么是全文搜索:對于“我在北京的一家互聯(lián)網(wǎng)公司工作”這樣的數(shù)據(jù),如果你搜索“北京”、“互聯(lián)網(wǎng)”、“工作”這些關鍵詞都能命中這條數(shù)據(jù)的話,這就是全文搜索,你每天都在用的百度、Google都屬于全文搜索。

值得一提的是,ES的全文搜索對中文也有很好的支持(單是中文分詞器就有很多種),絕對能夠滿足國內大多數(shù)人的全文搜索需求。除了搜索之外,ES還會自動的替你對所有字段建立索引,以實現(xiàn)高性能的復雜聚合查詢,因此只要是存入ES的數(shù)據(jù),無論再復雜的聚合查詢也可以得到不錯的性能,而且你再也不用為如何建立各種復雜索引而頭痛了。

說了這么多ES的優(yōu)點,你是不是覺得ES簡直萬能了?

可惜不是的,ES也有很多的短處,最明顯的就是字段類型無法修改、寫入性能較低和高硬件資源消耗。前邊講到ES會自動的替你建立索引,盡管這能給全文搜索以及聚合查詢帶來很多好處還能替你省了建索引這一麻煩事,但是這個特性也會帶來一堆問題。

ES需要在創(chuàng)建字段前要預先建立Mapping,Mapping中包含每個字段的類型信息,ES需要根據(jù)Mapping為字段建立合適的索引。由于這個Mapping的存在,ES中的字段一但建立就不能再修改類型了。

(例如,你建的數(shù)據(jù)表的某個字段忘了加全文搜索,你想臨時加上,但是表已經(jīng)建好并且已經(jīng)有很多數(shù)據(jù)了,這時候該怎么辦呢?不好意思,你只能把整個數(shù)據(jù)表刪了再重建一遍?。?/p>

因此,ES在數(shù)據(jù)結構靈活度上高于MySQL但遠不如MongoDB。ES的缺點還不止這些,自動建立索引使得ES的寫入性能也收到了影響,要明顯低于MongoDB。

對于同樣的數(shù)據(jù)ES占用的存儲空間也要明顯大于MongoDB(建那么多索引能不占空間嗎?),對硬件資源的消耗也是非常厲害,大數(shù)據(jù)量下64G內存+SSD基本是標配,算得上是數(shù)據(jù)庫中的貴族服務了,因此如果你的老板很小氣,對于ES的選用可要慎重嘍!

ES的全文搜索特性使它成為構建搜索引擎的利器。除此之外,ES很好的支持了復雜聚合查詢這一特點還使得ES非常適合拿來作數(shù)據(jù)分析使用。

其實,ES還專門做了與自己配套的ELK套裝,給你提供從日志收集到數(shù)據(jù)可視化分析的一條龍服務,絕對是構建高大上數(shù)據(jù)分析平臺的利器。

但是,ES的高成本和低寫入性能這些缺點也注定了它不適合用在那些數(shù)據(jù)價值不高、對寫入性能有要求、數(shù)據(jù)量大而成本受限的場景中。

以上是es和redis的區(qū)別是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當前標題:es和redis的區(qū)別是什么
文章源于:http://bm7419.com/article2/psdeoc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷虛擬主機、App開發(fā)、微信小程序、商城網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設