HERMES首頁(yè)灶泵、文檔和下載 - 搜索引擎 - 開源中國(guó)社區(qū)
https://www.oschina.net/p/hermes
Hermes 的出現(xiàn),并不是為了替代 Solr甜紫、ES 的薪贫,就像 ES 的出現(xiàn)并不是為了干掉 Oracle 和 MySQL 一樣,而是為了滿足不同層面的需求。
Hermes 使用特點(diǎn):
- 一個(gè)基于大索引技術(shù)的海量數(shù)據(jù)實(shí)時(shí)檢索分析平臺(tái)已卸。側(cè)重?cái)?shù)據(jù)分析佛玄。
- 數(shù)據(jù)規(guī)模從幾億到萬(wàn)億不等。最小的表也是千萬(wàn)級(jí)別累澡。
hermes2.gif (10775 byte)
Hermes在索引上的改進(jìn):
1.索引按需加載
大 部分的索引處于關(guān)閉狀態(tài)梦抢,只有真正用到索引才會(huì)去打開;一級(jí)跳躍表采用按需Load愧哟,并不會(huì)Load整個(gè)跳躍表奥吩,用來(lái)節(jié)省內(nèi)存和提高打開索引的速度哼蛆。 Hermes經(jīng)常會(huì)根據(jù)業(yè)務(wù)的不同動(dòng)態(tài)的打開不同的索引,關(guān)閉那些不經(jīng)常使用的索引霞赫,這樣同樣一臺(tái)機(jī)器腮介,可以被多種不同的業(yè)務(wù)所使用,機(jī)器利用率高端衰。
- 排序和統(tǒng)計(jì)按需加載
排序和統(tǒng)計(jì)并不會(huì)使用數(shù)據(jù)的真實(shí)值叠洗,而是通過(guò)標(biāo)簽技術(shù)將大數(shù)據(jù)轉(zhuǎn)換成占用內(nèi)存很小的數(shù)據(jù)標(biāo)簽,占用內(nèi)存是原先的幾十分之一旅东。
另外不會(huì)將這個(gè)列的全部值都Load到內(nèi)存里灭抑,而是用到哪些數(shù)據(jù)Load哪些數(shù)據(jù),依然是按需Load抵代。不用了的數(shù)據(jù)會(huì)從內(nèi)存里移除腾节。
- 索引存儲(chǔ)在HDFS中
理論上只要HDFS有空間,就可以不斷的添加索引荤牍,索引規(guī)模不再嚴(yán)重受機(jī)器的物理內(nèi)存和物理磁盤的限制禀倔,容災(zāi)和數(shù)據(jù)遷移容易得多。
- 采用Gaia進(jìn)行進(jìn)程管理(騰訊版的Yarn)
數(shù)據(jù)在HDFS中参淫,集群規(guī)模和擴(kuò)容都是一件很容易的事情救湖,Gaia在騰訊集群規(guī)模已達(dá)萬(wàn)臺(tái))。
- 采用多條件組合跳躍降低數(shù)據(jù)傾斜
如果某個(gè)詞語(yǔ)存在數(shù)據(jù)傾斜涎才,則會(huì)與其他條件組合進(jìn)行跳躍合并(參考Doclist的Skip List資料)鞋既。
多級(jí)Merger與自定義分區(qū)
GC上進(jìn)行了一些優(yōu)化
自 己進(jìn)行內(nèi)存管理,關(guān)鍵地方的內(nèi)存對(duì)象的創(chuàng)建和釋放Java內(nèi)部自己控制耍铜,減少GC的壓力(類似Hbase的Block Buffer Cache)邑闺。 不使用WeakHashMap和全局鎖,WeakHashMap使用不當(dāng)容易內(nèi)存泄露棕兼,而且性能太差陡舅。用于分詞的相關(guān)對(duì)象是共用的,減少反復(fù)的創(chuàng)建對(duì)象和 釋放對(duì)象
Hermes實(shí)時(shí)檢索分析平臺(tái)_騰訊大數(shù)據(jù)
http://data.qq.com/article?id=817
一伴挚、序言
隨著TDW的發(fā)展靶衍,公司在大數(shù)據(jù)離線分析方面已經(jīng)具備了行業(yè)領(lǐng)先的能力。但是茎芋,很多應(yīng)用場(chǎng)景往往要求在數(shù)秒內(nèi)完成對(duì)幾億颅眶、幾十億甚至幾百上千億的數(shù)據(jù)分析,從而達(dá)到不影響用戶體驗(yàn)的目的。如何能夠及時(shí)有效的獲取分析結(jié)果提高工作效率田弥,這是許多分析人員在面對(duì)大數(shù)據(jù)所不得不面臨的問(wèn)題涛酗。要滿足這樣的需求,可以采用精心設(shè)計(jì)的傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)組成并行處理集群,或者采用一些內(nèi)存計(jì)算平臺(tái)商叹,或者采用HDD的架構(gòu)燕刻,但是這些都無(wú)疑需要比較高的軟硬件成本。海量數(shù)據(jù)的今天剖笙,堆機(jī)器不是每個(gè)業(yè)務(wù)都愿意去做的卵洗。
實(shí)時(shí)檢索分析平臺(tái)(Hermes),旨在為公司大數(shù)據(jù)分析業(yè)務(wù)提供一套實(shí)時(shí)的枯途、多維的忌怎、交互式的查詢籍滴、統(tǒng)計(jì)酪夷、分析系統(tǒng),為公司各個(gè)產(chǎn)品在大數(shù)據(jù)的統(tǒng)計(jì)分析方面提供完整的解決方案孽惰,讓萬(wàn)級(jí)維度晚岭、千億級(jí)數(shù)據(jù)下的秒級(jí)統(tǒng)計(jì)分析變?yōu)楝F(xiàn)實(shí)。
本文將粗略介紹系統(tǒng)的應(yīng)用場(chǎng)景勋功、設(shè)計(jì)架構(gòu)以及相關(guān)業(yè)務(wù)接入情況坦报。
二、Hermes實(shí)時(shí)檢索分析場(chǎng)景
打造輕量級(jí)OLAP(二):Hive + Elasticsearch - Treant - 博客園
http://www.cnblogs.com/en-heng/p/5943703.html
- 引言
在做OLAP數(shù)據(jù)分析時(shí)狂鞋,常常會(huì)遇到過(guò)濾分析需求片择,比如:除去只有性別、常駐地標(biāo)簽的用戶骚揍,計(jì)算廣告媒體上的覆蓋UV字管。在Kylin中不支持復(fù)雜數(shù)據(jù)類型(主要指array、struct信不、map)嘲叔,要求數(shù)據(jù)輸入Schema必須是平鋪的,但是平鋪后丟失了用戶的聚合標(biāo)簽信息抽活,而沒(méi)有辦法判斷某一個(gè)用戶是否只有性別硫戈、常駐地標(biāo)簽。顯然下硕,我們需要一種支持復(fù)雜數(shù)據(jù)類型的OLAP數(shù)據(jù)庫(kù)丁逝;底層為L(zhǎng)ucene的Elasticsearch正在向OLAP融合,騰訊內(nèi)部已經(jīng)用基于Lucene的分析數(shù)據(jù)庫(kù)Hermes來(lái)做多維數(shù)據(jù)分析梭姓。
Elasticsearch(ES)在設(shè)計(jì)之初是用來(lái)做全文檢索的搜索引擎果港,但隨著倒排索引所表現(xiàn)出來(lái)優(yōu)秀的查詢性能,有越來(lái)越多人拿它做分析數(shù)據(jù)庫(kù)使糊昙⌒谅樱可將ES視作文檔型NoSQL數(shù)據(jù)庫(kù),一般情況下將具有相同schema的文檔(document)歸屬于一個(gè)type,所有的文檔存儲(chǔ)于某一個(gè)index萝衩;ES與RDBMS的概念對(duì)比如下:
Relational DB ? Databases ? Tables ? Rows ? ColumnsElasticsearch ? Indices ? Types ? Documents ? Fields