DATABASE IN THE CLOUD
Database is a key component in most computing infrastructures. Database allows users to store data in an organized manner and retrieve them easily. In this we learn the non-relational database (NOSQL), and compare it with the relational database, from a cloud perspective.
(1) Non-Relational
Non-relational databases are commonly referred to by the term "NOSQL"[x] (pronounced “No S Q L”). They are made up of individual tables and these tables cannot have defined relationships between them, unlike in relational databases.
(2) Relational vs. Non-Relational
Many cloud computing providers offer users both relational and non-relational databases. Both types of database are scalable in the cloud and can be highly available. In terms of speed, we have done up our own series of bench-marking tests for some relational and non-relational databases cloud computing services.
Our findings indicate that relational cloud databases perform create, update and delete operations faster than non-relational cloud databases. However, for read operations, non-relational cloud databases do perform better than relational cloud databases.
Usage-wise, both relational and non-relational cloud databases are as easy to use as the other. This is because cloud computing providers take on most of the burden of database administration, especially for relational databases, as relational databases usually come with heavy database administration workload compared to non-relational databases.
(3) Cloud Database Architectures
Cloud databases providers often let users choose from multiple database architectures. Since these different architectures have different levels of database consistency, latency and costs, you need to understand the architectures to have a better idea of which service suits your application's needs.
In the above figure see Master/Slave database architecture , a database server acts as the Master. When the user sends in a write/delete request to his database, the request goes to the Master database server. The Master database server checks against and updates its own database and then asynchronously replicates the update in other Slave database servers.
For the Paxos architecture (see above Figure), when the user sends a write/delete request, this request goes to a network of several database servers. The different database servers will check the requests against their own databases and states and then communicate with each other to affirm the request.
0 Comments:
Post a Comment