1. Used for Online Transactional Processing (OLTP) but can be used for other purposes such as Data Warehousing. This records the data from the user for history. 2. The tables and joins are complex since they are normalized (for RDMS). This is done to reduce redundant data and to save storage space. 3. Entity – Relational modeling techniques are used for RDMS database design. 4. Optimized for write operation. 5. Performance is low for analysis queries.

*Warehouse*

1. Used for Online Analytical Processing (OLAP). This reads the historical data for the Users for business decisions. 2. The Tables and joins are simple since they are de-normalized. This is done to reduce the response time for analytical queries. 3. Data – Modeling techniques are used for the Data Warehouse design. 4. Optimized for read operations. 5. High performance for analytical queries. 6. Is *usually* a Database.

But in HBase data can be said to be in denormalised state as the methodologyused for storage is a (column family:column) based flexible schema .Also,from Google's big table paper it is evident that HBase is capable of doingOLAP.SO where does the difference lie?

In HBase the data is denormalized but at the core HBase is KeyValue baseddatabase meant for lookups or queries that expect response in milliseconds.OLAP i.e. data warehouse usually involves heavy data crunching. HBase isnot really intended for heavy data crunching. If you want to just storedenoramlized data and do simple queries then HBase is good. For OLAP kindof stuff, you can make HBase work but IMO you will be better off using Hivefor data warehousing.

> But in HBase data can be said to be in denormalised state as the> methodology> used for storage is a (column family:column) based flexible schema .Also,> from Google's big table paper it is evident that HBase is capable of doing> OLAP.SO where does the difference lie?>>>> --> View this message in context:> http://apache-hbase.679495.n3.nabble.com/HBase-and-Datawarehouse-tp4043172p4043216.html> Sent from the HBase User mailing list archive at Nabble.com.>

So it means HBase can help in easy retrieval and insertions on large volumesof data but it lacks the power to analyse and summarize the data?In HBase can't we write Map-Reduce jobs that can do this "data cunching"?As per youranalysis isn't that a feasible approach than the data warehousing systems?

> Anil,>> So it means HBase can help in easy retrieval and insertions on large> volumes> of data but it lacks the power to analyse and summarize the data?

Out of the box, it can do simple aggregations like sum, avg, etc. But, ifyou have complex analytical queries(lead, lag rolling aggregates) then youcan write your Coprocessor for doing those analytical queries.

> In HBase> can't we write Map-Reduce jobs that can do this "data cunching"?

Yes you can do. But, if you are only going to do MR then why use HBase forstoring data?

> As per your> analysis isn't that a feasible approach than the data warehousing systems?>I dont know your use case in detail so cant say whether it will work foryou or not. But, theoretically it is feasible. Have you evaluated hive/pigfor data warehousing?

Sorry for the late response. I totally agree with Anil. If you havewarehousing needs, I would also suggest Hive. You could easily map yourHbase tables to your Hive tables and crunch crunch the data. It would saveyou from writing lengthy and tedious MR jobs. And as Anil has said Pig isanother good choice, if you have to do lot of transformations on your data.

> Inline.>> On Sun, Apr 28, 2013 at 10:40 PM, Kiran <[EMAIL PROTECTED]> wrote:>> > Anil,> >> > So it means HBase can help in easy retrieval and insertions on large> > volumes> > of data but it lacks the power to analyse and summarize the data?>> Out of the box, it can do simple aggregations like sum, avg, etc. But, if> you have complex analytical queries(lead, lag rolling aggregates) then you> can write your Coprocessor for doing those analytical queries.>> > In HBase> > can't we write Map-Reduce jobs that can do this "data cunching"?>> Yes you can do. But, if you are only going to do MR then why use HBase for> storing data?>> > As per your> > analysis isn't that a feasible approach than the data warehousing> systems?> >> I dont know your use case in detail so cant say whether it will work for> you or not. But, theoretically it is feasible. Have you evaluated hive/pig> for data warehousing?>> >> >> >> > --> > View this message in context:> >> http://apache-hbase.679495.n3.nabble.com/HBase-and-Datawarehouse-tp4043172p4043220.html> > Sent from the HBase User mailing list archive at Nabble.com.> >>>>> --> Thanks & Regards,> Anil Gupta>

Where an HBase OLAP application will differ tremendously from a traditionaldata warehouse is of course in the interface to the datastore. You have todesign and speak in the language of the HBase API, though Phoenix (https://github.com/forcedotcom/phoenix) is changing that.On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]> wrote:

> Hi Kiran,>> In HBase the data is denormalized but at the core HBase is KeyValue based> database meant for lookups or queries that expect response in milliseconds.> OLAP i.e. data warehouse usually involves heavy data crunching. HBase is> not really intended for heavy data crunching. If you want to just store> denoramlized data and do simple queries then HBase is good. For OLAP kind> of stuff, you can make HBase work but IMO you will be better off using Hive> for data warehousing.>> HTH,> Anil Gupta>>> On Sun, Apr 28, 2013 at 8:39 PM, Kiran <[EMAIL PROTECTED]> wrote:>> > But in HBase data can be said to be in denormalised state as the> > methodology> > used for storage is a (column family:column) based flexible schema .Also,> > from Google's big table paper it is evident that HBase is capable of> doing> > OLAP.SO where does the difference lie?> >> >> >> > --> > View this message in context:> >> http://apache-hbase.679495.n3.nabble.com/HBase-and-Datawarehouse-tp4043172p4043216.html> > Sent from the HBase User mailing list archive at Nabble.com.> >>

I think for Pheoenix truly to succeed, it's need HBase to break the JVMHeap barrier of 12G as I saw mentioned in couple of posts. since Lots ofanalytics queries utilize memory, thus since its memory is shared withHBase, there's so much you can do on 12GB heap. On the other hand, ifPheonix was implemented outside HBase on the same machine (like Drill orImpala is doing), you can have 60GB for this process, running many OLAPqueries in parallel, utilizing the same data set.

> > HBase is not really intended for heavy data crunching>> Yes it is. This is why we have first class MapReduce integration and> optimized scanners.>> Recent versions, like 0.94, also do pretty well with the 'O' part of OLAP.>> Urban Airship's Datacube is an example of a successful OLAP project> implemented on HBase: http://github.com/urbanairship/datacube>> "Urban Airship uses the datacube project to support its analytics stack for> mobile apps. We handle about ~10K events per second per node.">>> Also there is Adobe's SaasBase:> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobe>> Etc.>> Where an HBase OLAP application will differ tremendously from a traditional> data warehouse is of course in the interface to the datastore. You have to> design and speak in the language of the HBase API, though Phoenix (> https://github.com/forcedotcom/phoenix) is changing that.>>> On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]>> wrote:>> > Hi Kiran,> >> > In HBase the data is denormalized but at the core HBase is KeyValue based> > database meant for lookups or queries that expect response in> milliseconds.> > OLAP i.e. data warehouse usually involves heavy data crunching. HBase is> > not really intended for heavy data crunching. If you want to just store> > denoramlized data and do simple queries then HBase is good. For OLAP kind> > of stuff, you can make HBase work but IMO you will be better off using> Hive> > for data warehousing.> >> > HTH,> > Anil Gupta> >> >> > On Sun, Apr 28, 2013 at 8:39 PM, Kiran <[EMAIL PROTECTED]> wrote:> >> > > But in HBase data can be said to be in denormalised state as the> > > methodology> > > used for storage is a (column family:column) based flexible schema> .Also,> > > from Google's big table paper it is evident that HBase is capable of> > doing> > > OLAP.SO where does the difference lie?> > >> > >> > >> > > --> > > View this message in context:> > >> >> http://apache-hbase.679495.n3.nabble.com/HBase-and-Datawarehouse-tp4043172p4043216.html> > > Sent from the HBase User mailing list archive at Nabble.com.> > >> >>> --> Best regards,>> - Andy>> Problems worthy of attack prove their worth by hitting back. - Piet Hein> (via Tom White)>

> I think for Pheoenix truly to succeed, it's need HBase to break the JVM> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots of> analytics queries utilize memory, thus since its memory is shared with> HBase, there's so much you can do on 12GB heap. On the other hand, if> Pheonix was implemented outside HBase on the same machine (like Drill or> Impala is doing), you can have 60GB for this process, running many OLAP> queries in parallel, utilizing the same data set.>

Phoenix will succeed if HBase succeeds. Phoenix just makes it easier to drive HBase to it's maximum capability. IMHO, if HBase is to make further gains in the OLAP space, scans need to be faster and new, more compressed columnar-store type block formats need to be developed.

Running inside HBase is what gives Phoenix most of its performance advantage. Have you seen our numbers against Impala: https://github.com/forcedotcom/phoenix/wiki/Performance? Drill will need something to efficiently execute a query plan against HBase and Phoenix is a good fit here.

Thanks,

James

On 04/29/2013 10:54 PM, Asaf Mesika wrote:> I think for Pheoenix truly to succeed, it's need HBase to break the JVM> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots of> analytics queries utilize memory, thus since its memory is shared with> HBase, there's so much you can do on 12GB heap. On the other hand, if> Pheonix was implemented outside HBase on the same machine (like Drill or> Impala is doing), you can have 60GB for this process, running many OLAP> queries in parallel, utilizing the same data set.>>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]> wrote:>>>> HBase is not really intended for heavy data crunching>> Yes it is. This is why we have first class MapReduce integration and>> optimized scanners.>>>> Recent versions, like 0.94, also do pretty well with the 'O' part of OLAP.>>>> Urban Airship's Datacube is an example of a successful OLAP project>> implemented on HBase: http://github.com/urbanairship/datacube>>>> "Urban Airship uses the datacube project to support its analytics stack for>> mobile apps. We handle about ~10K events per second per node.">>>>>> Also there is Adobe's SaasBase:>> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobe>>>> Etc.>>>> Where an HBase OLAP application will differ tremendously from a traditional>> data warehouse is of course in the interface to the datastore. You have to>> design and speak in the language of the HBase API, though Phoenix (>> https://github.com/forcedotcom/phoenix) is changing that.>>>>>> On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]>>> wrote:>>>>> Hi Kiran,>>>>>> In HBase the data is denormalized but at the core HBase is KeyValue based>>> database meant for lookups or queries that expect response in>> milliseconds.>>> OLAP i.e. data warehouse usually involves heavy data crunching. HBase is>>> not really intended for heavy data crunching. If you want to just store>>> denoramlized data and do simple queries then HBase is good. For OLAP kind>>> of stuff, you can make HBase work but IMO you will be better off using>> Hive>>> for data warehousing.>>>>>> HTH,>>> Anil Gupta>>>>>>>>> On Sun, Apr 28, 2013 at 8:39 PM, Kiran <[EMAIL PROTECTED]> wrote:>>>>>>> But in HBase data can be said to be in denormalised state as the>>>> methodology>>>> used for storage is a (column family:column) based flexible schema>> .Also,>>>> from Google's big table paper it is evident that HBase is capable of>>> doing>>>> OLAP.SO where does the difference lie?>>>>>>>>>>>>>>>> -->>>> View this message in context:>>>>>> http://apache-hbase.679495.n3.nabble.com/HBase-and-Datawarehouse-tp4043172p4043216.html>>>> Sent from the HBase User mailing list archive at Nabble.com.>>>>>> -->> Best regards,>>>> - Andy>>>> Problems worthy of attack prove their worth by hitting back. - Piet Hein>> (via Tom White)>>

I don't wish to be rude, but you are making odd claims as fact as"mentioned in a couple of posts". It will be difficult to have a seriousconversation. I encourage you to test your hypotheses and let us know if infact there is a JVM "heap barrier" (and where it may be).

The heap barrier is something of a legend :) You can ask 10 differentHBase committers what they think the max heap is and get 10 differentanswers. This is my take on heap sizes from the many clusters I have dealtwith:

I think the answer is that it depends. Especially when you start to add in coprocessors. I'm not saying that there are not legitimate reasons, but that a lot of time, people just up the heap size without thinking about the problem.To Kevin's point, when you exceed a certain point, you're going to need to really start to think about the tuning process.

MSLABs is now on by default or so I am told.

-Just because you can do something doesn't mean its a good idea. ;-)

On Apr 30, 2013, at 7:01 AM, Kevin O'dell <[EMAIL PROTECTED]> wrote:

> Asaf,> > The heap barrier is something of a legend :) You can ask 10 different> HBase committers what they think the max heap is and get 10 different> answers. This is my take on heap sizes from the many clusters I have dealt> with:> > 8GB -> Standard heap size, and tends to run fine without any tuning> > 12GB -> Needs some TLC with regards to JVM tuning if your workload tends> cause churn(usually blockcache)> > 16GB -> GC tuning is a must, and now we need to start looking into MSLab> and ZK timeouts> > 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise the> ZK timeout a little higher> > 32GB -> We do have a couple people running this high, but the pain out> weighs the gains(IMHO)> > 64GB -> Let me know how it goes :)> > > > > On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]> wrote:> >> I don't wish to be rude, but you are making odd claims as fact as>> "mentioned in a couple of posts". It will be difficult to have a serious>> conversation. I encourage you to test your hypotheses and let us know if in>> fact there is a JVM "heap barrier" (and where it may be).>> >> On Monday, April 29, 2013, Asaf Mesika wrote:>> >>> I think for Pheoenix truly to succeed, it's need HBase to break the JVM>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots of>>> analytics queries utilize memory, thus since its memory is shared with>>> HBase, there's so much you can do on 12GB heap. On the other hand, if>>> Pheonix was implemented outside HBase on the same machine (like Drill or>>> Impala is doing), you can have 60GB for this process, running many OLAP>>> queries in parallel, utilizing the same data set.>>> >>> >>> >>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]>> <javascript:;>>>>> wrote:>>> >>>>> HBase is not really intended for heavy data crunching>>>> >>>> Yes it is. This is why we have first class MapReduce integration and>>>> optimized scanners.>>>> >>>> Recent versions, like 0.94, also do pretty well with the 'O' part of>>> OLAP.>>>> >>>> Urban Airship's Datacube is an example of a successful OLAP project>>>> implemented on HBase: http://github.com/urbanairship/datacube>>>> >>>> "Urban Airship uses the datacube project to support its analytics stack>>> for>>>> mobile apps. We handle about ~10K events per second per node.">>>> >>>> >>>> Also there is Adobe's SaasBase:>>>> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobe>>>> >>>> Etc.>>>> >>>> Where an HBase OLAP application will differ tremendously from a>>> traditional>>>> data warehouse is of course in the interface to the datastore. You have>>> to>>>> design and speak in the language of the HBase API, though Phoenix (>>>> https://github.com/forcedotcom/phoenix) is changing that.>>>> >>>> >>>> On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]>> <javascript:;>>>>> >>>> wrote:>>>> >>>>> Hi Kiran,>>>>> >>>>> In HBase the data is denormalized but at the core HBase is KeyValue>>> based>>>>> database meant for lookups or queries that expect response in>>>> milliseconds.>>>>> OLAP i.e. data warehouse usually involves heavy data crunching. HBase>>> is>>>>> not really intended for heavy data crunching. If you want to just>> store>>>>> denoramlized data and do simple queries then HBase is good. For OLAP

Rules of thumb for starting off safely and for easing support issues arereally good to have, but there are no hard barriers or singular approaches:use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, runmultiple regionservers per host. It is going to depend on how the clusteris used and loaded. If we are talking about coprocessors, then effectivelimits are less clear, using a coprocessor to integrate an external processimplemented with native code communicating over memory mapped files in/dev/shm isn't outside what is possible (strawman alert).On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]>wrote:

> Rules of thumb for starting off safely and for easing support issues are> really good to have, but there are no hard barriers or singular approaches:> use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, run> multiple regionservers per host. It is going to depend on how the cluster> is used and loaded. If we are talking about coprocessors, then effective> limits are less clear, using a coprocessor to integrate an external process> implemented with native code communicating over memory mapped files in> /dev/shm isn't outside what is possible (strawman alert).> > > On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]>wrote:> >> Asaf,>> >> The heap barrier is something of a legend :) You can ask 10 different>> HBase committers what they think the max heap is and get 10 different>> answers. This is my take on heap sizes from the many clusters I have dealt>> with:>> >> 8GB -> Standard heap size, and tends to run fine without any tuning>> >> 12GB -> Needs some TLC with regards to JVM tuning if your workload tends>> cause churn(usually blockcache)>> >> 16GB -> GC tuning is a must, and now we need to start looking into MSLab>> and ZK timeouts>> >> 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise the>> ZK timeout a little higher>> >> 32GB -> We do have a couple people running this high, but the pain out>> weighs the gains(IMHO)>> >> 64GB -> Let me know how it goes :)>> >> >> >> >> On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]>>> wrote:>> >>> I don't wish to be rude, but you are making odd claims as fact as>>> "mentioned in a couple of posts". It will be difficult to have a serious>>> conversation. I encourage you to test your hypotheses and let us know if>> in>>> fact there is a JVM "heap barrier" (and where it may be).>>> >>> On Monday, April 29, 2013, Asaf Mesika wrote:>>> >>>> I think for Pheoenix truly to succeed, it's need HBase to break the JVM>>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots>> of>>>> analytics queries utilize memory, thus since its memory is shared with>>>> HBase, there's so much you can do on 12GB heap. On the other hand, if>>>> Pheonix was implemented outside HBase on the same machine (like Drill>> or>>>> Impala is doing), you can have 60GB for this process, running many OLAP>>>> queries in parallel, utilizing the same data set.>>>> >>>> >>>> >>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]>>> <javascript:;>>>>>> wrote:>>>> >>>>>> HBase is not really intended for heavy data crunching>>>>> >>>>> Yes it is. This is why we have first class MapReduce integration and>>>>> optimized scanners.>>>>> >>>>> Recent versions, like 0.94, also do pretty well with the 'O' part of>>>> OLAP.>>>>> >>>>> Urban Airship's Datacube is an example of a successful OLAP project>>>>> implemented on HBase: http://github.com/urbanairship/datacube>>>>> >>>>> "Urban Airship uses the datacube project to support its analytics>> stack>>>> for>>>>> mobile apps. We handle about ~10K events per second per node.">>>>> >>>>> >>>>> Also there is Adobe's SaasBase:>>>>> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobe>>>>> >>>>> Etc.>>>>> >>>>> Where an HBase OLAP application will differ tremendously from a>>>> traditional>>>>> data warehouse is of course in the interface to the datastore. You>> have>>>> to>>>>> design and speak in the language of the HBase API, though Phoenix (>>>>> https://github.com/forcedotcom/phoenix) is changing that.>>>>> >>>>> >>>>> On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]>>> <javascript:;>>>>>> >>>>> wrote:>>>>> >>>>>> Hi Kiran,>>>>>> >>

> Rules of thumb for starting off safely and for easing support issues are> really good to have, but there are no hard barriers or singular approaches:> use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, run> multiple regionservers per host. It is going to depend on how the cluster> is used and loaded. If we are talking about coprocessors, then effective> limits are less clear, using a coprocessor to integrate an external process> implemented with native code communicating over memory mapped files in> /dev/shm isn't outside what is possible (strawman alert).>>> On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]>wrote:>>> Asaf,>>>> The heap barrier is something of a legend :) You can ask 10 different>> HBase committers what they think the max heap is and get 10 different>> answers. This is my take on heap sizes from the many clusters I have dealt>> with:>>>> 8GB -> Standard heap size, and tends to run fine without any tuning>>>> 12GB -> Needs some TLC with regards to JVM tuning if your workload tends>> cause churn(usually blockcache)>>>> 16GB -> GC tuning is a must, and now we need to start looking into MSLab>> and ZK timeouts>>>> 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise the>> ZK timeout a little higher>>>> 32GB -> We do have a couple people running this high, but the pain out>> weighs the gains(IMHO)>>>> 64GB -> Let me know how it goes :)>>>>>>>>>> On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]>>> wrote:>>>>> I don't wish to be rude, but you are making odd claims as fact as>>> "mentioned in a couple of posts". It will be difficult to have a serious>>> conversation. I encourage you to test your hypotheses and let us know if>> in>>> fact there is a JVM "heap barrier" (and where it may be).>>>>>> On Monday, April 29, 2013, Asaf Mesika wrote:>>>>>>> I think for Pheoenix truly to succeed, it's need HBase to break the JVM>>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots>> of>>>> analytics queries utilize memory, thus since its memory is shared with>>>> HBase, there's so much you can do on 12GB heap. On the other hand, if>>>> Pheonix was implemented outside HBase on the same machine (like Drill>> or>>>> Impala is doing), you can have 60GB for this process, running many OLAP>>>> queries in parallel, utilizing the same data set.>>>>>>>>>>>>>>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]>>> <javascript:;>>>>>> wrote:>>>>>>>>>> HBase is not really intended for heavy data crunching>>>>>>>>>> Yes it is. This is why we have first class MapReduce integration and>>>>> optimized scanners.>>>>>>>>>> Recent versions, like 0.94, also do pretty well with the 'O' part of>>>> OLAP.>>>>>>>>>> Urban Airship's Datacube is an example of a successful OLAP project>>>>> implemented on HBase: http://github.com/urbanairship/datacube>>>>>>>>>> "Urban Airship uses the datacube project to support its analytics>> stack>>>> for>>>>> mobile apps. We handle about ~10K events per second per node.">>>>>>>>>>>>>>> Also there is Adobe's SaasBase:>>>>> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobe>>>>>>>>>> Etc.>>>>>>>>>> Where an HBase OLAP application will differ tremendously from a>>>> traditional>>>>> data warehouse is of course in the interface to the datastore. You>> have>>>> to>>>>> design and speak in the language of the HBase API, though Phoenix (>>>>> https://github.com/forcedotcom/phoenix) is changing that.>>>>>>>>>>>>>>> On Sun, Apr 28, 2013 at 10:21 PM, anil gupta <[EMAIL PROTECTED]>>> <javascript:;>>>>>>>>>>> wrote:>>>>>>>>>>> Hi Kiran,>>>

You wouldn't do that if colocating MR. It is one way to soak up "extra" RAMon a large RAM box, although I'm not sure I would recommend it (I have nopersonal experience trying it, yet). For more on this where people areactively considering it, seehttps://issues.apache.org/jira/browse/BIGTOP-732

> Multiple RS per host?> Huh?>> That seems very counter intuitive and potentially problematic w M/R jobs.> Could you expand on this?>> Thx>> -Mike>> On Apr 30, 2013, at 12:38 PM, Andrew Purtell <[EMAIL PROTECTED]> wrote:>> > Rules of thumb for starting off safely and for easing support issues are> > really good to have, but there are no hard barriers or singular> approaches:> > use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, run> > multiple regionservers per host. It is going to depend on how the cluster> > is used and loaded. If we are talking about coprocessors, then effective> > limits are less clear, using a coprocessor to integrate an external> process> > implemented with native code communicating over memory mapped files in> > /dev/shm isn't outside what is possible (strawman alert).> >> >> > On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]> >wrote:> >> >> Asaf,> >>> >> The heap barrier is something of a legend :) You can ask 10 different> >> HBase committers what they think the max heap is and get 10 different> >> answers. This is my take on heap sizes from the many clusters I have> dealt> >> with:> >>> >> 8GB -> Standard heap size, and tends to run fine without any tuning> >>> >> 12GB -> Needs some TLC with regards to JVM tuning if your workload tends> >> cause churn(usually blockcache)> >>> >> 16GB -> GC tuning is a must, and now we need to start looking into MSLab> >> and ZK timeouts> >>> >> 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise> the> >> ZK timeout a little higher> >>> >> 32GB -> We do have a couple people running this high, but the pain out> >> weighs the gains(IMHO)> >>> >> 64GB -> Let me know how it goes :)> >>> >>> >>> >>> >> On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]>> >> wrote:> >>> >>> I don't wish to be rude, but you are making odd claims as fact as> >>> "mentioned in a couple of posts". It will be difficult to have a> serious> >>> conversation. I encourage you to test your hypotheses and let us know> if> >> in> >>> fact there is a JVM "heap barrier" (and where it may be).> >>>> >>> On Monday, April 29, 2013, Asaf Mesika wrote:> >>>> >>>> I think for Pheoenix truly to succeed, it's need HBase to break the> JVM> >>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots> >> of> >>>> analytics queries utilize memory, thus since its memory is shared with> >>>> HBase, there's so much you can do on 12GB heap. On the other hand, if> >>>> Pheonix was implemented outside HBase on the same machine (like Drill> >> or> >>>> Impala is doing), you can have 60GB for this process, running many> OLAP> >>>> queries in parallel, utilizing the same data set.> >>>>> >>>>> >>>>> >>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]> >>> <javascript:;>>> >>>> wrote:> >>>>> >>>>>> HBase is not really intended for heavy data crunching> >>>>>> >>>>> Yes it is. This is why we have first class MapReduce integration and> >>>>> optimized scanners.> >>>>>> >>>>> Recent versions, like 0.94, also do pretty well with the 'O' part of> >>>> OLAP.> >>>>>> >>>>> Urban Airship's Datacube is an example of a successful OLAP project> >>>>> implemented on HBase: http://github.com/urbanairship/datacube> >>>>>> >>>>> "Urban Airship uses the datacube project to support its analytics> >> stack> >>>> for> >>>>> mobile apps. We handle about ~10K events per second per node."> >>>>>> >>>>>> >>>>> Also there is Adobe's SaasBase:> >>>>> http://www.slideshare.net/clehene/hbase-and-hadoop-at-adobeBest regards,

Running more than one RS on a host is an option for soaking up "extra" RAM,since that is what we are discussing, but I can't recommend it because Ihave no experience with that approach. I think I do want to experiment withit, but not on a box with less than something like 16 or 24 cores.On Tue, Apr 30, 2013 at 11:19 AM, Amandeep Khurana <[EMAIL PROTECTED]> wrote:

> Multiple RS' per host gets you around the WAL bottleneck as well. But> it's operationally less than ideal. Do you usually recommend this> approach, Andy? I've shied away from it mostly.>> On Apr 30, 2013, at 10:38 AM, Andrew Purtell <[EMAIL PROTECTED]> wrote:>> > Rules of thumb for starting off safely and for easing support issues are> > really good to have, but there are no hard barriers or singular> approaches:> > use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, run> > multiple regionservers per host. It is going to depend on how the cluster> > is used and loaded. If we are talking about coprocessors, then effective> > limits are less clear, using a coprocessor to integrate an external> process> > implemented with native code communicating over memory mapped files in> > /dev/shm isn't outside what is possible (strawman alert).> >> >> > On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]> >wrote:> >> >> Asaf,> >>> >> The heap barrier is something of a legend :) You can ask 10 different> >> HBase committers what they think the max heap is and get 10 different> >> answers. This is my take on heap sizes from the many clusters I have> dealt> >> with:> >>> >> 8GB -> Standard heap size, and tends to run fine without any tuning> >>> >> 12GB -> Needs some TLC with regards to JVM tuning if your workload tends> >> cause churn(usually blockcache)> >>> >> 16GB -> GC tuning is a must, and now we need to start looking into MSLab> >> and ZK timeouts> >>> >> 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise> the> >> ZK timeout a little higher> >>> >> 32GB -> We do have a couple people running this high, but the pain out> >> weighs the gains(IMHO)> >>> >> 64GB -> Let me know how it goes :)> >>> >>> >>> >>> >> On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]>> >> wrote:> >>> >>> I don't wish to be rude, but you are making odd claims as fact as> >>> "mentioned in a couple of posts". It will be difficult to have a> serious> >>> conversation. I encourage you to test your hypotheses and let us know> if> >> in> >>> fact there is a JVM "heap barrier" (and where it may be).> >>>> >>> On Monday, April 29, 2013, Asaf Mesika wrote:> >>>> >>>> I think for Pheoenix truly to succeed, it's need HBase to break the> JVM> >>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots> >> of> >>>> analytics queries utilize memory, thus since its memory is shared with> >>>> HBase, there's so much you can do on 12GB heap. On the other hand, if> >>>> Pheonix was implemented outside HBase on the same machine (like Drill> >> or> >>>> Impala is doing), you can have 60GB for this process, running many> OLAP> >>>> queries in parallel, utilizing the same data set.> >>>>> >>>>> >>>>> >>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]> >>> <javascript:;>>> >>>> wrote:> >>>>> >>>>>> HBase is not really intended for heavy data crunching> >>>>>> >>>>> Yes it is. This is why we have first class MapReduce integration and> >>>>> optimized scanners.> >>>>>> >>>>> Recent versions, like 0.94, also do pretty well with the 'O' part of> >>>> OLAP.> >>>>>> >>>>> Urban Airship's Datacube is an example of a successful OLAP project> >>>>> implemented on HBase: http://github.com/urbanairship/datacube> >>>>>> >>>>> "Urban Airship uses the datacube project to support its analytics> >> stack> >>>> for> >>>>> mobile apps. We handle about ~10K events per second per node."> >>>>>> >>>>>> >>>>> Also there is Adobe's SaasBase:

I don't recommend HBase in situations where you are not running a M/R Framework. Sorry, as much as I love HBase, IMHO there are probably better solutions for a standalone NoSQL Databases. (YMMV depending on your use case.) The strength of HBase is that its part of the Hadoop Ecosystem.

I would think that it would probably be better to go virtual than go multi-region servers on bare hardware. You take a hit on I/O, but you can work around that too.

> You wouldn't do that if colocating MR. It is one way to soak up "extra" RAM> on a large RAM box, although I'm not sure I would recommend it (I have no> personal experience trying it, yet). For more on this where people are> actively considering it, see> https://issues.apache.org/jira/browse/BIGTOP-732> > On Tue, Apr 30, 2013 at 11:14 AM, Michael Segel> <[EMAIL PROTECTED]>wrote:> >> Multiple RS per host?>> Huh?>> >> That seems very counter intuitive and potentially problematic w M/R jobs.>> Could you expand on this?>> >> Thx>> >> -Mike>> >> On Apr 30, 2013, at 12:38 PM, Andrew Purtell <[EMAIL PROTECTED]> wrote:>> >>> Rules of thumb for starting off safely and for easing support issues are>>> really good to have, but there are no hard barriers or singular>> approaches:>>> use Java 7 + G1GC, disable HBase blockcache in lieu of OS blockcache, run>>> multiple regionservers per host. It is going to depend on how the cluster>>> is used and loaded. If we are talking about coprocessors, then effective>>> limits are less clear, using a coprocessor to integrate an external>> process>>> implemented with native code communicating over memory mapped files in>>> /dev/shm isn't outside what is possible (strawman alert).>>> >>> >>> On Tue, Apr 30, 2013 at 5:01 AM, Kevin O'dell <[EMAIL PROTECTED]>>> wrote:>>> >>>> Asaf,>>>> >>>> The heap barrier is something of a legend :) You can ask 10 different>>>> HBase committers what they think the max heap is and get 10 different>>>> answers. This is my take on heap sizes from the many clusters I have>> dealt>>>> with:>>>> >>>> 8GB -> Standard heap size, and tends to run fine without any tuning>>>> >>>> 12GB -> Needs some TLC with regards to JVM tuning if your workload tends>>>> cause churn(usually blockcache)>>>> >>>> 16GB -> GC tuning is a must, and now we need to start looking into MSLab>>>> and ZK timeouts>>>> >>>> 20GB -> Same as 16GB in regards to tuning, but we tend to need to raise>> the>>>> ZK timeout a little higher>>>> >>>> 32GB -> We do have a couple people running this high, but the pain out>>>> weighs the gains(IMHO)>>>> >>>> 64GB -> Let me know how it goes :)>>>> >>>> >>>> >>>> >>>> On Tue, Apr 30, 2013 at 4:07 AM, Andrew Purtell <[EMAIL PROTECTED]>>>>> wrote:>>>> >>>>> I don't wish to be rude, but you are making odd claims as fact as>>>>> "mentioned in a couple of posts". It will be difficult to have a>> serious>>>>> conversation. I encourage you to test your hypotheses and let us know>> if>>>> in>>>>> fact there is a JVM "heap barrier" (and where it may be).>>>>> >>>>> On Monday, April 29, 2013, Asaf Mesika wrote:>>>>> >>>>>> I think for Pheoenix truly to succeed, it's need HBase to break the>> JVM>>>>>> Heap barrier of 12G as I saw mentioned in couple of posts. since Lots>>>> of>>>>>> analytics queries utilize memory, thus since its memory is shared with>>>>>> HBase, there's so much you can do on 12GB heap. On the other hand, if>>>>>> Pheonix was implemented outside HBase on the same machine (like Drill>>>> or>>>>>> Impala is doing), you can have 60GB for this process, running many>> OLAP>>>>>> queries in parallel, utilizing the same data set.>>>>>> >>>>>> >>>>>> >>>>>> On Mon, Apr 29, 2013 at 9:08 PM, Andrew Purtell <[EMAIL PROTECTED]

NEW: Monitor These Apps!

All projects made searchable here are trademarks of the Apache Software Foundation.
Service operated by Sematext