1. 程式人生 > >Hbase查詢速度快的緣由

Hbase查詢速度快的緣由

你的快速是指什麼? 是根據億級的記錄中快速查詢,還是說以實時的方式查詢資料。

A:如果快速查詢(從磁碟讀資料),hbase是根據rowkey查詢的,只要能快速的定位rowkey,  就能實現快速的查詢,主要是以下因素:
     1、hbase是可劃分成多個region,你可以簡單的理解為關係型資料庫的多個分割槽。
      2、鍵是排好序了的
      3、按列儲存的

首先,能快速找到行所在的region(分割槽),假設表有10億條記錄,佔空間1TB,   分列成了500個region,  1個region佔2個G. 最多讀取2G的記錄,就能找到對應記錄; 

其次,是按列儲存的,其實是列族,假設分為3個列族,每個列族就是666M, 如果要查詢的東西在其中1個列族上,1個列族包含1個或者多個HStoreFile,假設一個HStoreFile是128M, 該列族包含5個HStoreFile在磁碟上. 剩下的在記憶體中。

再次,是排好序了的,你要的記錄有可能在最前面,也有可能在最後面,假設在中間,我們只需遍歷2.5個HStoreFile共300M

最後,每個HStoreFile(HFile的封裝),是以鍵值對(key-value)方式儲存,只要遍歷一個個資料塊中的key的位置,並判斷符合條件可以了。 一般key是有限的長度,假設跟value是1:19(忽略HFile上其它塊),最終只需要15M就可獲取的對應的記錄,按照磁碟的訪問100M/S,只需0.15秒。 加上塊快取機制(LRU原則),會取得更高的效率。

相關推薦

Hbase查詢速度緣由

你的快速是指什麼? 是根據億級的記錄中快速查詢,還是說以實時的方式查詢資料。 A:如果快速查詢(從磁碟讀資料),hbase是根據rowkey查詢的,只要能快速的定位rowkey,  就能實現快速的查詢,主要是以下因素:      1、hbase是可劃分成多個region,你可以簡單的理解為關係型資料庫的多個

HBase相對Hive查詢速度的對比

底層 merge block 檢索 from 找不到 一定的 效率 索引   首先Hive的底層首先是MR,是屬於批處理處理時間相對較長,不屬於實時讀寫。在其架構上HBase和Hive有很大的區別.      架構介紹:   Hive架構   –(1)用戶接口主要有三

hbase rowkey設計原則 和為什麼nosql查詢速度

HBase RowKey 概述 HBase是一個分散式的、面向列的資料庫,它和一般關係型資料庫的最大區別是:HBase很適合於儲存非結構化的資料,還有就是它基於列的而不是基於行的模式。 既然HBase是採用KeyValue的列儲存,那Rowkey就是KeyValue的K

有時候子查詢比左連接查詢速度

and kill lec del text time per 建立 achieve 最近幾天在優化數據庫,有些數據表因為建立時候不合理導致查詢的時候速度比較慢,比如三個表,三個表中數據最少的都是十萬條,這些表在左聯或者右聯的時候速度可能需要幾秒鐘,再加上where條件,條件

ArrayList具有數組的查詢速度的優點以及增刪速度慢的缺點

() system 雙向循環鏈表 功能 接口 extends 分組 string 類的方法 LinkedList接口(在代碼的使用過程中和ArrayList沒有什麽區別) ArrayList底層是object數組,所以ArrayList具有數組的查詢速度快的優點以及增刪速度

為什麼MyISAM會比Innodb的查詢速度

 INNODB在做SELECT的時候,要維護的東西比MYISAM引擎多很多:  1)資料塊,INNODB要快取,MYISAM只快取索引塊,  這中間還有換進換出的減少;     2)innodb定址要對映到塊,再到行,MYI

Java 實現二分查詢\折半查詢(速度查詢有序列表)

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。         該演算法要求:         1、  必須採用順序儲存結構。         2、  必須按關鍵

為什麼MyISAM會比Innodb的查詢速度

為什麼MyISAM會比Innodb的查詢速度快? INNODB在做SELECT的時候,要維護的東西比MYISAM引擎多很多:1)資料塊,INNODB要快取,MYISAM只快取索引塊,  這中間還有換進換出的減少;  2)innodb定址要對映到塊,再到行,MYISAM記錄的

mysql使用索引為什麼查詢速度很多?

首先來看看錶是否有索引的命令 show index from 表名; 看到主鍵索引,索引型別是BTREE(二叉樹) 正是因為這個二叉樹演算法,讓查詢速度快很多,二叉樹的原理,就是取最中間的一個數,然後把大於這個數的往右邊排,小於這個數的就向左排,每次減半,然後依次類推,每

處理百萬級以上數據提高查詢速度的方法

pro 需要 存儲空間 and 包括 col sql查詢 意義 調整 1.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。 2.對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的

利用SQL索引提高查詢速度

code 創建索引 nbsp 存儲 test 約束 soft 讀取 select 1.合理使用索引 索引是數據庫中重要的數據結構,它的根本目的就是為了提高查詢效率。現在大多數的數據庫產品都采用IBM最先提出的ISAM索引結構。 索引的使用要恰到好處,其使用原則如下:

一個隊列類的實現(比delphi自帶的速度70倍)(線程安全版本)

initial unlock use for in 線程 self. private aps 自帶 unit sfContnrs; interface {$DEFINE MULTI_THREAD_QUEUE} //線程安全版本,如果不需要線程安全,請註釋掉此行代碼 {

為什麽要用獨立香港服務器,真的只是因為它速度

為什麽要用獨立香港服務器對於很多人來說都不太理解,也不清楚為什麽需要這樣做,對於獨立香港服務器 的好處也不太清楚明白,只是聽人說好,所以就用了,其實大家說他好其實是有原因,下面我們就有請專業 的人士來給我們大家講解一下,獨立香港服務器的好處有哪些。 1、獨立香港服務器,在使用上,更加的安全,

美國SK機房,聯邦又一速度防禦高的王牌機房

高防服務器美國SK機房在中國市場已經占據非常重要的地位,很多用戶都了解 美國SK機房原始的速度和服務不盡人意,但期防護能力非常強大, 機房總出口上部署有多個T級集群硬防,可以有效抵擋DDOS攻擊。 聯邦在線此次為打造速度更快,能夠防禦CC攻擊美國高防護服務器 與美國SK機房強強聯手,排他性經營高

處理百萬級以上的數據提高查詢速度的方法

大服務 合並行 系統 int read_only raid select 線程數 總數 處理百萬級以上的數據提高查詢速度的方法: 1.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。

免備案速度帶寬大香港服務器租用,只需要299,您沒有聽錯

速度快價格低服務器租用 海騰QQ83095419 香港寬頻服務器是香港主流帶寬商之一,帶寬價格相當便宜,是需求大帶寬居家首選,服務器100G光纖國際帶寬單獨接入,鏈接世界各地,訪問速度也非常快,是香港性價比超高的服務器,同樣也是我公司主打的機房,價格也是在市場上非常有優勢的,同機房同配置我們做到較低。

求線路穩定韓國服務器 延遲低速度多IP服務器?

運維 更多 韓國服務器 並不是 聯系 性價比 機房 配置 線路 求線路穩定韓國服務器 性價比高的韓國機房求線路穩定韓國服務器,為何韓國服務器會走紅大江南北 首先從速度來說,速度,速度,還是速度,並不是所有的韓國服務器速度就快的主要取決於所在機房。韓國擁有令全世界羨慕的網絡速

國外哪裏有低價、G口帶寬服務器?當然是非莫屬速度的美國GS服務器了

g口帶寬 低價錢 美國GS數據中心服務領域擁有亞洲和美國的最佳速度,使用BGP智能路由平臺,擁有7個上行鏈路和冗余備份線路,超過上百G出口,國際帶寬優勢明顯。該機房主打低價路線,我司與機房保持長期合作,現在做特價,獨立服務器月付低至650元還帶4個獨立IP。我司所有國外服務器都不需要備案,機器開通就可

數據庫查詢速度慢了?是否是因為死鎖了?一種解決死鎖的方法。

-- 檢索 blog kill _id exe 進行 xxx 通過 --查詢哪些表被死鎖 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sy

Mysql處理海量數據時的一些優化查詢速度方法【轉】

有意義 最好 普通 drop git .com war 解決方案 臨時 最近一段時間由於工作需要,開始關註針對Mysql數據庫的select查詢語句的相關優化方法。由於在參與的實際項目中發現當mysql表的數據量達到百萬級時,普通SQL查詢效率呈直線下降,而且如果where