成人免费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

2015-04-16 15:42:21

關系型數據庫NoSQL

2019-04-02 15:07:51

API NginxZuul

2014-09-28 10:29:43

喬布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2021-03-10 17:22:18

數據虛擬化

2025-02-18 16:00:00

代碼Python架構

2019-08-27 11:18:37

云計算云存儲云備份

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技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 欧美精品乱码久久久久久按摩 | 中文字幕免费视频 | 黄网站在线观看 | 久色一区 | 亚洲性视频 | 欧美三级电影在线播放 | 一区二区三区欧美 | 拍真实国产伦偷精品 | 亚洲欧美在线观看视频 | 久草青青草 | 国产福利视频导航 | 97久久精品午夜一区二区 | 久久精品 | 激情一区 | 久久精品99 | 国产精品一区二区三区四区 | 久久成人精品视频 | 99re在线视频 | 亚洲成人在线视频播放 | 欧美a区| 国产精品一区在线观看 | 亚洲乱码一区二区三区在线观看 | 亚洲精品视频在线观看视频 | 日韩免费中文字幕 | 欧美日韩国产精品一区 | 欧美精品片 | 亚洲福利一区 | 久草免费在线视频 | 国产久 | 欧美第一页 | 二区视频 | 日韩av免费在线电影 | 日韩高清成人 | 国产精品www| 久久久久网站 | 91国内精品久久 | 欧美成人激情视频 | 91传媒在线观看 | 看av电影 | 一区二区亚洲 |