關系型數據庫與非關系型數據庫特點
一、關系型數據庫
關系型數據庫最典型的數據結構是表,由二維表及其之間的聯系所組成的一個數據組織
優點:
1、易於維護:都是使用表結構,格式一致;
2、使用方便:SQL語言通用,可用於復雜查詢;
3、復雜操作:支持SQL,可用於一個表以及多個表之間非常復雜的查詢。
缺點:
1、讀寫性能比較差,尤其是海量數據的高效率讀寫;
2、固定的表結構,靈活度稍欠;
3、高並發讀寫需求,傳統關系型數據庫來說,硬盤I/O是一個很大的瓶頸。
二、非關系型數據庫
非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合,可以是文檔或者鍵值對等。
優點:
1、格式靈活:存儲數據的格式可以是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,使用靈活,應用場景廣泛,而關系型數據庫則隻支持基礎類型。
2、速度快:nosql可以使用硬盤或者隨機存儲器作為載體,而關系型數據庫隻能使用硬盤;
3、高擴展性;
4、成本低:nosql數據庫部署簡單,基本都是開源軟件。
1 、方便擴展(數據之間沒有關系,很好擴展!)
2 、大數據量高性能( Redis 一秒寫 8 萬次,讀取 11 萬, NoSQL 的緩存記錄級,是一種細粒度的緩存,性 能會比較高!)
3 、數據類型是多樣型的!(不需要事先設計數據庫!隨取隨用!如果是數據量十分大的表,很多人就無法設計瞭!)
缺點:
1、不提供sql支持,學習和使用成本較高;
2、無事務處理;
3、數據結構相對復雜,復雜查詢方面稍欠。
1、數據存儲方式不同。
關系型和非關系型數據庫的主要差異是數據存儲的方式。關系型數據天然就是表格式的,因此存儲在數據表的行和列中。數據表可以彼此關聯協作存儲,也很容易提取數據。
與其相反,非關系型數據不適合存儲在數據表的行和列中,而是大塊組合在一起。非關系型數據通常存儲在數據集中,就像文檔、鍵值對或者圖結構。你的數據及其特性是選擇數據存儲和提取方式的首要影響因素。
2、擴展方式不同。
SQL和NoSQL數據庫最大的差別可能是在擴展方式上,要支持日益增長的需求當然要擴展。
要支持更多並發量,SQL數據庫是縱向擴展,也就是說提高處理能力,使用速度更快速的計算機,這樣處理相同的數據集就更快瞭。
因為數據存儲在關系表中,操作的性能瓶頸可能涉及很多個表,這都需要通過提高計算機性能來客服。雖然SQL數據庫有很大擴展空間,但最終肯定會達到縱向擴展的上限。而NoSQL數據庫是橫向擴展的。
而非關系型數據存儲天然就是分佈式的,NoSQL數據庫的擴展可以通過給資源池添加更多普通的數據庫服務器(節點)來分擔負載。
3、對事務性的支持不同。
如果數據操作需要高事務性或者復雜數據查詢需要控制執行計劃,那麼傳統的SQL數據庫從性能和穩定性方面考慮是你的最佳選擇。SQL數據庫支持對事務原子性細粒度控制,並且易於回滾事務。
雖然NoSQL數據庫也可以使用事務操作,但穩定性方面沒法和關系型數據庫比較,所以它們真正閃亮的價值是在操作的擴展性和大數據量處理方面。
Linux環境安裝
一.安裝redis步驟
1. 安裝gcc依賴
由於 redis 是用 C 語言開發,安裝之前必先確認是否安裝 gcc 環境(gcc -v),如果沒有安裝,執行以下命令進行安裝
-y接下來所有選擇性操作默認都是yes
查詢gcc相關的依賴包:yum search "gcc"
[root@localhost local]# yum install -y gcc
如果gcc不能安裝,沒有相關的包則執行如下操作
wget http://vault.centos.org/6.5/os/x86_64/Packages/ppl-0.10.2-11.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/mpfr-2.4.1-6.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/cpp-4.4.7-4.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/kernel-headers-2.6.32-431.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/glibc-headers-2.12-1.132.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/glibc-devel-2.12-1.132.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/gcc-4.4.7-4.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/libstdc++-devel-4.4.7-4.el6.x86_64.rpm
wget http://vault.centos.org/6.5/os/x86_64/Packages/gcc-c++-4.4.7-4.el6.x86_64.rpm
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部