NoSQL

4 Mins Read

Migration from relational database to NoSQL database

Do we really need NoSQL databases?

Relational database model was proposed in 1970, since then we are using RDBMS for most of the applications. But this model is having a hard time keeping pace with the volume, velocity, and variety of data. To keep pace with growing data storage needs, NoSQL databases were introduced in which the focus has shifted from relationships in data, to have a scalable solution to store large volumes of data.

Relational databases focus on ACID (Atomicity, Consistency, Isolation, and Durability) property whereas NoSQL focus on CAPs (Consistency, Availability, and Partition tolerance) theorem.

Market share of Relational and NoSQL database

NoSQL popularity Mar 2013-14

database popularity-2

Advantages of NoSQL Database

Fast

Each table in NoSQL is independent of the other. NoSQL provides us the ability to scale the tables horizontally, so we can store frequently required information in one table. All the table joins need to be handled at application level. Thus, data retrieval is fast.

Scalable

As the user base grows and we require a database which has capabilities to handle the added load, most of the NoSQL databases have the capabilities to scale as the data grows.

There are various types of NoSQL databases available in the market, and the scalability of database varies among different types, we have to choose the database as per our application needs. Scalability can be categorized based on:

Schemaless

In relational databases, for each table we have to define a schema, where we specify the number of columns and the type of data it holds. It is difficult to change the datatype of the column, and adding new column will result in lots of null values in the table. In NoSQL databases, adding/removing column is easy because we don’t have to specify schema on table creation.

Challenges faced while moving from relational system to NoSQL

 Examples: Redis, Dynamo, CouchDB, Oracle NoSQL Database, Riak

Examples: Couchbase, DocumentDB, MongoDB, OrientDB, HyperDex

Examples: Vertica, Cassandra, Accumulo, Druid, HBase

Examples: Stardog, Virtuoso, Allegro, InfiniteGraph

Each of the databases has its own advantages; we can choose the database type based on the application requirement.

Thus, while moving from SQL database to NoSQL database we have to consider the above mentioned points.

If you have any questions, feel free to add your comments.

WRITTEN BY CloudThat

SHARE

Comments

    Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!