就在前幾天(2022/3/29)Grafana 宣布正式對(duì)外開源其時(shí)序數(shù)據(jù)庫 Mimir驼卖,一經(jīng)開源便在社區(qū)引起廣泛討論,不僅 hacknews 上的討論持續(xù)發(fā)熱纳账,而且 Github 上也迅速收獲 1K 關(guān)注漂问。
究竟是什么讓它保持如此大的關(guān)注,是實(shí)力還是爭(zhēng)議翁逞?
Mimir 是什么
Grafana Mimir is an open source, horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
----- Mimir 官方是如此介紹
你沒有看錯(cuò),它又是一個(gè)時(shí)序數(shù)據(jù)庫溉仑,又是解決 Prometheus 長(zhǎng)期存儲(chǔ)挖函、橫向擴(kuò)展、多租戶的問題浊竟。
雖然它號(hào)稱完全兼容 Prometheus怨喘,但其目標(biāo)絕不僅僅成為一個(gè)更好的 Prometheus, 它給自己的定位是成為可觀測(cè)性中 metrics 后端存儲(chǔ)的終極方案振定,能夠兼容各種 metrics 協(xié)議必怜,如圖:
Mimir 的賣點(diǎn)
你可能要問,Prometheus 的長(zhǎng)期存儲(chǔ)社區(qū)方案那么多后频,Thanos棚赔、Cortex、 M3徘郭、Victoriametrics ,為何又來一個(gè)丧肴,時(shí)序數(shù)據(jù)庫真的這么卷么残揉?
我們先來看看 Mimir 自己宣傳的一些賣點(diǎn):
超大規(guī)模生產(chǎn)驗(yàn)證(超 20 億活躍指標(biāo))
部署簡(jiǎn)單,支持單體/微服務(wù)兩種部署方式芋浮,依賴少(只有 OSS抱环, Cortex 的依賴你懂得)
支持高基數(shù)的 metrics 壓縮和查詢
支持同一租戶 Block 分片壓縮(超過 64G 限制)
支持查詢和計(jì)算下層
天然支持多租戶壳快,并支持全局跨租戶查詢
兼容所有 metircs 協(xié)議(目前主要支持 Prometheus)
那這些宣傳的賣點(diǎn)真的值得我們遷移么?這個(gè)也是大家在 HN 上討論的一個(gè)點(diǎn)镇草,大致結(jié)論如下:
- Cortex 太難用了眶痰,如果現(xiàn)在用的是 Cortex 可以嘗試升級(jí)到 Mimir。
- Thanos 目前工作的很好梯啤,除非遇到 高基數(shù)/ 大 Block 壓縮問題等問題竖伯,否則沒必要遷移。
- VictoriaMetrics 工作的也很好因宇,需要社區(qū)中立添加與 VictoriaMetrics 的對(duì)比測(cè)試七婴,方便做選擇。
針對(duì)以上觀點(diǎn)察滑,個(gè)人普遍認(rèn)同打厘。
與 Cortex 的關(guān)系
熟悉 Cortex 的同學(xué)收到 Grafana Mimir 開源的消息后,可能和我一樣贺辰,第一直覺 Grafana 可能要放棄 Cortex 了户盯,畢竟 Mimir 和 Cortex 做的事太像,而且 Cortex 以前的核心維護(hù)者大多(4/7)來自 Grafana饲化。
首先 Mimir 確實(shí)是基于 Cortex 而來的莽鸭,你可以理解它為 Cortex 的 2.0 版本,這也不難解釋為啥 Mimir 開源的第一個(gè)版本就是 v2.0滓侍。
至于為什么這么做蒋川,我們可以從 HN 的討論中看出原因:
- Cortex 有較大技術(shù)債,很難滿足 Mimir 中的一些需求
- 開源協(xié)議的更改撩笆,更滿足 Grafana 公司產(chǎn)品的發(fā)展捺球,Cortex 屬于 Apache-2.0 License, 而 Mimir 協(xié)議為 AGPLv3。
個(gè)人覺得協(xié)議的更改應(yīng)該是決定因素夕冲,因?yàn)?AGPLv3 是目前 Grafana 主要使用的開源協(xié)議氮兵,可以參考【Grafana 開源協(xié)議更改 Q&A】 。
不過好像 CNCF 要求孵化的項(xiàng)目須為 Apache-2.0 License歹鱼, 那未來 Mimir 如何進(jìn)入 CNCF 進(jìn)行孵化值得關(guān)注泣栈。
Grafana 真的要放棄 Cortex 了嗎?
目前官方給的解釋是弥姻,Cortex 會(huì)重新尋找新的維護(hù)者南片,原本的 Grafana 維護(hù)者需要將更多精力投入到 Mimir 中。
所以答案是肯定的庭敦,個(gè)人認(rèn)為 Grafana 確實(shí)是要放棄 Cortex了疼进,但這并不意味 Cortex 就停止維護(hù),這很考驗(yàn)后繼維護(hù)者秧廉。
Cortex 目前存在的價(jià)值就是存量用戶和它 Apache-2.0 協(xié)議伞广,萬一哪天 Grafana 又來個(gè)協(xié)議修改拣帽,畢竟一家獨(dú)大總不是太好。
是否值得學(xué)習(xí)
我個(gè)人覺得從架構(gòu)上來看是值得的嚼锄,原因如下:
完全分布式减拭、良好伸縮能力和集群管理能力,對(duì)于我們通過 Thanos 手動(dòng)搭建多租戶的時(shí)序數(shù)據(jù)庫有較好的參考意義区丑。
對(duì)于一些賣點(diǎn)功能拧粪,比如單租戶分片壓縮、查詢算子下推都可以好好學(xué)習(xí)(預(yù)計(jì)未來 Thanos 也會(huì)跟進(jìn))
總結(jié)
Mimir 其實(shí)可以算作 Cortex 2.0 版本刊苍,不過它將開源協(xié)議從 Apache-2.0 更新到了 AGPLv3既们,Grafana 的相關(guān)維護(hù)者后面會(huì)從 Cortex 的維護(hù)轉(zhuǎn)移到 Mimir 。
Mimir 整體架構(gòu)相對(duì) Cortex 簡(jiǎn)化了不少正什,外部依賴啥纸,部署都好很多,這是一個(gè)不錯(cuò)的點(diǎn)婴氮,如果你以前用的就是 Cortex斯棒,建議參考其【Cortex 遷移指南】進(jìn)行一鍵遷移 ,如果本身用的是 Thanos主经,建議再等等看荣暮。
Mimir 是否如它愿景--成為云原生時(shí)代可觀測(cè) metrics 的統(tǒng)一后端存儲(chǔ)終極方案,我們拭目以待罩驻。