包含行業(yè)最新系統(tǒng)和數據庫nosql的詞條

什么是NoSQL數據庫?

2. 什么是NoSQL?

創(chuàng)新互聯于2013年開始,先為義馬等服務建站,義馬等地企業(yè),進行企業(yè)商務咨詢服務。為義馬企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

2.1 NoSQL 概述

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,

泛指非關系型的數據庫。隨著互聯網web2.0網站的興起,傳統(tǒng)的關系數據庫在應付web2.0網站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網站已經顯得力不從心,暴露了很多難以克服的問題,而非關系型的數據庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數據庫的產生就是為了解決大規(guī)模數據集合多重數據種類帶來的挑戰(zhàn),尤其是大數據應用難題,包括超大規(guī)模數據的存儲。

(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數據)。這些類型的數據存儲不需要固定的模式,無需多余操作就可以橫向擴展。

2.2 NoSQL代表

MongDB、 Redis、Memcache

3. 關系型數據庫與NoSQL的區(qū)別?

3.1 RDBMS

高度組織化結構化數據

結構化查詢語言(SQL)

數據和關系都存儲在單獨的表中。

數據操縱語言,數據定義語言

嚴格的一致性

基礎事務

ACID

關系型數據庫遵循ACID規(guī)則

事務在英文中是transaction,和現實世界中的交易很類似,它有如下四個特性:

A (Atomicity) 原子性

原子性很容易理解,也就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。比如銀行轉賬,從A賬戶轉100元至B賬戶,分為兩個步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會莫名其妙少了100元。

C (Consistency) 一致性

一致性也比較容易理解,也就是說數據庫要一直處于一致的狀態(tài),事務的運行不會改變數據庫原本的一致性約束。

I (Isolation) 獨立性

所謂的獨立性是指并發(fā)的事務之間不會互相影響,如果一個事務要訪問的數據正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數據就不受未提交事務的影響。比如現有有個交易是從A賬戶轉100元至B賬戶,在這個交易還未完成的情況下,如果此時B查詢自己的賬戶,是看不到新增加的100元的

D (Durability) 持久性

持久性是指一旦事務提交后,它所做的修改將會永久的保存在數據庫上,即使出現宕機也不會丟失。

3.2 NoSQL

代表著不僅僅是SQL

沒有聲明性查詢語言

沒有預定義的模式

鍵 - 值對存儲,列存儲,文檔存儲,圖形數據庫

最終一致性,而非ACID屬性

非結構化和不可預知的數據

CAP定理

高性能,高可用性和可伸縮性

分布式數據庫中的CAP原理(了解)

CAP定理:

Consistency(一致性), 數據一致更新,所有數據變動都是同步的

Availability(可用性), 好的響應性能

Partition tolerance(分區(qū)容錯性) 可靠性

P: 系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作。

定理:任何分布式系統(tǒng)只可同時滿足二點,沒法三者兼顧。

CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性,可用性和分區(qū)容錯性這三個需求,

因此,根據 CAP 原理將 NoSQL 數據庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:

CA - 單點集群,滿足一致性,可用性的系統(tǒng),通常在可擴展性上不太強大。

CP - 滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高。

AP - 滿足可用性,分區(qū)容忍性的系統(tǒng),通??赡軐σ恢滦砸蟮鸵恍?/p>

CAP理論就是說在分布式存儲系統(tǒng)中,最多只能實現上面的兩點。

而由于當前的網絡硬件肯定會出現延遲丟包等問題,所以分區(qū)容忍性是我們必須需要實現的。

所以我們只能在一致性和可用性之間進行權衡,沒有NoSQL系統(tǒng)能同時保證這三點。

說明:C:強一致性 A:高可用性 P:分布式容忍性

舉例:

CA:傳統(tǒng)Oracle數據庫

AP:大多數網站架構的選擇

CP:Redis、Mongodb

注意:分布式架構的時候必須做出取舍。

一致性和可用性之間取一個平衡。多余大多數web應用,其實并不需要強一致性。

因此犧牲C換取P,這是目前分布式數據庫產品的方向。

4. 當下NoSQL的經典應用

當下的應用是 SQL 與 NoSQL 一起使用的。

代表項目:阿里巴巴商品信息的存放。

去 IOE 化。

ps:I 是指 IBM 的小型機,很貴的,好像好幾萬一臺;O 是指 Oracle 數據庫,也很貴的,好幾萬呢;M 是指 EMC 的存儲設備,也很貴的。

難點:

數據類型多樣性。

數據源多樣性和變化重構。

數據源改造而服務平臺不需要大面積重構。

NoSQL 數據庫:何時使用 NoSQL 與 SQL?

NoSQL 數據庫因其功能性、易于開發(fā)性和可擴展性而廣受認可,它們越來越多地用于大數據和實時 Web 應用程序,在本文中,我們通過示例討論 NoSQL、何時使用 NoSQL 與 SQL 及其用例。

NoSQL是一種下一代數據庫管理系統(tǒng) (DBMS)。NoSQL 數據庫具有靈活的模式,可用于構建具有大量數據和高負載的現代應用程序。

“NoSQL”一詞最初是由 Carlo Strozzi 在 1998 年創(chuàng)造的,盡管自 1960 年代后期以來就已經存在類似的數據庫。然而,NoSQL 的發(fā)展始于 2009 年初,并且發(fā)展迅速。

在處理大量數據時,任何關系數據庫管理系統(tǒng) (RDBMS) 的響應時間都會變慢。為了解決這個問題,我們可以通過升級現有硬件來“擴大”信息系統(tǒng),這非常昂貴。但是,NoSQL 可以更好地橫向擴展并且更具成本效益。

NoSQL 對于非結構化或非常大的數據對象(例如聊天日志數據、視頻或圖像)非常有用,這就是為什么 NoSQL 在微軟、谷歌、亞馬遜、Meta (Facebook) 等互聯網巨頭中特別受歡迎的原因。

一些流行的 NoSQL 數據庫包括:

隨著企業(yè)更快地積累更大的數據集,結構化數據和關系模式并不總是適合。有必要使用非結構化數據和大型對象來更好地捕獲這些信息。

傳統(tǒng)的 RDBMS 使用 SQL(結構化查詢語言)語法來存儲和檢索結構化數據,相反,NoSQL 數據庫包含廣泛的功能,可以存儲和檢索結構化、半結構化、非結構化和多態(tài)數據。

有時,NoSQL 也被稱為“ 不僅僅是 SQL ”,強調它可能支持類似 SQL 的語言或與 SQL 數據庫并列。SQL 和 NoSQL DBMS 之間的一個區(qū)別是 JOIN 功能。SQL 數據庫使用 JOIN 子句來組合來自兩個或多個表的行,因為 NoSQL 數據庫本質上不是表格的,所以這個功能并不總是可行或相關的。

但是,一些 NoSQL DBMS 可以執(zhí)行類似于 JOIN的操作——就像 MongoDB 一樣。這并不意味著不再需要 SQL DBMS,相反,NoSQL 和 SQL 數據庫傾向于以不同的方式解決類似的問題。

一般來說,在以下情況下,NoSQL 比 SQL 更可取:

許多行業(yè)都在采用 NoSQL,取代關系數據庫,從而為某些業(yè)務應用程序提供更高的靈活性和可擴展性,下面給出了 NoSQL 數據庫的一些企業(yè)用例。

內容管理是一組用于收集、管理、傳遞、檢索和發(fā)布任何格式的信息的過程,包括文本、圖像、音頻和視頻。NoSQL 數據庫可以通過其靈活和開放的數據模型為存儲多媒體內容提供更好的選擇。

例如,福布斯在短短幾個月內就構建了一個基于 MongoDB 的定制內容管理系統(tǒng),以更低的成本為他們提供了更大的敏捷性。

大數據是指太大而無法通過傳統(tǒng)處理系統(tǒng)處理的數據集,實時存儲和檢索大數據的系統(tǒng)在分析 歷史 數據的同時使用流處理來攝取新數據,這是一系列非常適合 NoSQL 數據庫的功能。

Zoom使用 DynamoDB(按需模式)使其數據能夠在沒有性能問題的情況下進行擴展,即使該服務在 COVID-19 大流行的早期使用量激增。

物聯網設備具有連接到互聯網或通信網絡的嵌入式軟件和傳感器,能夠在無需人工干預的情況下收集和共享數據。隨著數十億臺設備生成數不清的數據,IoT NoSQL 數據庫為 IoT 服務提供商提供了可擴展性和更靈活的架構。

Freshub就是這樣的一項服務,它從 MySQL 切換到 MongoDB,以更好地處理其大型、動態(tài)、非統(tǒng)一的數據集。

擁有數十億智能手機用戶,可擴展性正成為在移動設備上提供服務的企業(yè)面臨的最大挑戰(zhàn)。具有更靈活數據模型的 NoSQL DBMS 通常是完美的解決方案。

例如,The Weather Channel使用 MongoDB 數據庫每分鐘處理數百萬個請求,同時還處理用戶數據并提供天氣更新。

nosql數據庫的四種類型

nosql數據庫的四種類型如下:

1.key-value鍵值存儲數據庫:

相關產品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.

主要應用: 內容緩存,處理大量數據的高負載訪問,也用于系統(tǒng)日志。

優(yōu)點:查找速度快,大量操作時性能高。

2.列存儲數據庫:

相關產品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.

主要應用: 分布式數據的儲存與管理。

優(yōu)點:查找速度快,可擴展性強,容易進行分布式擴展。

缺點:功能相對局限。

3.文檔型數據庫

相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.

主要應用: web應用,管理面向文檔的數據或者類似的半結構化數據。

優(yōu)點:數據結構靈活,表結構可變,復雜性低。

缺點:查詢效率低,且缺乏統(tǒng)一的查詢語言。

4.Graph圖形數據庫

相關產品: Neo4J、OrientDB、InfoGrid、GraphDB.

主要應用: 復雜,互連接,低結構化的圖結構場合, 專注構建關系圖譜。

優(yōu)點: 利用圖結構相關算法, 可用于構建復雜的關系圖譜。

缺點: 復雜度高。

當前題目:包含行業(yè)最新系統(tǒng)和數據庫nosql的詞條
本文來源:http://muchs.cn/article20/hcicjo.html

成都網站建設公司_創(chuàng)新互聯,為您提供小程序開發(fā)、標簽優(yōu)化、全網營銷推廣、網站維護、品牌網站制作動態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都定制網站網頁設計