What exactly is NoSQL?

Viewed 13144

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.

8 Answers

From wikipedia:

NoSQL is an umbrella term for a loosely defined class of non-relational data stores that break with a long history of relational databases and ACID guarantees. Data stores that fall under this term may not require fixed table schemas, and usually avoid join operations. The term was first popularised in early 2009.

The motivation for such an architecture was high scalability, to support sites such as Facebook, advertising.com, etc...

I used something called the Raima Data Manager more than a dozen years ago, that qualifies as NoSQL. It calls itself a "Set Oriented Database" Its not based on tables, and there is no query "language", just an C API for asking for subsets.

It's fast and easier to work with in C/C++ and SQL, there's no building up strings to pass to a query interpreter and the data comes back as an enumerable object rather than as an array. variable sized records are normal and don't waste space. I never saw the source code, but there were some hints at the interface that internally, the code used pointers a lot.

I'm not sure that the product I used is even sold anymore, but the company is still around.

Related