top of page
Writer's pictureSomanathan c

No SQL Vs SQL

A brief study on SQL vs NoSQL

The objective of this document is to narrate in brief the right usage of both these technologies to build appropriate business applications.

The first understanding should be that these two technologies are complimentary in nature. How so? The rest of the document shall aim to uncover the veil surrounding these two technologies in terms of usage in the enterprise space.

Difference between SQL and NoSQL

NoSQL is not a replacement for SQL. Worldwide, companies use both these technologies after a thorough understanding of the business case and decide accordingly.

NoSQL databases are designed to manage lots of traffic and data emanating out of social media, Ecommerce, search, etc. The SQL databases are designed to handle transactional data in a very organized manner but with rigidity.

NoSQL database makes it easier to store all different types of data together. The main advantages are flexibility, speed and scalability in managing large volumes of data.

There are many NoSQL database options for enterprises such as:

MongoDB, Cassandra, Redis, Couchbase, DynamoDB, and Cosmos DB

There are also four types of NoSQL databases.

Key value: data is stored as attribute names or keys with values

Document: contains many different key value pairs

Graph: used to store data related to connections or networks

Column: data is stored as columns instead of rows

The data store is different enabling the developer to select the most appropriate one under different contexts. For example, graph databases are commonly used in social media.

Another key difference is that the SQL databases scale up (vertical - extra hardware, RAM, Processing power, et) nicely but NoSQL databases scale out and leverage the cloud computing optimally.

The other aspect is in terms of speed. The ability to store high volume of data in a flexible way makes NoSQL faster to develop.

-create a database without a detailed data model

-store all different types of data without defining the type of data in advance

-add new data types without having to redefine the schema


NoSQL pairs well with fast paced, agile development teams. It allows for rapid changes to the database schema as the scope evolves and requirements change. On the other hand, if your data is structured with minimal or no change, then there is no reason to use NoSQL as SQL will be faster in this business scenario.

High availability and auto-replication comes automatically with NoSQL databases whereas SQL databases need configuration.

Any multi-tenant application will need sharding and partitioning (separating very large databases into smaller, faster, more easily managed parts). NoSQL databases (such as CosmosDB) includes these features out-of-box. SQL databases require additional coding to achieve these features.

When to use SQL instead of NoSQL

- If you are working with complex queries and reports

- If you have a high transaction application

- If you need to ensure ACID compliance

- If you do not anticipate a lot of change or growth


When to use NoSQL instead of SQL

- If you are constantly adding new features, functions, data types

- If it’s difficult to predict how the application will grow over time.

- If your challenge requires flexible schema design or no predefined schema.

- If you want to develop the data model in an iterative and adaptive manner.

- If you not concerned about data consistency and 100% data integrity is not your top goal.

- If your data needs scale up, out, and down.

- If you are looking for greater flexibility and the ability to control costs as your data needs change.


When to use both SQL and NoSQL

To answer this question, one should start with understanding the domain. What is the end state does the business is trying to achieve? It is often not about SQL or NoSQL but about when and where to use each technology within the enterprises while emabarking on new age digital evolution or ecosystem.

Some key enterprise use cases that make a strong case for NoSQL adoption.

- Personalization

- Profile Management

- Real-time Big Data

- Content Management

- Catalog Management

- 360 Degree view of customers

- Mobile Applications

- Internet of Things (IOT)

- Digital Communications

- Fraud Detection


References

Some interesting case studies


Some key technical explanations


Extensive practical examples




14 views0 comments

Recent Posts

See All

Useful study materials Link:

opular Python libraries Pandas and Numpy. ◾https://lnkd.in/dfrReXF7 2. Learn SQL Basics for Data Science Specialization Time to...

Microservices - Best practices

[1.] Design for failure - Microservices should be designed to tolerate failure at every level, from infrastructure to individual...

Comments


bottom of page