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
實時查詢,即反應根據當前時間的資料,可以認為這些資料始終是在記憶體的,保證了資料的實時響應。
SQL查詢語句執行速度快,儲存過程執行慢
今天乙個生成10w條資料的儲存過程執行了95s,但是單獨執行sql語句只需要28s,查資料後發現原來這是儲存過程的機制導致的,也就是傳說中的引數嗅探 網上的一段話 1 可能是發生了引數嗅探,第一次賦給儲存過程的輸入引數,會為該儲存過程生成乙個基於輸入引數的執行計畫,因此如果第一次輸入的引數不具有代表...
暫存器比記憶體訪問速度快的原因
距離太遠,暫存器就在cpu內部,而記憶體則在外部。暫存器結構複雜,記憶體設計簡單。工作方式不同。cpu訪問記憶體的過程中會包含訪問暫存器的操作。以上是看完文章後的個人理解,放上原文如下。同樣都是電晶體儲存裝置,為什麼暫存器比記憶體快呢?mike ash 寫了一篇很好的解釋,非常通俗地回答了這個問題,...
暫存器為什麼比記憶體的訪問速度快
在計算機的儲存層次 memory hierarchy 之中,暫存器 register 最快,記憶體其次,最慢的是硬碟。具體原因如下 距離不是主要因素,但是最好懂,所以放在最前面說。記憶體離cpu比較遠,所以要耗費更長的時間讀取。以3ghz的cpu為例,電流每秒鐘可以振盪30億次,每次耗時大約為0.3...