天天看點

備忘錄--最近一些總結

  最近的工作我很着重從hbase的使用和系統運維這兩個角度進行總結,因為工作繁忙是以沒法進一步深入查閱資料進行總結,今天還是和以前備忘錄一樣,将自己覺得有所領悟的知識點先寫下來。

     hbase的使用的确很神奇,我以前自學hbase感覺困難重重,現在發現還是沒有實戰經驗,也沒有接觸很好的實踐場景,雖然困難重重,但是有一點我之前還是了解到位的,那就是hbase和關系資料庫相比是一個更加松散的資料結構,hbase的優勢就是在建表的階段就可以充分考慮資料查詢的效率問題。這句話可能不是太好了解,等以後有時間我再展開分析。

    建立一張hbase的表包含rowkey、列族、列最後是列對應的内容,rowkey,列族以及列的設計應該包含資料索引的功能,例如人員身份資訊表,我們可以把不同身份資訊包含在rowkey裡,這樣當進行一個具體業務查詢時候就可以從業務概念上縮小資料範圍,而hbase存儲資料是按照hregion進行存儲的,而hregion又是按照列族進行存儲,是以合理列族設計也會使得查詢資料量變的更小。當然這些都是批量查詢,如果我們要查詢具體的某一條資料了,那麼我們就要設計更加精确的索引,這個問題就更加有意思了。這些還需要繼續研究和琢磨下。

    大資料技術日新月異,傳統的hadoop技術已經顯得有點老套了,hadoop生态圈的技術已經超出了java原始語言的範疇,就像spark使用了scala語言,這也說明程式設計語言也在發生巨大的演進了。程式員的痛苦就是在于你要不斷的學習,不斷的更新自己的知識結構,這個要把它當作一個習慣。

   我現在面對一個好機遇可以深入學習下hadoop相關技術,我應該首先要把基礎打好,也就是說像spark和storm這樣的新技術我不應該貪戀新而勉為其難先學,還是從hadoop基礎技術開始,這點藥切記。

   以前專職做了許久前端,是以對于服務端系統運維接觸并不深入,最近好好做了幾回運維工程師的事情,安裝linux伺服器,安裝程式,檢視日志,監控系統和軟體的運作情況,這些工作讓我發現一個優秀的系統運維人員其實并不簡單,這裡特别需要你對作業系統的知識有深入了解和運用,而且運維的工作對于程式後續的性能優化至關重要,是以linux的操作也是今後要加強的重點,而且我現在發現了解作業系統的知識對于學習好hadoop技術以及網絡程式設計也是至關重要。