Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is NoSql? What is Purpose of NoSql? Where can i get sufficient material on NoSql?

Tags:

nosql

How it relates to Mysql? I am searching even books and material if any one please mention titles of the book or links....

I am planning to learn NoSql... so please suggest me some tips that what are the things we need before to learn?

Can any once explain clearly difference between using MySql and NoSql?

Are there any tools to migrate MySql database to NoSql database? If any one knows the procedure or related material please help me.....

Thanks in advance...

like image 694
Bhargav Avatar asked Nov 11 '10 13:11

Bhargav


1 Answers

NoSQL is a category of database engines that do not support the SQL (Structured Query Language) in order to achieve performance or reliability features that are incompatible with the flexibility of SQL.

These engines usually provide a query language that provides a subset of what SQL can do, plus some additional features. What subset of SQL is available depends entirely on the engine, though it's fairly common that JOIN, TRANSACTION, LIMIT and non-indexed WHERE are not supported.

As a consequence, porting existing software from a standard SQL database engine to a NoSQL engine will require a rewrite of all the queries in that software, and will probably also require some changes in the application logic itself (a classic example being that "display page 11 of 25" is impossible to do efficiently in CouchDB, due to lack of LIMIT x OFFSET y support).

Wikipedia has a nice list of NoSQL engines.

The general consensus on NoSQL seems to be that if some specific part of your software would benefit from the improved performance, reliability or scalability allowed by a specific NoSQL engine, and does not use any features unavailable in that engine, then a migration might be considered. It's fairly rare for an entire existing SQL-driven application to be moved in its integrality over to NoSQL.

Some NoSQL engines have automatic import-from-SQL features, but using NoSQL imposes some architecture constraints that are dependent on what you are doing with the data, so a hand-written import-from-SQL procedure will usually be the only solution regardless of existing importers.

(Finally, MySQL bears no relationship to NoSQL. MySQL is just a name of one relational database implementation. Since it implements SQL, it is of course not a NoSQL database.)

like image 136
Victor Nicollet Avatar answered Sep 19 '22 04:09

Victor Nicollet