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

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

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.

Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat


Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}