大資料的實時查詢
最近出現了一個很火的詞,叫做流式計算,可以做很高的實時處理,比如Twitter的Storm,它的特點是不處理靜態資料,而是處理會連續產生的流式資料,而Hadoop專注於批處理,因為Hadoop為批處理作了高度優化,MapReduce系統典型地通過排程批量任務來操作靜態資料;而流式計算的典型正規化之一是不確定資料速率的事件流流入系統,系統處理能力必須與事件流量匹配,或者通過近似演算法等方法優雅降級,通常稱為負載分流(load-shedding)。
所以兩者應用場景還是不同的。
最近比較關心一個問題,就是大資料的實時查詢。一般如何實現呢,簡單瞭解了一下,大概有幾種方式吧:
(1)HBase+Solr:比如某電信專案中採用HBase來儲存使用者終端明細資料,供前臺頁面即時查詢。HBase無可置疑擁有其優勢,但其本身只對rowkey支援毫秒級的快速檢索,對於多欄位的組合查詢卻無能為力。針對HBase的多條件查詢也有多種方案,但是這些方案要麼太複雜,要麼效率太低,基於Solr的HBase多條件查詢原理很簡單,將HBase表中涉及條件過濾的欄位和rowkey在Solr中建立索引,通過Solr的多條件查詢快速獲得符合過濾條件的rowkey值,拿到這些rowkey之後在HBASE中通過指定rowkey進行查詢。
(2)Impala:Hadoop的新成員,是Cloudera公司主導開發的新型查詢系統,它提供SQL語義,能查詢儲存在Hadoop的HDFS和HBase中的PB級大資料。已有的Hive系統雖然也提供了SQL語義,但由於Hive底層執行使用的是MapReduce引擎,仍然是一個批處理過程,難以滿足查詢的互動性。相比之下,Impala的最大特點也是最大賣點就是它的快速。
還需要進一步的調研。
相關文章
- 基於Redis、Storm的實時資料查詢實踐RedisORM
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- (利用索引)大資料查詢索引大資料
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- 資料庫資料的查詢----連線查詢資料庫
- 如何使用 Milvus 向量資料庫實現實時查詢資料庫
- TableStore多元索引,大資料查詢的利器索引大資料
- 大資料量資料查詢最佳化大資料
- mysql查詢最近時間的一組資料MySql
- 關於Oracle資料庫的時間查詢Oracle資料庫
- 查詢某時間段的統計資料
- 資料結構之三大查詢資料結構
- 流式查詢1. mybatis的遊標Cursor,分頁大資料查詢MyBatis大資料
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- CoreData實踐(四)——查詢資料
- LINUX下查詢大檔案及大的資料夾Linux
- RAC:在子查詢使用gv$檢視,有時查詢不出資料
- 回閃查詢查詢刪除的資料
- Flask——資料的查詢Flask
- 查詢一個表插入資料的時間,按BLOCK時間BloC
- PB級資料實時查詢,滴滴Elasticsearch多叢集架構實踐Elasticsearch架構
- MySQL - 資料查詢 - 簡單查詢MySql
- B樹查詢,磁碟查詢資料
- 實時查詢最耗CPU資源的SQL語句SQL
- 資料庫 - 資料查詢資料庫
- Mysql查詢一行資料超時分析MySql
- Hadoop - 實時查詢DrillHadoop
- 插入查詢資料的操作
- 查詢前50%的資料
- 5 大類 15 小類查詢型別全面對比,三大流行時序資料庫查詢效能孰強孰劣型別資料庫
- Java ——MongDB 插入資料、 模糊查詢、in查詢Java
- 資料庫高階查詢之子查詢資料庫
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- indexedDB 查詢資料Index
- RESTFul資料查詢REST
- MySQL資料查詢MySql
- EF 查詢資料