NoSQL and RDBMS together

nosqlrdbms

I was wondering if there are any good solutions for recording data in a NoSQL database and then converting them over to an RDBMS?

For example, if you wanted to capture some data quickly, like session logs, but then you want to be able to create reports on them later.

My favorite database is Postgres, so if your answer is relevant in Postgres that would be great.

Best Answer

The Quick Answer - Yes. Happens all the time.

There are plenty of good solutions. What solutions are already in your environment? I am helping one client that takes their web site/session activity information from their web application, they write it to xml then deserialize that xml into Hadoop. They then use Hive on top of Hadoop to create aggregations and facts (by joining this log data to reference data from their website that they store in a Postgres database). These aggregtions and facts are then loaded into an RDBMS (they use SQL Server, because of the rich analytics provided in the SQL Server stack).

I would explore Hadoop, look at Hive which is a query engine on top of Hadoop that allows you to write declarative queries that closely resemble SQL and get translated into MapReduce jobs behind the scenes. Then look at Sqoop which is another tool in the Hadoop family that assists you with exporting/importing data.

http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http://www.cloudera.com/blog/2009/06/introducing-sqoop/ http://hive.apache.org/

There are other options out there too...