How NoSQL fills the gaps in traditional RDBMS?

NoSQL 數據庫可以是不同的類別,如鍵值數據庫, document database, or graph database. NoSQL database is an independent category which fills the gaps found in traditional RDBMS. In addition, NoSQL數據庫被認為是一個專門的數據庫,以支持複雜的業務需求. 讓我們來看看NoSQL數據庫如何填補傳統的RDBMS中發現的差距.

今天的應用 (主要是基於網絡的互聯網應用) 非常苛刻. 所以這些數據庫不僅預期非常靈活的性質,以支持各種數據格式, 但他們也需要管理極致性能和擴展. 因此,企業架構師正在評估該應用程序正確,然後建議適當數據庫.

但應該指出的是,NoSQL數據庫是不能替代傳統數據庫. 因此,正確的建議, (RDBMS和NoSQL的) 是完全基於用途的情況下的性質. 過了一段時間, RDBMS is more appropriate compared to NoSQL. So, if NoSQL is selected for a wrong use case then it will be a problem for the application itself. Let us have a look at some fundamental features of these technologies in the next section. It will clear our understanding about the actual gaps which can be filled up by NoSQL DB.

Fundamental understanding of RDBMS and NoSQL: The traditional database management systems can guarantee good performance with a volume of thousands of transactions per second. But the new age internet applications like ‘fraud detection’, ‘real time risk analysis’, ‘real time advertising’ and ‘multi-player online games’ etc. involves millions of transactions per second. So these OLTP (online transaction processing) applications are very difficult to manage with traditional relational databases. Although, the RDBMS vendors are also putting lot of efforts to overcome these issues, but the gap still remains as it is.

Traditional relational database management systems are always designed based on ACID principles. These ACID properties (atomicity, consistency, integrity and durability) ensure data integrity at any cost, which is the core of any relational database management system. With RDBMS, SQL is the de-facto standard for data processing tasks like data query, data definition, data manipulation etc.

On the other hand, NoSQL database management systems uses different formats to store the data. The most popular formats are graph store, document store and key-value store. The key-value store is the simplest format and widely used. NoSQL數據庫除去大部分的數據庫管理系統的架構中使用的硬約束來實現數據的存儲靈活性, 可擴展性, 性能等.

凡RDBMS不適合? 如何填補這些空白?

有許多應用,其中傳統的ACID從動關係模型是不是簡單的或最好的選擇. 讓我們來仔細看看這些差距,其中一個NoSQL的是最合適的.

  • 如果您的應用程序的要求僅僅是存儲實體的一個持久的,一致的方式, 那麼RDBMS是一個開銷. 簡單的key-value存儲是綽綽有餘的,以滿足您的應用程序的要求. 該值可以是任何複雜的實體,按您的要求.
  • 如果應用程序的要求來存儲與查詢功能分層對象, 然後RDBMS不是合適的選擇. Although, RDBMS可以與ORM工具的幫助下做到這一點, 但是這又是一個有點複雜. So, 在這裡任何的NoSQL解決方案的強烈推薦.
  • 在方案, 在這裡我們需要存儲網絡或大樹, RDBMS是解決不了問題. 像圖形數據庫的任何NoSQL數據庫可以是最適合根據您的其他要求.
  • 如果您的應用程序部署在雲環境中的分佈式數據庫, 然後一個RDBMS溶液不是優選. 這裡的間隙只能由NoSQL的溶液填充.

主要影響因素, 縮放和性能: RDBMS有一個內置的極限水平擴展. 這樣的RDBMS的根本問題是水平縮放當負載和數據量增加. RDBMS也不支持自動數據分片. 自動數據分片,只能在不同的數據實體分配和獨立處理時,. 酸基於關係模型不能做到這一點,因為它基於表的數據模型. 這裡的NoSQL解決方案有很大的不同. NoSQL數據庫不要散佈在多個表的邏輯實體; 它總是存儲在一個地方. 並且有這些邏輯實體之間沒有保持引用完整性, 這樣的NoSQL是免費提供自動數據分片. 雖然No​​SQL的解決方案具有有限的功能相比,關係模型, 但設計是由故意提供高可擴展性. NoSQL的解決方案可以在分佈式環境和支持可用性水平擴展.

性能主要取決於正確的技術選擇 (NoSQL的或RDBMS) for the right use case. So, if we select NoSQL for a wrong use case then it will also kill the performance of the application. Apart from the factors like network, caching, disk I/O etc., the performance heavily depends upon the data and its distribution across the distributed storage. So, the NoSQL is the only solution capable of handling large volume of data in a clustered environment and hence boost the performance.

So we can conclude that the NoSQL is not a replacement for traditional RDBMS but it is an alternate solution to address a different set of uses cases.

標籤:
============================================= ============================================== 在亞馬遜上購買最佳技術書籍,en,電工CT Chestnutelectric,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share