一樣是數據庫
網站建設哪家好,找創(chuàng)新互聯建站!專注于網頁設計、網站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯還提供了海晏免費建站歡迎大家使用!
NOSQL查詢速度快,但是占用空間也大(都去索引那邊了)
但是NOSQL查詢復雜的邏輯關系的時候,只能批量獲取到本地去統(tǒng)計而SQL能通過條件和關聯表等方式進行篩選只顯示符合條件的語句。
NOSQL用于無條件或少條件下的存取。百億級數據也能快速取出。
SQL用于復雜的邏輯存取。在數據量不多的情況下也能跟NOSQL一樣用于數據存儲。
簡單說來:sql是關系型數據庫的結構化查詢語言,而nosql,一般代指菲關系型數據庫,sql語句就不能用來,不過有些有l(wèi)eisql的查詢語言,且nosql數據庫沒有統(tǒng)一的查詢語言。
NoSQL太火,冒出太多產品了,保守估計也成百上千了。
互聯網公司常用的基本集中在以下幾種,每種只舉一個比較常見或者應用比較成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數據結構和運算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機恢復,同時支持replication提供讀可擴展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盤的key-value storage, 模型單一簡單,數據量不受限于內存大小,數據落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優(yōu)化,順序寫盤的方式對于新硬件ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。
3. Document Store: Mongodb
分布式nosql,具備了區(qū)別mysql的最大亮點:可擴展性。mongodb 最新引人的莫過于提供了sql接口,是目前nosql里最像mysql的,只是沒有ACID的特性,發(fā)展很快,支持了索引等特性,上手容易,對于數據量遠超內存限制的場景來說,還需要慎重。
4. Column Table Store: HBase
這個富二代似乎不用贅述了,最大的優(yōu)勢是開源,對于普通的scan和基于行的get等基本查詢,性能完全不是問題,只是只提供裸的api,易用性上是短板,可擴展性方面是最強的,其次坐上了Hadoop的快車,社區(qū)發(fā)展很快,各種基于其上的開源產品不少,來解決諸如join、聚集運算等復雜查詢。
1 理解ACID與BASE的區(qū)別(ACID是關系型數據庫強一致性的四個要求,而BASE是NoSQL數據庫通常對可用性及一致性的弱要求原則,它們的意思分別是,ACID:atomicity, consistency, isolation, durability;BASE:Basically Available, Soft-state, Eventually Consistent。同時有意思的是ACID在英語里意為酸,BASE意思為堿)
2 理解持久化與非持久化的區(qū)別。這么說是因為有的NoSQL系統(tǒng)是純內存存儲的。
3 你必須意識到傳統(tǒng)有關系型數據庫與NoSQL系統(tǒng)在數據結構上的本質區(qū)別。傳統(tǒng)關系型數據庫通常是基于行的表格型存儲,而NoSQL系統(tǒng)包括了列式存儲(Cassandra)、key/value存儲(Memcached)、文檔型存儲(CouchDB)以及圖結構存儲(Neo4j)
4與傳統(tǒng)關系數據庫有統(tǒng)一的SQL語言操作接口不同,NoSQL系統(tǒng)通常有自己特有的API接口。
5 在架構上,你必須搞清楚,NoSQL系統(tǒng)是被設計用于成百上千臺機器的集群中的,而非共享型數據庫系統(tǒng)的架構。
6在NoSQL系統(tǒng)中,可能你得習慣一下不知道你的數據具體存在何處的情況。
7 在NoSQL系統(tǒng)中,你最好習慣它的弱一致性。”eventually consistent”(最終一致性)正是BASE原則中的重要一項。比如在Twitter,你在Followers列表中經常會感受到數據的延遲。
8 在NoSQL系統(tǒng)中,你要理解,很多時候數據并不總是可用的。
9 你得理解,有的方案是擁有分區(qū)容忍性的,有的方案不一定有。
NoSQL不像傳統(tǒng)關系型庫那樣有統(tǒng)一的標準,也不具有普適性。所以要根據應用和數據的存取特征來選擇適合的NoSQL。
如果以前沒有接觸過NoSQL,MongoDB是一個比較好的選擇,他支持的所以和查詢能力是所有NoSQL中最強大的,缺點是索引的成本和文檔大小限制。
如果是使用Hadoop大數據分析,數據基本上不存在修改,只是插入和查詢,并且需要配合Hadoop的MR任務,HBase會是很好的選擇。
如果要求有很強的擴展能力,高并發(fā)讀寫和維護方便,Casaandra則是不錯的選擇。
當然除了上面三個流行的NoSQL,還有很多優(yōu)秀的NoSQL數據庫,而且他們都有各自擅長領域,所以需要了解你們產品自身的特點然后分析選擇哪種才是最適合的,往往在大型系統(tǒng)中不是單一的數據庫,而是使用多種數據庫組合。
非關系型數據庫:非關系型數據庫產品是傳統(tǒng)關系型數據庫的功能閹割版本,通過減少用不到或很少用的功能,來大幅度提高產品性能。
非關系型數據庫嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合。
關系型數據庫:是指采用了關系模型來組織數據的數據庫。
關系模型指的就是二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。
可以用SQL語句方便的在一個表以及多個表之間做非常復雜的數據查詢。
對于安全性能很高的數據訪問要求可以實現。
價格
目前基本上大部分主流的非關系型數據庫都是免費的。而比較有名氣的關系型數據庫,比如Oracle、DB2、MSSQL是收費的。雖然Mysql免費,但它需要做很多工作才能正式用于生產。
功能
實際開發(fā)中,有很多業(yè)務需求,其實并不需要完整的關系型數據庫功能,非關系型數據庫的功能就足夠使用了。這種情況下,使用性能更高、成本更低的非關系型數據庫當然是更明智的選擇。
對于這兩類數據庫,對方的優(yōu)勢就是自己的弱勢,反之亦然。
當前標題:nosql主流區(qū)別,nosql和sql區(qū)別
地址分享:http://vcdvsql.cn/article8/dsiieip.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站設計公司、云服務器、網頁設計公司、定制開發(fā)、品牌網站建設、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯