The need for NoSQL technologies

While most database systems were initially designed to manage transactions, the growth of internet-related technologies and new types of data that did not require the strict puritan nature of transactional systems necessitated the development of alternative frameworks.

For instance, storing the following types of data does not necessarily require a complex transactional database:

  • Emails
  • Media such as audio/video files
  • Social network messages
  • Website HTML pages
  • Many others

Additionally, the increase in users, and as a consequence, data volume, signaled the need for developing more robust architectures with the following characteristics:

  • Scalable to manage ever increasing data volume
  • Leverage commodity hardware to decrease dependency on expensive hardware
  • Provide distributed processing capability across multiple nodes to process large-scale datasets
  • Be fault-tolerant/provide high availability to handle node and site failures

Scalable implies that the system can accommodate the increase in data volume by increasing the number of nodes, namely, by scaling horizontally. Further, increasing the number of nodes should have minimal impact on the performance of the system.

Fault-tolerant implies that the system should be able to handle node failures, which won't be uncommon in a large distributed system with hundreds if not thousands of nodes.

This led to the development of various groundbreaking and influential systems, of which perhaps the most notable were Google Bigtable and Amazon Dynamo.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.174.0