15 Replies Latest reply: Apr 24, 2012 12:34 AM by Rama Shankar RSS

Using HANA capacities beside database ?

François MAZAUD
Currently Being Moderated

Let's suppose that I have a Java  application that requires reasonable amounts of data (let's say, like a high-end BW OLAP client), but is VERY voracious in processing power, to the point that it is not executable on a production server. Could I use HANA's vast memory to run this application with  decent response times ? Or is HANA's  geared only to database performance ?

  • Re: Using HANA capacities beside database ?
    Neha Singla
    Currently Being Moderated

    Hello,

    HANA can be connect to the non-SAP system also. So, you can connect the system to HANA and you can see the capabitiies of HANA.

    yes, HANA will provide you the result with the good response.

    Regards,Neha

  • Re: Using HANA capacities beside database ?
    Ravindra Channe
    Currently Being Moderated

    Hello,

     

    The MPP (Massive Parallel Processing) power of HANA coupled with In Memory architecture can definitely be used for processing.

    You need to ensure that the business logic implementation is then passed to the database rather than to the Java application server or front end. This will enable you to utilize the power of HANA.

     

    Regards,

    Ravi

  • Re: Using HANA capacities beside database ?
    Anand Gupta
    Currently Being Moderated

    Francois, there are 2 main use cases for HANA / IMDB, the first one is when you query massive database. The other is when you query database in series. The situation is that you query database and the result is used to query database further. Now individually the queries could take few seconds in traditional database, but if you had 100 steps that you cannot run in parallel, the savings cumulatively would be quite significant.

    I guess the answer would have to relate to your specific case and design.

    You have to ask what exactly is causing you the performance bottleneck. Is it CPU, is it Memory outage. (A simple check could tell you that) and why?

    You may e.g. get away with loading large arrays within Java, which is all you can do with a IMDB in your case, but programmers could find it difficult to program something that is fail-safe for power outages.

    So, I think the best answer to your question is 'it depends' on your specific case.

    PS: I would also like to add to the above by mentioning that within IMDB, calculations are pushed to the database and so your Java would only handle very limited amount of calculation logic. Since HANA is newer technology, I would presume, it is much better geared towards handling calculations of performance intensive applications. 

    • Re: Using HANA capacities beside database ?
      François MAZAUD
      Currently Being Moderated

      Anand, thanks for your answer, which clarified my thinbking. Now I see it as a case of:  1) make a massive query,  load this data in arrays,  and handle the processing logic in the application vs 2)move the processing logic to the IMDB.

      But I was not even sure if HANA could allow 1). From the answers I got, it seems that yes, the memory can be used for application purposes as well...

      • Re: Using HANA capacities beside database ?
        Anand Gupta
        Currently Being Moderated

        Precisely Francois. In option 1, bear in mind, you would have to create the infrastructure of fall-back and an array that mimics column store. etc etc. If you have a great programmer, maybe he can do it, but if you have budget, go for HANA.

         

        HANA is beautiful.

      • Re: Using HANA capacities beside database ?
        Ravindra Channe
        Currently Being Moderated

        Hi Francois,

         

        For sure you can fire a massive SQL statement and get the resultset in arrays or similar structures in Java App server, but that will make your application server large enough to hold the data volume and process the same.

         

        I am sure you wish they implement a JVM in the Database like Oracle does :-), which can handle the Java coding / EJBs etc. But as of now, you'll have to settle with the DB Stored procedures to implement your business logic in HANA.

         

        So it completely depends on where you want to put your investment for Infrastructure and development effort. :-)

         

        Ravi

        • Re: Using HANA capacities beside database ?
          Thomas Jung
          Currently Being Moderated

          I am sure you wish they implement a JVM in the Database like Oracle does :-), which can handle the Java coding / EJBs etc. But as of now, you'll have to settle with the DB Stored procedures to implement your business logic in HANA.

          Actually we are already working on something like this.  It isn't Java based, but we are building a light weight application server directly into HANA called HANA Application Services (sometimes referred to as XS or XS Engine).  It allows a thin layer of application logic directly in HANA. Its ideally suited for creating REST services or support UI event logic - things that wouldn't be easily possible in SQLScript.

          In fact, in HANA 1.0 SPS3 you can already see the process for this portion of HANA:

          HANA_Application_Services.png

          Currently only SAP internal teams are allowed to develop in this layer, but in the future we will open this up for customers and partners as well.

  • Re: Using HANA capacities beside database ?
    Rama Shankar
    Currently Being Moderated

    Francois:

     

    Addressing your main question: Yes, we can use SAP HANA with any application that  requires a performance enhancing database  and is capable of accessing  an ODBC or JDBC complaint database connection.

     

    Note: HANA is not certified for use outside the SAP HANA studio and SAP BW applications. So, usage will be at own risk.

     

    Regards,

    Rama

Actions