成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RDBMS vs. NoSQL:反派為什么會得以存活并發展壯大

云計算
盡管數百NoSQL林立,盡管在不同的場景下NoSQL有著傳統數據庫無可匹敵的性能,然而在人氣上,NoSQL也只能望其項背。所謂存在既有道理,這里一覽如此強勢RDBMS籠罩下,這個反派存在的原因。

在學習不同NoSQL系統的特性之前,了解一下NoSQL的發展史總不會錯的;用一句話來說,NoSQL是天生的反派!

天生的反派NoSQL

這里我們不妨把NoSQL比作No SQL,它必須站在RDBMS的對立面,這里不妨通過邏輯流來解釋一下這個觀點:

 

 

RDBMS通過匹配關系數據(關系和表格)的數據操作方法定義SQL語言,并且支持ACID特性的事務。

橫向擴展在數據處理前就會進行分配,用以滿足網絡服務的高吞吐量需求。當下RDBMS橫向擴展的更趨向于維護關系模型的作業完整性,這和事務操作構成了RDBMS的核心。

然而在維護完整性的同時進行擴展是非常難得的,而在分配和復制數據時會出現類似的問題。所以在進行橫向擴展之前,必須保證通過DBMS實現的基于ACID事務特性不那么嚴格,當然還有復制完整性也不能那么嚴格。

RDBMS的橫向擴展

對RDBMS進行擴展是很難的。如果只是擴展到幾千規模是很輕松的,類似Oracle 這樣領先的數據庫開發機構在很早之前就發布了一兩個這樣的產品。

這里不妨假設將RDBMS中的表格分配到幾臺主機上,而為了高可用性每份數據都會在存儲前都會被復制。首先,在保證ACID進行擴展時執行分配操作就非常困難。

想實現ACID中的原子性,執行某個事務時,類似2PC這樣的分布事務協議必須在所有系統中使用。

為了滿足ACID特性中的隔離級別,數據通常都會被加鎖。鎖的級別可以是一條記錄,一個表格或者是一個索引。

因此,為了在分布式環境中滿足原子性和隔離需求,因此在分布式事務協議的處理期間,每個系統都會加上所有相關的鎖;系統的負載越大,鎖的競爭越繁重。這就是很難擴展的原因。

另一個橫向擴展中必須面臨的問題就是數據的復制和分配。

事務性復制使用了2PC方法,這里存在的問題就是:當與某個復制事務相關的任何系統出故障時,這個事務就會失敗并變得不可用。此外,當復制事務同時涉及幾個系統時,性能就會降低。

作為替代,將一個DBMS的WAL(Write Ahead Logging,預寫式日志)數據傳送給備份系統并讓它使用。節點可以配置為master-slave或multi-master方式。

當使用master-slave類型時:這也是最常見的復制方法。復制過程的速度與系統中的從節點數量成反比。

當使用multi-master配置時:當同時存在幾個主節點時,處理數據寫入進程間的沖突是非常困難的,并且很難阻止這個情況發生。在《The Danagers of Replication and a Solution》一書中(曾獲1998年圖靈獎),Jim Gray對這個問題進入了深入研究。

通過開發者分片

通常來說,在滿足ACID特性的數據庫中進行擴展是非常難的。基于這個原因,對數據進行擴展,這個數據庫本身就必須擁有簡單的模型,將數據分割為N片,然后在單獨的片中執行查詢。

數據分割的單元被稱為“shard”。將N片數據分配個M個DBMS進行操作。DBMS并不會去管理數據片,這需由服務開發者自行完成。

分片的方法由開發者決定,這里同樣會有幾個問題:

首先,分片必須被定義。

其次,分片映射:

RDBMS的基本儲存單元是表格。鑒于一個表格可能會包含一個或多個分片,這里需要明白分片需要被映射到的數據庫實例。應用程序也必須知道分片表格對應的位置。

***,分片的分配和重分配:

鑒于吞吐量需求和數據體積,每個分片都不同。所以開發者必須從數據庫中增加或者刪除一個實例,并且手動重分配分片。這個過程非常繁瑣。同時在這個過程中,修改的映射信息必須告知應用程序。數據修改后,還必須做相應的管理(比如,針對復制的配置)。

責任編輯:王程程 來源: Dzone
相關推薦

2015-06-16 13:12:49

綜合布線布線技術

2016-07-14 10:41:33

SDN網絡基礎設施

2021-01-13 16:04:07

網絡On-Prem托管

2018-06-06 08:50:49

LinuxUnixWindows

2023-05-22 19:49:30

命令Linux

2020-08-25 09:14:17

對象存儲文件存儲塊存儲

2024-09-12 22:45:47

2014-09-28 10:29:43

喬布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2015-04-16 15:42:21

關系型數據庫NoSQL

2019-04-02 15:07:51

API NginxZuul

2025-02-18 16:00:00

代碼Python架構

2019-08-27 11:18:37

云計算云存儲云備份

2021-03-10 17:22:18

數據虛擬化

2020-04-15 10:21:43

云計算AWSAzure

2020-09-21 06:53:41

NoSQL高并發面試

2013-04-27 09:16:35

數據庫安全NoSQL安全NoSQL

2015-03-19 11:03:49

Linuxwin10

2022-08-04 14:54:50

APTDNFYUM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看亚洲专区 | 亚洲性人人天天夜夜摸 | 日韩男人天堂 | 成人福利网 | 欧美久久久久久久久 | 中国美女撒尿txxxxx视频 | 日韩成人在线视频 | 亚洲综合大片69999 | 精品久久久久久亚洲国产800 | 91精品国产高清一区二区三区 | 韩国理论电影在线 | 日本黄色大片免费 | 精品久久香蕉国产线看观看亚洲 | 偷拍自拍第一页 | 不卡av电影在线播放 | 99reav| 久久三区 | 一级全黄少妇性色生活免费看 | www.色五月.com| 久久久噜噜噜久久中文字幕色伊伊 | 欧美三级久久久 | 亚洲一区二区视频 | 视频一区二区三区在线观看 | 国产精品欧美一区二区三区不卡 | 日韩五月天| 亚洲精品久久久久久久久久久久久 | 亚洲成色777777在线观看影院 | 国产在线一区二区 | 青青草这里只有精品 | 99re在线视频| 波多野结衣精品在线 | 国产精品久久久久久福利一牛影视 | 国产精品欧美一区二区三区不卡 | 日韩av在线一区 | 欧美啪啪网站 | 亚洲欧美一区二区三区国产精品 | 一级黄色网页 | 日韩二区| 久久国产精品无码网站 | 欧美色图综合网 | av影音资源 |