NoSQL Database - What is NoSQL Database - MongoDB Tutorial
- NoSQL database stores data in JSON documents in its place of columns and rows used by relational databases.
- It means a NoSQL JSON database can store and retrieve data using exactly “no SQL.”
- NoSQL databases are built to be flexible, scalable, and capable of quickly responding to the data management demands of modern businesses.
- NoSQL stands for “not only SQL” rather than “no SQL” at all.
History of NoSQL Databases
- 1998 - NoSQL is a lightweight, open-source relational database is launched.
- 2000 - Graph database Neo4j is released
- 2004 - Google Bigtable is released
- 2005 - CouchDB is released
- 2007 - The research paper on Amazon Dynamo is launched
- 2008 - Facebooks open sources the Cassandra project
- 2009- The term NoSQL was once again introduced
Types of NoSQL Databases
- Document databases are mainly built for storing information as documents, including, however not limited to, JSON documents. These systems can also be used for storing XML documents.
- This NoSQL DB stores and recovers data as a key value pair but the value part is stored as a document. The document is stored in JSON or XML formats.
- The worth is understood by the DB and can be queried.
- In this diagram on your left, you can see we have rows and columns, and in the right, we have a document database which has a similar structure to JSON.
- Key-value stores group related data in collections with records that are identified with unique keys for easy retrieval.
- Key-value stores have just enough structure to mirror the value of relational databases while still preserving the benefits of NoSQL.
- Key-value pair storage databases store data as a hash table where each key is unique, and the value can be a JSON, BLOB(Binary Large Objects), string, etc.
- Wide-column databases use the tabular format of relational databases until now allow an wide change in how data is named and formatted in each row, even in the same table.
- Like key-value stores, wide-column databases have some basic structure while also protective a lot of flexibility
- Graph databases use graph structures to define the relationships between stored data points.
- Graph databases are useful for finding patterns in unstructured and semi-structured information.
- It is used for social networks, logistics, spatial data.
Why NoSQL ?
- The idea of NoSQL databases popular with internet frame like Google, Facebook, Amazon, etc. who deal with enormous volumes of data. The system response time becomes slow when you use RDBMS for enormous volumes of data.
- To resolve this problematic, we could “scale up” our systems by upgrading our existing hardware. This process is exclusive.
- The alternative for this issue is to allocate database load on multiple hosts whenever the load increases. This method is known as “scaling out.”
- NoSQL database is non-relational, so it scales out better than relational databases as they are planned with web applications.
Advantages of NoSQL
- It provides fast performance and horizontal scalability.
- It Can handle structured, semi-structured, and unstructured data with equivalent effect.
- NoSQL databases don’t need a dedicated high-performance server.
- It is Simple to implement than using RDBMS.
- It Can be used as Primary or Analytic Data Source.
- Big Data Capability.
- Easy Replication
- Object-oriented programming which is easy to use and flexible.
- It can serve as the primary data source for online applications.
Disadvantages of NoSQL
- RDBMS databases and tools are established
- It does not offer any old-style database capabilities, like consistency when multiple transactions are performed at the same time.
- When the volume of data increases it is difficult to maintain unique values as keys become difficult.
- It Doesn’t work with relational data.
- No adjustment rules.
- Limited query abilities.