NoSQL: An Analysis of the Strengths and Weaknesses
Join the DZone community and get the full member experience.Join For Free
What is NoSQL, how is it different from RDBMS?
In computing, NoSQL (sometimes expanded to “not only SQL”) is a broad class of database management systems that differ from the classic model of the relational database management system (RDBMS) in some significant ways, most important being they do not use SQL as their query language. These data stores may not require fixed table schemas, usually avoid join operations, and typically scale horizontally. Academic researchers typically refer to these databases as structured storage, a term that includes classic relational databases as a subset.
More on this @ http://en.wikipedia.org/wiki/NoSQL
NoSQL databases categorization / types
Often, NoSQL databases are categorized according to the way they store the data and it falls under categories such as
- Wide Column Store / Column Families – Hadoop / HBase, Apache Cassandra, Hypertable, Amazon SimpleDB, etc.
- Document Store – MongoDB, CouchDB, OrientDB, etc.
- Key Value / Tuple Store – Azure Table Storage, MemcacheDB, Berkeley DB, etc.
- Graph Databases – Bigdata, HyperGraphDB, Infinite Graph, FlockDB etc.
- Object Databases – db40, Objectivity, Versant, etc.
- Grid & Cloud Database Solutions: Hazelcast, GigaSpaces, etc.
- XML Databases – EMC Documentum xDB, eXist, Berkeley DB XML, etc.
More on this @ http://nosql-database.org/
NoSQL – SWOT Analysis
- Uninterrupted access/high availability
- Security and flexibility
- Freedom to choose
- Porting the applications
- No Normalization, unions or joins
- Lost updates
- Huge investments
- Data Intensive applications
- FOSS business model
- FUD (Fear, uncertainity and doubt) amongst Users
The dark side of NoSQL
There is a dark side to most of the current NoSQL databases. People rarely talk about it. They talk about performance, about how easy schemaless databases are to use. About nice APIs. They are mostly developers and not operation and system administrators. No-one asks those. But it’s there where rubber hits the road.
- ad hoc data fixing – either no query language available or no skills
- ad hoc reporting – either no query language available or no in-house skills
- data export – sometimes no API way to access all data
More on this @ http://codemonkeyism.com/dark-side-nosql/
- NoSQL or SQL? Do you have to choose? (rackspace.com)
- NoSQL: NoSQL Databases: 6 Business and Technical Reasons for a New Set of Requirements (themindstorms.blogspot.com)
- First Look: Oracle NoSQL Database (developers.slashdot.org)
- NoSQL: NoSQL Document Databases: Testing Your Document Structure for Inconsistencies (themindstorms.blogspot.com)
Opinions expressed by DZone contributors are their own.