HBASE CCSHB考照的一點心得
有點久的事了 我大概在2012年底通過了CCSHB的認證(CCB-400) 但由於HBASE的資源在台灣還很不足 網路上的題庫也很少 因此想說把經驗分享出來 幫助其他對Cloudera Certified Specialist in Apache HBase (CCSHB)考試有興趣的人 由於CLOUDERA的考試很嚴謹 考題也很活躍 (我重考一次 兩次題目幾乎不同) 下面的資料是建立在幾個前提之下 1. 了解HADOOP是甚麼東西 2. 你必須知道HADOOP ECO System是甚麼東西 3. 安裝、並使用過HBASE 下面整理一些考試必問的題目與方向 I.為何要使用HBASE? 降低HDFS資料存取的困難度(HDFS不支援及時的刪除修改) 為提升HDFS資料的存取/查詢速度 為使用者提供資料分散/安全的機制 提供許多程式的資料接口 提供半及時(略慢於RMDBS)的資料查詢 可儲存非結構化資料(可允許欄位空白,同時資料欄可儲存時建立create on fly) 可儲存非常大而且任意格式的欄位資料(所有資料在HBase中都是存Byte形式) 能儲存非常多筆的Row Key 能提供幾乎無限長度的Column(欄位)長度 II.設計重點 Row Key的設計非常重要 因為一但Row Key新增下去 就無法修改(只能刪除) Hbase中所有資料都會以字典排序 因此資料的分散程度跟Row Key有直接的關係 Row Key同時也決定了查詢的效能 Row Key的長度會影響記憶體使用 Row Key包含較多的資訊會消耗較多的記憶體,但依靠較多的Row Key資料可以較直接的查詢到資料進而降低IO次數。 Row Key包含較少的資訊可以節省記憶體,但較少的Row key資料代表Row key隱含了較少的資訊,適合循序的查詢(一次調出多筆資料) III. 設計心得 HBase不是RMDBS 勿以關聯試資料庫的角度去設計以及操作他 Hbase專設計來儲存大量資料(意思是如果沒有大量資料就一點好處都沒有) 務必清楚需求(有哪些資料,要進行哪些查詢) 再根據這些需求進行資料表設計,先透過小規模的實驗,確定資料分布沒有群聚問題(夠份散)。 一旦服務開始跑 就不要進行大規模的...