HBase and Datawarehouse

76 views
Skip to first unread message

KIRAN

unread,
Apr 29, 2013, 12:03:41 AM4/29/13
to nosql-di...@googlegroups.com
What is the difference between a NoSQL database like HBase and a data warehouse? Doesn’t both store data from disparate sources and formats?Also, from Google's  big table paper it is evident that HBase is capable of doing OLAP.SO where does the difference lie?

Rayk Fenske

unread,
May 8, 2013, 4:22:08 AM5/8/13
to nosql-di...@googlegroups.com
Just a short answer: The one thing - NoSQL databases - is a technology, the other - Data Warehouse - is a method. IMHO one could do data warehousing on any data storage, be it relational, schema less or file based. Doesn't matter.

Kind regards,
Rayk

Ricky Ho

unread,
May 8, 2013, 1:03:27 PM5/8/13
to nosql-di...@googlegroups.com
NOSQL is a general term and different types of NOSQL DB (distributed key/value store vs big table vs doc-oriented vs graph db) has very different architecture optimizing for different usage patterns.  Data warehouse predates NOSQL and is a traditional way to analyze data using OLAP cube operation with very specific multi-dimensional structure (basically aggregating data from different dimensions).

Rgds, Ricky


--
You received this message because you are subscribed to the Google Groups "NOSQL" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nosql-discussi...@googlegroups.com.
To post to this group, send email to nosql-di...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/nosql-discussion/-/9HhDIZf8O_UJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Luca Garulli

unread,
May 8, 2013, 1:43:39 PM5/8/13
to nosql-discussion
Hi,
there is an interesting way to use GraphDB: since they have super fast traversing of relationships (not like RDBMS with expensive JOINs) you could create multiple dimensions against your data without the need to de-normalize them.

Example, if you need to analyze temporal series of record you could build a graph like:

calendar -> Year -> Month -> Day -> Hour -> Minute -> YOUR RECORDS

And then connect all your records to the minute vertex. If you want to query all the records of 9th April 2013 on 10:20:

calendar.year[2013].month[4].day[9].hour[10].minute[20] ->

The same for other dimensions like the location:

location -> Country -> Region -> State -> City -> Area -> YOUR RECORDS

My 0,02
Lvc@

Ricky Ho

unread,
May 8, 2013, 2:49:24 PM5/8/13
to nosql-di...@googlegroups.com
I think there is no one size fits all.  GraphDB is good in storing complex network relationships such as social network  ..etc.  It is optimized for traversal operation and perhaps some common network statistics such as cluster, centrality ... etc

But I don't think your example is a fit.  Lets say I want to compute the average per month and see if there is any correlation between the same month over past 10 years.  How would you do that ?

Rgds,
Ricky

anand Suvernkar

unread,
May 8, 2013, 8:14:44 PM5/8/13
to nosql-di...@googlegroups.com
To query over a hierachial space like the one you mentioned below, you can use any b-tree based key-value stored like BerkleyDB. Since keys are sorted in a b-tree in these systems, it is possible to implement a fast scan.
You can define the key as "year:month:dat:hour:...:additionalkeys". Then create a cursor and iterate over all values needed. 

Thanks
Anand

Reply all
Reply to author
Forward
0 new messages