大資料入門級學習:SQL與NOSQL資料庫

來源:互聯網
上載者:User

標籤:aaa   red   審核   圖片   雜湊   完成   定義   形式   底層開發   

這幾年的大資料熱潮帶動了一啟用了一大批hadoop學習愛好者。有自學hadoop的,有報名培訓班學習的。所有接觸過hadoop的人都知道,單獨搭建hadoop裡每個組建都需要運行環境、修改設定檔測試等過程。對於我們這些入門級新手來說簡直每個都是坑。國內的發行版hadoop那麼多,似乎都沒有來填這樣的坑?不知道是沒法解決,還是沒有想到?
安裝運行環境這樣的坑,那些做國產大資料底層開發的,如果不能解決這個問題的話,我覺得不是一個合格的大資料底層開發機構。不過比較幸運的是,三月的時候申請拿到了一個DKHadoop的三節點發行版,大快開源的發行版hadoop。這個國產發行版就把各種常用的組建比如:HDFS,Hbase,Storm,Flume,Kafka,Mahout,Es等整合到了一起,終於不需要絞盡腦汁去折騰底層平台的搭建與配置了,簡單的完成安裝即可。這對於hadoop初學者來說,可謂是福音了。
扯的稍微多了點,後面在給家分享DKHadoop的安裝以及使用,今天想給大家分享的是大資料基礎內容中的資料庫:SQL與NOSQL。理解這兩種資料,只需要搞清楚二者的概念以及有何不同即可。
二者概念:
1、SQL資料庫,指關係型資料庫。主要代表:SQL?Server,Oracle,MySQL(開源),PostgreSQL(開源)。
2、NoSQL泛指非關係型資料庫。主要代表:MongoDB,Redis,CouchDB。
二者區別:
SQL資料與NOSQL資料的區別其實還是比較大的,總結起來基本可以從以下幾個方面進行對比分析:
(1)使用情境:SQL 是數字,它最適合明確的定義,精確規範的獨立項目。典型的使用案例是線上商城和銀行系統; NoSQL 是類比,它最適合無固定要求的組織資料。典型的使用案例是社交網路,客戶管理和網路分析系統。
(2)儲存方式:SQL資料存在特定結構的表中,SQL通常以資料庫表形式儲存資料。舉個例子,存個學生借書資料:

NoSQL儲存方式比較靈活,儲存方式可以是JSON文檔、雜湊表或者其他方式。比如使用類JSON檔案儲存體上表中熊大的借閱資料:

(3)SQL中如果需要增加外部關聯資料的話,正常化做法是在原表中增加一個外部索引鍵關聯外部資料表。例如需要在借閱表中增加審核人資訊,先建立一個審核人表:

再在原來的借閱人表中增加審核人外鍵,這樣如果我們需要更新審核人個人資訊的時候只需要更新審核人表而不需要對借閱人表做更新。

而在NoSQL中除了這種正常化的外部資料表做法以外,我們還能用如下的非正常化方式把外部資料直接放到原資料集中,以提高查詢效率。缺點也比較明顯,更新審核人資料的時候將會比較麻煩。

(4)資料耦合性?:SQL中不允許刪除已經被使用的外部資料,例如審核人表中的"熊三"已經被分配給了借閱人熊大,那麼在審核人表中將不允許刪除熊三這條資料,以保證資料完整性;而NoSQL中則沒有這種強耦合的概念,可以隨時刪除任何資料。?
(5)查詢效能:在相同水平的系統設計的前提下,因為NoSQL中省略了JOIN查詢的消耗,故理論上效能上是優於SQL的。

大資料入門級學習:SQL與NOSQL資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.