Options

HP Vertica and Apache HBase

Hi all,

 

What is the difference between HP Vertica and HBase?  I want to know what is HP Veritca good at and What is

 

HP Veritca not good at? And the same question to Apache HBase?

Comments

  • Options

     This link will clear all your doubts 

    http://my.vertica.com/docs/7.2.x/HTML/index.htm

     

  • Options

    Hi,
    Both address different use cases :

     

    1. Vertica - main use case is reporting and analytic - in this use case your queries is design to scan large set of data , to simplify it - think about some main dashboard for managers , where they want to see the average sales and ordering for given organization on spcific time period .
    2. Hbase - Key value database , the main use case is to query small data set , eg:  ,  specific user or lower level organization unit , Hbase is very powerful when your application need to support very high concurrency (many concurrent users ) and when aggregation is not needed .
      hbase do not support SQL (you can still use Phoenix ) , joins and aggregate functions , so if you need it , you need to develop it by your self

    This is very high level compression ,and their are many more .

     

    I hope you will find it usefull to start with

     

    Thanks

  • Options
    Hi eli_revach, Thank you very much for the response. And as i know Apache HBase also support SQL if we use Apache Drill whose performance is good too. Now i just want to know whether i can replace HP Vertica with Apache HBase + Apache Drill. If not, why? would you mind telling me some advantages that HP Vertica has? I have some knowledge about HBase and Drill but about HP Vertica, i still need to learn more. Thanks in advance. Best regards
  • Options
    Hi Adrian_Oprea, Thank for you answers. But there are too much info and all of them are about HP Vertica. I want the comparison between HP Vertica and Apache HBase. Would you mind helping to give me some suggestions about that? Thanks in advance. Best regards
  • Options

    Hi
    Some more info on that .


    Yes , Apache Drill will gave you SQL interface , however the fact that you have SQL not change the underline storage that Hbase have  which is optimized for key value retrievals . And as i mention if your use case is small retrievals mainly by row  key it should be fine , reporting ad analytics its different story.


    Some advantages  that Vertica will gave you  (if your use case is reporting and analytics ).

    1) Performances - Vertica is columnar database which is very optimized for reporting , data is persists per column and the underline compression is per column , vertica is optimized for large scans using its   underline parallel execution engine  , for data modeling you can still use start schema as vertica is able to  join the data verty fast ,     HBASE store data is different  you are  limited to query only by the row key  (and if  you need another dimension to do search , you need to define a second table where row key have this second dimension and it stores the value of the primary row key, so you have less flexibility with what you can select) , Vertica will bring you more flexibility with that and it term of performances it will be slow then what vertica will provide .

    Main disadvantage is concurrency – if you need to support high concurrency you will probably need  to scale your cluster and some time it will required your to create pre calculations results tables.   

     

    2) Vertica is enterprise ready , HBASE open source , for production environment this point is very important .

     

    By the way talking about HBASE , if Vertica is not something you like to go with , i will advise to consider Cassandra ,Cassandra  community is bigger and its more enterprise ready solution than HBASE .

    I hope it answer your questions

     

    Thanks

  • Options

    Thank you very much. 

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file