SQL與NoSQL資料庫入門基礎知識詳解

2021-09-05 07:39:25 字數 1923 閱讀 1199

這幾年的大資料熱潮帶動了一啟用了一大批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資料的區別其實還是比較大的,總結起來基本可以從以下幾個方面進行對比分析:

ï¼2ï¼儲存方式:sql資料存在特定結構的表中,sql通常以資料庫表形式儲存資料。舉個例子,存個學生借書資料:

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

(3)sql中如果需要增加外部關聯資料的話,規範化做法是在原表中增加乙個外來鍵關聯外部資料表。例如需要在借閱表中增加審核人資訊,先建立乙個審核人表:

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

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

(4)資料耦合性 :sql中不允許刪除已經被使用的外部資料,例如審核人表中的"熊三"已經被分配給了借閱人熊大,那麼在審核人表中將不允許刪除熊三這條資料,以保證資料完整性;而nosql中則沒有這種強耦合的概念,可以隨時刪除任何資料。 

(5)查詢效能:在相同水平的系統設計的前提下,因為nosql中省略了join查詢的消耗,故理論上效能上是優於sql的。

對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入了解

並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系 。

SQL與NoSQL資料庫入門基礎知識詳解

這幾年的大資料熱潮帶動了一啟用了一大批hadoop學習愛好者。有自學hadoop的,有報名培訓班學習的。所有接觸過hadoop的人都知道,單獨搭建hadoop裡每個組建都需要執行環境 修改配置檔案測試等過程。對於我們這些入門級新手來說簡直每個都是坑。國內的發行版hadoop那麼多,似乎都沒有來填這樣...

資料庫分類 SQL資料庫 NoSQL資料庫

一 資料庫產品 二.sql資料庫 sql 是所有關係型資料庫的公共語言 關係型資料庫,是建立在關係模型基礎上的資料庫,借助於集合代數等數學概念和方法來處理資料庫中的資料,我們平常使用的資料庫,像mysql,oracle,sql server等都是傳統的關係型資料庫。關係模型指的就是二維 模型,而乙個...

告訴你 SQL 資料庫與 NoSQL 資料庫的區別

簡單來說 sql 資料庫和 nosql 資料庫有著共同的目標 儲存資料,但儲存的方式不同 每個表規定了固定的字段,各個欄位有固定的型別 而 nosql 使用類 json 的鍵值對儲存資料 還有使用陣列 圖形的 乙個記錄或者說乙個文件可以是這樣的格式 key 1 也可以是這樣的格式 key 2 所有的...