hadoop異構儲存+lucene索引
異構儲存這個詞或許很多人並不陌生,但如果一個搜尋引擎將Hadoop 得異構儲存和索引整合會有什麼效果呢?
我們先來看一下hadoop 異構儲存的相關概念:
1. 什麼是hadoop 的異構儲存
Hadoop 在2.6.0 版本中引入了一個新特性——異構儲存。異構儲存關鍵在於異構2 個字,異構儲存可以根據各個儲存介質讀寫特性的不同發揮各自的優勢,比如最普通的Disk 磁碟;而對於熱資料而言,可以採用SSD 的方式進行儲存,這樣就能保證高效的讀效能,在速率上甚至能做到十倍於或百倍於普通磁碟讀寫的速度。
2. 目前hadoop 支援的儲存型別如下:
* RAM_DISK 儲存在記憶體
* SSD
儲存在固態硬碟
* DISK(default)
儲存在普通磁碟(預設)
* ARCHIVE
按照RAM_DISK->SSD->DISK->ARCHIVE 的順序,存取速度由快到慢,單bit 儲存成本由高到低。
2.1 命令的使用
0. hdfs storagepolicies -listPolicies (檢視支援的儲存策略)
1.hadoop fs -mkdir /data/ssddata (建立目錄)
2.hdfs storagepolicies -setStoragePolicy -path /data/ssddata –policy One_SSD
(將目錄設定為一份存在ssd 上面,其他的副本存在普通的磁碟上面,以後儲存在該資料夾下面的檔案的塊副本都會存一份在ssd 上面)
3.hdfs storagepolicies -getStoragePolicy -path /data/ssddata( 檢視該目錄的儲存策略,結果如下圖)
4. 取消設定的儲存策略,建立檔案的時候預設為unspecified ,那麼該命令可以將其修改為預設值
hdfs storagepolicies -unsetStoragePolicy -path /data/normal/ip2.txt
2.2 在上一步中對檔案設定的儲存策略只是對檔案儲存型別做了標識,還需要透過hdfs mover 對其檔案儲存型別進行改變,命令如下
hdfs mover [-p <files/dirs> | -f <local file name>],
3. 索引
在資料檢索中,給資料新增索引是一個重要環節,傳統中關係型資料庫大多透過建索引來達到快速檢索的效果,OLTP 資料庫大多是B 或者B+ 樹索引。想必大家都知道lucene, 它的索引是倒排索引(該概念不再這裡敘述),不同的分詞使它的全文檢索功能很強大。諸如大家熟知的Elasticsearch 也是在以lucene 做索引引擎。但遺憾的是ES 並不支援異構儲存,且ES 在面臨單個分片資料量超大時也會存在瓶頸問題。
4. 透過上面兩個方面的分析,我們可以試著設想,是否能夠做一個這樣的OLAP 資料庫:可以將資料存放在hdfs 上,並且資料透過lucene 做了索引,那麼這樣檢索資料的速度會快上百倍、千倍,並且它還實現了異構儲存的方案,熱資料存放在SSD ,並且可以定期自動的遷移,這樣可以大大節省硬體成本。如果,如果這個資料庫還實現了sql 查詢的方式,那豈不是超爽,學習成本也將大大下降,只需要掌握SQL 語法就可以玩轉大資料啦!Emmmmm 理想很豐滿,現實...... 現!實!也!有!網上查詢還真有這樣的產品,錄信數軟 LSQL ,看到介紹還不錯,更不需要像ES 那樣要學習他的介面,還有Restful 風格的查詢介面。想當年年少不知頭髮貴,一入IT 深似海。有這樣的產品,媽媽再也不用擔心我的頭髮掉光啦^_^ !附上官網連結: ,還可以免費試用噢!為了我們滴頭髮,還不快快了解一哈^_^ !
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2655070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全文索引-lucene,solr,nutch,hadoop之nutch與hadoop索引SolrHadoop
- 索引儲存小記索引
- 《MySQL 基礎篇》十一:索引的儲存結構MySql索引
- 大資料儲存平臺之異構儲存實踐深度解讀大資料
- 【Lucene&&Solr】Lucene索引和搜尋流程Solr索引
- Lucene建立索引流程索引
- SQLServeronLinux列儲存索引SQLServerLinux索引
- 函式索引的儲存函式索引
- SQL Server 深入解析索引儲存(聚集索引)SQLServer索引
- lucene第一步,lucene基礎,索引建立索引
- SQL Server 深入解析索引儲存(非聚集索引)SQLServer索引
- 什麼是行儲存和列儲存?正排索引和倒排索引?MySQL既不是倒排索引,也索引MySql
- 2_mysql(索引、儲存引擎)MySql索引儲存引擎
- PostgreSQL Page頁結構解析(5)- B-Tree索引儲存結構#1SQL索引
- PostgreSQL Page頁結構解析(6)- B-Tree索引儲存結構#2SQL索引
- PostgreSQL Page頁結構解析(7)- B-Tree索引儲存結構#3SQL索引
- Redis儲存結構以及儲存格式Redis
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- 大資料架構-使用HBase和Solr配置儲存與索引大資料架構Solr索引
- 儲存結構
- SQL Server 深入解析索引儲存(上)SQLServer索引
- SQL Server 深入解析索引儲存(中)SQLServer索引
- SQL Server 深入解析索引儲存(堆)SQLServer索引
- 移動索引的儲存過程索引儲存過程
- MySQL索引、事務與儲存引擎MySql索引儲存引擎
- JanusGraph -- 儲存結構
- CentOS 儲存結構CentOS
- MySQL Innodb 儲存結構 & 儲存Null值 解析MySqlNull
- 學習Oracle的索引、表的儲存Oracle索引
- Myisam 儲存引擎-MYI索引檔案-1儲存引擎索引
- lucene join解決父子關係索引索引
- MySQL索引及優化(1)儲存引擎和底層資料結構MySql索引優化儲存引擎資料結構
- 為什麼選擇b+樹作為儲存引擎索引結構儲存引擎索引
- 儲存過程——異常捕獲&列印異常資訊儲存過程
- Hadoop 分散式儲存分散式計算Hadoop分散式
- 圖的儲存結構
- 三種儲存結構
- 儲存與索引------《Designing Data-Intensiv索引