You are on page 1of 8

Introduction

SQL
A SQL database is a general-purpose relational database which based on
relation tables to store data.

NoSQL
NoSQL is a non-relational database management systems, different from
traditional relational database management systems in some significant
ways. It is designed for distributed data stores where very large scale of
data storing
ACID
Atomicity When there are updates to the database, it should be either abort or commit.

Consistency A transaction either creates a valid and new state of data. All data should return to its state
before the transaction was started if any failure occurs.

Isolation Each transaction must remain isolated, so there is no conflict between concurrent
transactions.

Durability Committed data is saved by the system such that, even when there are a system failure or
system restart, the data is available in its correct state.
BASE
No schema Data can be stored in a NoSQL database without pre-defining database schema. The
required structure of the information being embedded can be adjusted whenever, without
application intrusion.
Auto elasticity Without the requirement of application assistance, NoSQL automatically distributes the
data to multiple servers.

Integrated In order to increase data through and increase the performance NoSQL databases cache
caching the data in system memory.

CAP Theorem CAP Theorem consists of Consistency, Availability and Partition-tolerance.


Types of SQL Databases
MySQL Community Edition MySQL Database is a popular open-source database. It is usually being used with Apache and PHP, although

it can also be used with server-side Java scripting technique using NodeJS.
MS-SQL Server Express MS-SQL is a product of Microsoft having excellent reliability, scalability, stability features.
Edition:
IDE support: For efficient development and to increase the productivity.
Disaster Recovery mechanism: By providing database mirroring mechanism, MS-SQL provides efficient disaster
recovery mechanism by using failover clustering technique.
Cloud backup support: Microsoft also provides MS-SQL database back-ups in cloud storage.

Oracle 11g Express Edition This database is an entry-level, small-footprint database for development, deployment, and distribute. It has a
Database:
simpler administration.
Easily Upgrade: Oracle database can be upgraded to the new and advanced versions easily.
Vast platform support: It supports numerous operating systems such as Windows and Linux.
Scalability: Oracle database provides not cost effective scalability. It also provides the facilities which are easily
manageable. Besides, it's productive also secure and reliable
Types of SQL Databases

Object-Oriented Databases Db4o


- SQL. Db4o allows the user to store an object in a single query. It also offers
db4o Replication System that allows synchronising relational backend with
db4o
Types of NoSQL Databases
Key-Value Store Amazon DynamoDB
Databases
- It is designed especially for internet scale applications. It provides highly reliable, fast and
cost-effective service of NoSQL database. It stores data on Solid State Drives.
Riak
- Riak is a free distributed NoSQL database which offers partition tolerance as well as
persistence.

Column-Oriented Hbase
Databases
: - HBase provides BigTable- like capability for Hadoop as it is modelled as a part of Apache Software
Foundations Apache Hadoop Project.
Cassandra
Some of the features of Cassandra are a dynamic schema, partition tolerance, high availability,
persistence and high scalability. Used by Adobe, Twitter, eBay
Types of NoSQL Databases

Document Store MongoDB


Databases - MongoDB stores the documents in BSON format which is a binary form of JSON
- MongoDB is schema-less as it has document structure.

CouchDB
- For storage of data, it uses JSON documents as well as to create and update
database documents, CouchDB provides RESTful HTTP API.
- CouchDB is very slow on large datasets.
Testing SQL and NoSQL databases
Black-Box Testing White/Clear-Box Testing

O/R mappings (including the metadata) Scaffolding code (e.g. triggers or updateable views) which
Incoming and outgoing data values (from queries, stored support refactoring
functions, views) (agiledata.org, 2017) Unit tests for your functions, triggers and stored procedures
Existence tests for database schema elements (tables,
procedures)
View definitions
Referential integrity (RI) rules
Default values for a column
Data invariants for a single column
Data invariants involving several columns