SYM-STG DQ's
SYM-408 WK2 DQ2. 100-150 WORDS
Explain, with a minimum of two examples, the differences between relational databases and NoSQL databases in terms of scalability and handling database transactions.
REPLIES. 75-100 WORDS
A Adrian Boyles
With regard to scalability, the relational database model is only scalable in the readability aspect. In order to handle an increased load, this can be achieved by through additional servers to the cluster. The downside to this is that it can result in performance or bandwidth bottlenecks in the event that the database tries to scale up a single server. An example of this would be a MySQL database which must manage customer information for a given business with a relatively low volume of data traffic, with just enough scalability in the event that the business grows. In contrast, the NoSQL database are scalable on both levels. Due to the inherent distribution of the data across multiple servers, the scalability improves, which then allows for handling large quantities of data and bandwidth. A better use case for NoSQL is having to manage an application or website with potentially millions of users across the world. The decentralized data will be able to handle the high volume of traffic.
When it comes to Database transactions, the relational model has built-in support for complex transactions. Additionally, it is ACID compliant, which basically has one point of failover, is consistent across the network, and the transactions do not interfere with each other. In contrast, the NoSQL database does not have the same support for complex transactions and can only support very basic functions depending on the kind of NoSQL structure that is being utilized.
B Trevor Stoutt
While relational an NoSQL databases both manage and store vast amounts of data, there are some differences in how the two databases accomplish this task.
The first is scalability, relational databases such as SQL or Oracle store data vertically, which means that the databases runs off of a single server and can handle more data loads by adding for resources to the server like extra RAM or CPU. In contrast, NoSQL databases store information horizontally, so when it comes to scaling that is done throughout multiple servers by which adds to the workload that the database can process (n.d.,2022).
When it comes to handling and processing transactions relational databases are programmed to use the ACID method, this method ensures that each transaction is consistent and that all transactions are completed. An example of this would be when a customer pays a bill and then their bill is updated to reflect their current balance instead of the balance prior to the transaction. Likewise, in a NoSQL databases transactions are designed to have eventual consistency, meaning that it may take the system extra time or multiple transactions compared to the single Atomic transaction that takes place within a relational database (n.d.,2022).
C Joshua Victor Kirabo Kisaku
Scalability:
Relational databases like MySQL utilize a fixed schema to organize data. This can make it hard to scale data horizontally (by adding more nodes to the database cluster). NoSQL databases, like MongoDB, offer a more adaptable schema and make horizontal scaling simpler.
Handling database transactions:
Relational databases, like Oracle, use ACID (Atomicity, Consistency, Isolation, Durability) transactions, which guarantee data integrity by ensuring that a transaction is performed entirely or not at all. NoSQL databases, like Cassandra, may not offer the same level of transactional guarantees and instead place a higher priority on partition tolerance and availability.