SQL與NoSQL資料庫入門基礎知識詳解
這幾年的大資料熱潮帶動了一啟用了一大批 hadoop學習愛好者。有自學hadoop的,有報名培訓班學習的。所有接觸過hadoop的人都知道,單獨搭建hadoop裡每個組建都需要執行環境、修改配置檔案測試等過程。對於我們這些入門級新手來說簡直每個都是坑。國內的發行版hadoop那麼多,似乎都沒有來填這樣的坑?不知道是沒法解決,還是沒有想到?
安裝執行環境這樣的坑,那些做國產大資料底層開發的,如果不能解決這個問題的話,我覺得不是一個合格的大資料底層開發機構。不過比較幸運的是,三月的時候申請拿到了一個 DKHadoop的三節點發行版,大快開源的發行版hadoop。這個國產發行版就把各種常用的組建比如:HDFS,Hbase,Storm,Flume,Kafka,Mahout,Es等整合到了一起,終於不需要絞盡腦汁去折騰底層平臺的搭建與配置了,簡單的完成安裝即可。這對於hadoop初學者來說,可謂是福音了。
扯的稍微多了點,後面在給家分享 DKHadoop的安裝以及使用,今天想給大家分享的是大資料基礎內容中的資料庫:SQL與NOSQL。理解這兩種資料,只需要搞清楚二者的概念以及有何不同即可。
二者概念:
1、 SQL資料庫,指關係型資料庫。主要代表:SQL Server , Oracle , My SQL ( 開源 ) , Postgre SQL ( 開源 ) 。
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的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2285707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NoSQL資料庫的基礎知識SQL資料庫
- sql入門基礎知識分享SQL
- [TEAP早期試讀]NoSQL資料庫的基礎知識SQL資料庫
- mysql資料庫基礎知識--一分鐘讓你資料庫入門(sql基礎語法篇)MySql資料庫
- 資料庫安全基礎入門知識簡介(轉)資料庫
- 資料庫基礎知識講解資料庫
- mysql資料庫sql語句基礎知識MySql資料庫
- 資料庫基礎知識資料庫
- 基礎知識梳理~資料庫資料庫
- 資料庫基礎重要知識資料庫
- GEO資料庫基礎知識資料庫
- JavaScript 基礎知識入門JavaScript
- MySql入門--基礎知識MySql
- css 入門基礎知識CSS
- 統計學入門:時間序列分析基礎知識詳解
- 大資料分析入門基礎知識學什麼?大資料
- JavaScript入門①-基礎知識築基JavaScript
- Git基礎知識詳解Git
- Redis基礎知識詳解Redis
- 資料庫基礎知識介紹!資料庫
- Dubbo基礎入門知識點
- Java基礎知識入門-JDKJavaJDK
- Java入門基礎知識點Java
- hadoop大資料平臺安全基礎知識入門Hadoop大資料
- 資料庫基礎知識整理與複習總結資料庫
- Linux驅動入門基礎基礎知識Linux
- 基礎知識:DFRduino UNO R3最全資料詳解UI
- Python基礎知識詳解 從入門到精通(六)檔案操作Python
- 資料庫安裝以及基礎知識資料庫
- 資料庫基礎知識總結(轉)資料庫
- 小白系列:資料庫基礎知識解析資料庫
- Python基礎知識入門(二)Python
- Python入門基礎知識(二)Python
- 【LaTeX入門】01、LaTeX基礎知識
- MySQL資料庫基礎詳解MySql資料庫
- NoSQL資料庫概念與NoSQL資料庫家族SQL資料庫
- 資料庫基礎知識詳解三:MVCC、正規化以及表連線方式資料庫MVC
- IPv6基礎知識詳解