關係型資料庫和NOsql

2021-07-30 10:38:22 字數 1171 閱讀 1691

關聯式資料庫,是建立在

關係模型

基礎上的資料庫,借助於集合代數等數學概念和方法來處理資料庫中的資料。現實世界中的各種實體以及實體之間的各種聯絡均用關係模型來表示。關係模型是由埃德加·科德於2023年首先提出的,並配合「

科德十二定律

」。現如今雖然對此模型有一些批評意見,但它還是資料儲存的傳統標準。標準資料查詢語言sql就是一種基於

關聯式資料庫

的語言,這種語言執行對關聯式資料庫中資料的檢索和操作。關係模型由關係資料結構、

關係操作

集合、關係完整性約束三部分組成。

nosql 技術與高伸縮性無縫融合,很多技術同時具備了高分布性和高效能。大多數時間裡,它們使 現有rdbms 技術所實現的架構更加完整,例如 作為快取伺服器,搜尋引擎,非結構化儲存,易變資訊儲存等。主要分為4類:

key/value

列儲存面向文件的儲存

圖儲存非關係型資料庫的優勢:

1. 效能

nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。

2. 可擴充套件性

同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。

關係型資料庫的優勢:

1. 複雜查詢

可以用sql語句方便的在乙個表以及多個表之間做非常複雜的資料查詢。

2. 事務支援

使得對於安全效能很高的資料訪問要求得以實現。

對於這兩類資料庫,對方的優勢就是自己的弱勢,反之亦然。

但是近年來這兩種資料庫都在向著另外乙個方向進化。例如:

nosql資料庫慢慢開始具備sql資料庫的一些複雜查詢功能的雛形,比如couchbase的index以及mongo的複雜查詢。對於事務的支援也可以用一些系統級的原子操作來實現例如樂觀鎖之類的方法來曲線救國。

sql資料庫也開始慢慢進化,比如handlersocker技術的實現,可以在mysql上實現對於sql層的穿透,用nosql的方式訪問資料庫,效能可以上可以達到甚至超越nosql資料庫。可擴充套件性上例如percona server,可以實現無中心化的集群。

雖然這兩極都因為各自的弱勢而開始進化出另一極的一些特性,但是這些特性的增加也會消弱其本來具備的優勢,比如couchbase上的index的增加會逐步降低資料庫的讀寫效能。所以怎樣構建系統的短期和長期儲存策略,用好他們各自的強項是架構師需要好好考慮的重要問題。

關係型資料庫和Nosql

nosql和關聯式資料庫結合 mysql memcached的架構中,我們處處都要精心設計我們的快取,包括過期時間的設計 快取的實時性設計 快取記憶體大小評估 快取命中率等等。nosql資料庫一般都具有非常高的效能,在大多數場景下面,你不必再考慮在 層為nosql構建一層memcached快取。no...

關係型資料庫和nosql非關係型資料庫

關係型資料庫目前主流 oracle,mysql,sql server,db2等 非關聯式資料庫包括 mongodb,nosql,cloudant 關係型資料庫的優勢 1.複雜查詢可以用sql語句方便的在乙個表以及多個表之間做非常複雜的資料查詢。2.事務支援使得對於安全效能很高的資料訪問要求得以實現。...

關係型資料庫和NoSQL資料庫

大家有沒有聽說過 nosql 呢?近年,這個詞極受關注。看到 nosql 這個詞,大家可能會誤以為是 no!sql 的縮寫,並深感憤怒 sql怎麼會沒有必要了 呢?但實際上,它是 not only sql 的縮寫。它的意義是 適用關係型資料庫的時候就使用關係型資料庫,不適用的時候也沒有必要非使用關係...