NoSQL database
Data is everywhere, it is expanding with each passing day. Relational Database systems are kind of fixed and static. When we have something in abundance and without any standard formation, then the tables of relational database systems cry out.
So what to do with so many data integrations from several structured as well as unstructured sources. Well, the answer is to go for NoSQL (Not Only SQL). SQL is a structured query language that is used to query Relational Databases. However, NoSQL database does not contain data in the form of relations. Most of the NoSQL databases follow the JSON type structure to store data.
Formal Definition:
Guru99 provides a pretty nice definition for NoSQL databases:
"NoSQL Database is a non-relational Data Management System, that does not require a fixed schema. It avoids joins and is easy to scale. The major purpose of using a NoSQL database is for distributed data stores with humongous data storage needs. NoSQL is used for Big data and real-time web apps. For example, companies like Twitter, Facebook, and Google collect terabytes of user data every single day."
Types of NoSQL databases:
There are several types of NoSQL databases, such as:
- Key-Value
- DyanamoDB by Amazon, Redis, and Velocity are examples of Key-value databases.
- Use cases: Gaming, ad tech, IoT, and web crawling.
- Document
- NoSQL databases like MongoDB, Elasticsearch, IBM Domino, and Couchbase fall into Document databases.
- Use case: Content management systems, user profiles, and catalogs.
- Graph
- Typical examples for graph database includes Amazon Neptune, Giraph, and Neo4j.
- Use cases: Recommendation systems, fraud detection, and social networking.
- In-memory
- Amazon ElastiCache and Amazon DynamoDB Accelerator (DAX) works as an In-memory database.
- Use cases: Real-time analytics, session stores, and leaderboards.
- Search
- Amazon ElasticSeach Service falls into the search database.
- Use cases: Full-text search.
When to use NoSQL databases:
As mentioned above, when you have a huge amount of data from different standard/non-standard data and you need to perform real-time operations over that data to generate real-time results then you would be using NoSQL databases.
Companies using a NoSQL database:
- ContentStudio.io
- Teradata
- IBM
- Amazon
- Snapchat
And the list goes on...
Conclusion
To recapitulate and to create synergy between this very article and my previous data engineering-related blog posts, here is a summary:
- Till now we have gone through Data Engineering
- Data Modeling
- Relational Database systems
- and now this NoSQL database
Hope you are enjoying these blog posts, if you have any query feel free to reach out via comment section.
In the next blog post, we will talk about the applications of Data Engineering and it's use cases.
Happy Learning :)
---
References: aws
---
Thanks for this post. StaffMerge provides an amazing Tips for Video Interviewing to make you employable faster.
ReplyDelete