Over a million developers have joined DZone.

An Overwhelming Era of Databases

DZone's Guide to

An Overwhelming Era of Databases

· Java Zone ·
Free Resource

The CMS developers love. Open Source, API-first and Enterprise-grade. Try BloomReach CMS for free.

This era is significant in terms of the number of databases that have made their way into the enterprise data centers:

1.  Column Based

Column Based Databases are not different from RDBMS on a structural point of view, but they do allow columns to be created on the fly unlike RDBMS (it’s bit relaxed). if you define a table with 2 columns and store a record with 3 columns, you will see three columns inserted even though the 3rd column wasn’t defined.

Solutions: Cassandra, etc.

* Partially schema less.

* No ACID properties.

* Supports CQL (similar to SQL syntax, for SQL users :) )

2. Graph or Hierarchy

Graph databases store data in the form of Vertex and edges, vertices are connected by edges. In a typical world where you want to define relational data, Graph database would fit in well.

Ex: Company -> employee -> family -> etc.

* Works with multiple storage options, Titan works well with Cassandra.

* Very effective in navigating from one node to another, you can visualize like navigating from friends to friends in a social media.

Solutions: TitanDB, Neo4J, etc.

3.  Document

The data is stored as a JSON document. It’s easy to serialize & de-serialize when you store it as a document, and especially for java development environments, JSON saves lot of boiler plate code.

Solutions: MongoDB, CouchDB etc.

4. KeyValue Store

This category is a filler for everything else that talks about being NoSQL and fits into the above.

Solutions: Redis, MemcacheDB, HazelCast etc.

5.  RDBMS++ &--

This is a new trend where you can get the benefits of both worlds (RDBMS & NoSQL). 

Ex: ACID property, Security & so on.

Solutions: NuoDB, etc.

The more choices you have, the more the complications in choosing the right fit.

I am no exception :) , Good luck with it.

BloomReach CMS: the API-first CMS of the future. Open-source & enterprise-grade. - As a Java developer, you will feel at home using Maven builds and your favorite IDE (e.g. Eclipse or IntelliJ) and continuous integration server (e.g. Jenkins). Manage your Java objects using Spring Framework, write your templates in JSP or Freemarker. Try for free.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}