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