學了那麼多NoSQL 資料庫NoSQL 究竟是啥
文章推薦指數: 80 %
因此,對NoSQL 最普遍的解釋是”非關聯型的”,強調Key-Value Stores 和文檔資料庫的優點,而不是單純的反對RDBMS。
什麼是NoSQL. NoSQL(Not Only SQL) , ...
學了那麼多NoSQL資料庫NoSQL究竟是啥
2020年10月22日
筆記
NoSQL,資料庫,非關係型資料庫
NoSQL簡史
NoSQL一詞最早出現於1998年,是CarloStrozzi開發的一個輕量、開源、不提供SQL功能的關係資料庫。
2009年,Last.fm的JohanOskarsson發起了一次關於分散式開源資料庫的討論,來自Rackspace的EricEvans再次提出了NoSQL的概念,這時的NoSQL主要指非關係型、分散式、不提供ACID的資料庫設計模式。
2009年在亞特蘭大舉行的”no:sql(east)”討論會是一個里程碑,其口號是”selectfun,profitfromreal_worldwhererelational=false”。
因此,對NoSQL最普遍的解釋是”非關聯型的”,強調Key-ValueStores和文檔資料庫的優點,而不是單純的反對RDBMS。
什麼是NoSQL
NoSQL(NotOnlySQL),意思是”不僅僅是SQL“,指的是非關係型資料庫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。
NoSQL用於超大規模數據的存儲。
這些類型的數據存儲不需要固定的模式,無需多餘操作就可以橫向擴展。
為什麼使用NoSQL
隨著互聯網的飛速發展與普及,網民上網衝浪時所產生數據也逐日增多,從GB到TB到PB。
這些數據有很大一部分都是由關係型資料庫管理系統(RDBMS)來進行處理的。
由於關係型資料庫的範式約束、事務特性、磁碟IO等特點,若伺服器使用關係型資料庫,當有大量數據產生時,傳統的關係型資料庫已經無法滿足快速查詢與插入數據的需求。
NoSQL的出現解決了這一危機。
它通過降低數據的安全性,減少對事務的支援,減少對複雜查詢的支援,獲取性能上的提升。
但是,在某些特定場景下NoSQL仍然不是最佳人選,比如一些絕對要有事務與安全指標的場景。
NoSQL是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。
NoSQL的擁護者們提倡運用非關係型的數據存儲,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維的注入。
RDBMSvs.NoSQL
常見的資料庫管理系統
根據DB-Engines://db-engines.com/en/ranking的排行,本文截取了排行榜Top50如下圖所示。
DB-Engines排名根據資料庫管理系統的受歡迎程度對其進行排名。
該排名每月更新一次。
NoSQL資料庫四大家族
鍵值(Key-Value)存儲
特點:鍵值資料庫就像傳統語言中使用的哈希表。
通過Key添加、查詢或者刪除數據。
優點:查詢速度快。
缺點:數據無結構化,通常只被當作字元串或者二進位數據存儲。
應用場景:內容快取、用戶資訊比如會話、配置資訊、購物車等,主要用於處理大量數據的高訪問負載。
NoSQL代表:Redis、Memcached…
文檔(Document-Oriented)存儲
特點:文檔資料庫將數據以文檔的形式儲存,類似JSON,是一系列數據項的集合。
每個數據項都有一個名稱與對應的值,值既可以是簡單的數據類型,如字元串、數字和日期等;也可以是複雜的類型,如有序列表和關聯對象。
優點:數據結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構。
缺點:查詢性能不高,缺乏統一的查詢語法。
應用場景:日誌、Web應用等。
NoSQL代表:MongoDB、CouchDB…
列(WideColumnStore/Column-Family)存儲
特點:列存儲資料庫將數據儲存在列族(ColumnFamily)中,將多個列聚合成一個列族,鍵仍然存在,但是它們的特點是指向了多個列。
舉個例子,如果我們有一個Person類,我們通常會一起查詢他們的姓名和年齡而不是薪資。
這種情況下,姓名和年齡就會被放入一個列族中,而薪資則在另一個列族中。
優點:列存儲查找速度快,可擴展性強,更容易進行分散式擴展,適用於分散式的文件系統,應對分散式存儲的海量數據。
缺點:查詢性能不高,缺乏統一的查詢語法。
應用場景:日誌、分散式的文件系統(對象存儲)、推薦畫像、時空數據、消息/訂單等。
NoSQL代表:Cassandra、HBase…
圖形(Graph-Oriented)存儲
特點:圖形資料庫允許我們將數據以圖的方式儲存。
優點:圖形相關演算法。
比如最短路徑定址,N度關係查找等。
缺點:很多時候需要對整個圖做計算才能得出需要的資訊,分散式的集群方案不好做,處理超級節點乏力,沒有分片存儲機制,中國社區不活躍。
應用場景:社交網路,推薦系統等。
專註於構建關係圖譜。
NoSQL代表:Neo4j、InfiniteGraph…
NoSQL的優缺點
優點
高可擴展性
沒有標準化
分散式計算
有限的查詢功能(到目前為止)
低成本
缺點
最終一致是不直觀的程式
架構的靈活性,半結構化數據
沒有複雜的關係
總結
NoSQL資料庫在以下幾種情況下比較適用:
數據模型比較簡單
需要靈活性更強的IT系統
對資料庫性能要求較高
不需要高度的數據一致性
對於給定的Key,比較容易映射複雜值的環境
本文採用知識共享「署名-非商業性使用-禁止演繹4.0國際」許可協議。
大家可以通過分類查看更多關於NoSQL的文章。
🤗您的點贊和轉發是對我最大的支援。
📢關注公眾號哈嘍沃德先生「文檔+影片」每篇文章都配有專門影片講解,學習更輕鬆噢~
分享此文:分享到Twitter(在新視窗中開啟)按一下以分享至Facebook(在新視窗中開啟)按一下以分享到Telegram(在新視窗中開啟)分享到Pinterest(在新視窗中開啟)更多點這裡列印(在新視窗中開啟)分享到LinkedIn(在新視窗中開啟)分享到Reddit(在新視窗中開啟)分享到Tumblr(在新視窗中開啟)分享到Pocket(在新視窗中開啟)分享到WhatsApp(在新視窗中開啟)按一下即可分享至Skype(在新視窗中開啟)
Tags:NoSQL資料庫非關係型資料庫
RelatedPosts
2020年4月8日
Nginx系列教程(1)Nginx基本介紹和安裝入門
2020年10月19日
記一次實現遠程控制電腦開機過程
一.緣起先說說為什麼有這個想法,比如在遊戲首發的時候,想遠程控制..
PreviouspostJava基礎系列-Lambda
Nextpost嘗試從零開始構建我的商城(一):使用AbpvNext快速一個簡單的商城項目
VirMach便宜VPS
BlackFridayFlashSale
(2021/9/14~)
1CoreCPU
1GBRam
20GBSSD
1年只要USD$5up!!!
Tips:Offer10分鐘更新一次
Newcustomers,75%offfor2months.
1CoreCPU
1GBRam
25GBSSD
每月只要USD$1.75!!!
VirMachVPSHosting
VPSGamersVPSHosting
VPSCraftVPSHosting
VPSharedVPSHosting
QNews
熱門文章
深度學習論文翻譯解析(五):SiameseNeuralNetworksforOne-shotImageRecognition
【NLP-NER】命名實體識別中最常用的兩種深度學習模型
HTTP協議中的GET、POST請求方法的區別
小新Air142020直降200元:十代Corei7+MX350無短板
Intellijidea2020永久激活,親測可用!!!(持續更新)
日產前CEO瞞天過海逃出東京!美方披露「真相」
更年輕/獨立/流暢!消息稱華為加速推進EMUI11:最快9月底內測
外國網友測試RTX3080運行《孤島危機:重製版》:4K全高幀率感人
皓影、思域7款車型齊破萬!本田9月在華銷量迎爆發
《淺入淺出》-RocketMQ
熱門搜尋.NET
.NETCore
5G
AMD
c#
CPU處理器
docker
Intel
iPhone12
iPhone手機
JAVA
javascript
linux
MySQL
NVIDIA
Python
Redis
Redmi
Windows10
Windows作業系統
三星
豐田
華為
圖賞
小米
微信
微軟
新冠疫苗
新冠病毒
新冠肺炎
日本
顯示卡
智慧手機
汽車
遊戲
特斯拉
生科醫學
電動車
電影
演算法
美國
騰訊
晶片
蘋果
榮耀
.
简体中文
大陆简体
港澳繁體
马新简体
马来西亚简体
繁體中文
延伸文章資訊
- 1數據:SQL 、 NoSQL 和NewSQL 的優缺點比較! - 每日頭條
NewSQL目標是將SQL的ACID保證與NoSQL的可擴展性和高性能相結合。 顯然,因為結合了過去僅單獨存在的優點,NewSQL看起來很有前途; 或許,在未來的某個 ...
- 2SQL 、 NoSQL 和NewSQL 的優缺點比較- IT閱讀
那麼,這些優點和缺點是什麼? 讓我們來看一下。 SQL. SQL是關係型資料庫管理系統(RDBMS),顧名思義,它是圍繞關係代數和 ...
- 3NoSQL究竟是什麼?了解為什麼NoSQL資料庫不是傳統資料庫 ...
這讓我進入了一個小項目,我將這兩個解決方案與基準進行比較,以顯示NoSQL的所有優點和限制。最後,我理解NoSQL和SQL只是為不同項目設計的不同工具( ...
- 4SQL 、 NoSQL 和NewSQL 的优缺点比较 - 简书
SQL 、 NoSQL 和NewSQL 的优缺点比较. SQL作为主要的数据存储方式已经超过40年,并且经历了至少两个指数扩张期:20世纪90年代Web应用程序崛起之后,以及在过去十年中 ...
- 5NoSQL 與SQL 的比較,什麼情況下使用NoSQL /SQL?
現代很少有應用程式不用到資料庫,資料庫有分兩種NoSQL 與SQL ,這兩者各有什麼優缺點?要如何選擇? 當面試官問你這些問題時要如何回答?