Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is NoSQL?

What exactly is NoSQL? Is it database systems that only work with {key:value} pairs?

As far as I know MemCache is one of such database systems, am I right?

What other popular NoSQL databases are there and where exactly are they useful?

Thanks, Boda Cydo.

like image 652
bodacydo Avatar asked Jan 31 '10 19:01

bodacydo


People also ask

What is NoSQL and its uses?

NoSQL is a type of next-generation database management system (DBMS). NoSQL databases have flexible schemas for building modern applications with large amounts of data and high loads. The term “NoSQL” was first coined by Carlo Strozzi in 1998, although similar databases have existed since the late 1960s.

What is meant by NoSQL?

NoSQL, also referred to as “not only SQL”, “non-SQL”, is an approach to database design that enables the storage and querying of data outside the traditional structures found in relational databases.

What is NoSQL give example?

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. NoSQL database stands for “Not Only SQL” or “Not SQL.” Though a better term would be “NoREL”, NoSQL caught on. Carl Strozz introduced the NoSQL concept in 1998.

What is the main function of NoSQL?

NoSQL solutions usually distribute data across multiple servers. If the amount of data increases, new servers are simply added. This allows NoSQL databases to easily store and process large amounts of data, making them ideal for big data applications.


1 Answers

I'm not agree with the answers I'm seeing, although it's true that NoSQL solutions tends to break the ACID rules, not all are created from that approach.

I think first you should define what is a SQL Solution and then you can put the "Not Only" in front of it, that will be more accurate definition of what is a NoSQL solution.

With this approach in mind:

SQL databases are a way to group all the data stores that are accessible using Structured Query Language as the main (and most of the time only) way to communicate with them, this means it requires that the database support the structures that are common to those systems like "tables", "columns", "rows", "relationships", etc.

Now, put the "Not Only" in front of the last sentence and you will get a definition of what means "NoSQL". NoSQL groups all the stores created as an attempt to solve problems which cannot fit into the table/column/rows structures or even in SQL Statements, in most of the cases these databases will not support relationships, they're abandoning the well known structures just because the problems have changed since their conception.

If you have a text file, and you create an API to store/retrieve/organize this information, then you have a NoSQL database in your hands.

All of these means that there are several solutions to store the information in a way that traditional SQL systems will not allow to achieve better performance, flexibility, etc etc. Every NoSQL provider tries to solve a different problem and that's why you wont be able to compare two different solutions, for example:

  • djondb is a document store created to be used as NoSQL enterprise solution supporting transactions, consistency, etc. but sacrifice performance of its counterparts.
  • MongoDB is a document store (similar to djondb) which accomplish great performance but trades some of the ACID properties to achieve this.
  • CouchDB is another document store which solves the queries slightly different providing views to retrieve the information without doing a full query every time.
  • ...

As you may have noticed I only talked about the document stores, that's because I wanted to show you that 3 different document stores implementations have different approach, therefore you should keep in mind the golden rule of NoSQL stores "Use the right tool for the right job".

I'm the creator of djondb and I've been doing a lot of research even before trying to start my own NoSQL implementation, but this is a field where the concepts will keep changing the way we see the information storage.

like image 129
Cross Avatar answered Oct 04 '22 05:10

Cross