一、elasticsearch也具有存儲功能,為什么更多是和其他數(shù)據(jù)庫一起用
Elasticsearch屬于搜索引擎,和一般我們說的數(shù)據(jù)庫不大一樣,例如不支持事物。如果你的數(shù)據(jù)不是很重要,例如日志,完全可以存放到es中不借助其他數(shù)據(jù)庫存儲。僅僅作為存儲的話,當成一個NOSQL的數(shù)據(jù)庫也是可以的,配置不Index即可。
當你花了那么多的cpu,memeory的資源來做的revert index,本來1TB的數(shù)據(jù)可能有了這些revert index以后變成了1.5TB~2.5TB(最近沒有做,不記得具體的比例了),你把它存在那里是不是太浪費了?如果你不close index,這些shard還要占用資源。
我們是把ES當作數(shù)據(jù)庫來用的,有優(yōu)點有缺點吧,寫的速度是瓶頸,json作為存儲形,不準到能不能算是一個缺點(主要看你要干什么),需要的資源比一般的database多(名列前茅份工作,沒用過別的DB,應該是多的),對于json里的一個field,你要是想搜索,就要做index,哪怕我不需要搜索的那么快,還是要做index。
總的來說不是一個非常適合做database的東西(歡迎指正)。我們準備轉(zhuǎn)到snowflake了。
補充一下,elasticsearch沒有access control,這個應該是一個很大的弊端的。
延伸閱讀:
二、數(shù)據(jù)庫和 SQL 概念
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,它的產(chǎn)生距今已有六十多年。隨著信息技術和市場的發(fā)展,數(shù)據(jù)庫變得無處不在:它在電子商務、銀行系統(tǒng)等眾多領域都被廣泛使用,且成為其系統(tǒng)的重要組成部分。
數(shù)據(jù)庫用于記錄數(shù)據(jù),使用數(shù)據(jù)庫記錄數(shù)據(jù)可以表現(xiàn)出各種數(shù)據(jù)間的聯(lián)系,也可以很方便地對所記錄的數(shù)據(jù)進行增、刪、改、查等操作。
結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱 SQL,是上世紀 70 年代由 IBM 公司開發(fā),用于對數(shù)據(jù)庫進行操作的語言。更詳細地說,SQL 是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng),同時也是數(shù)據(jù)庫腳本文件的擴展名。