Showing posts with label HANA. Show all posts
Showing posts with label HANA. Show all posts

Friday, 20 December 2013

SAP HANA Administration

The administration console of the SAP HANA studio provides an all-in-one support environment for system monitoring, backup and recovery, and user provisioning.

  • Main Administration Tasks
    • Adding Systems
    • Exporting and Importing Systems
    • Viewing System Installation Details
    • Administrator Editor and Diagnosis Mode
    • Changing File Locations
    • Changing Configurations
    • Modifying the Administration Console
 
  • SAP HANA System Monitoring
    • Monitoring Disk Usage
    • Performance Monitoring
    • Monitoring with Alerts
    • Configuring Alerts
    • Monitoring Services and Distributed Systems
    • Exporting and Importing Table Data and Definitions
    • Monitoring Memory Usage
    • Moving Files for Load Balancing
    • Fixing a Full Disk Event
    • Support for Unresponsive Systems
  • Updates
    • Updating the SAP HANA Appliance
    • Updating SAP HANA Studio
  • Security and License Keys
    • System Privileges
    • Authentication Security
    • Authorization Security
    • License Keys

How to Configure Open SSL for SAP HANA Studio to SAP HANA Server

Thursday, 19 December 2013

How to install SAP HANA Studio

This is a pretty trivial thing but I keep looking for the URL and can't find it, so it can't be that easy to find. So I thought I'd write a document so I can find it in future. Maybe it helps someone else :-)

As a bonus, we then go on to configure the Developer perspective and build our first Hello World XS app using the new HANA SP07 Team functionality.

There is no current supported version of SAP HANA Studio for Mac as of SP07 - we hope for a version to come in the future. But, there is an internal build that SAP use, and our friends at the SAP HANA Developer Center made it available for us to use! It is available on the SAP HANA Developer Center page. This version is usually a few revisions behind the current revision of SAP HANA Studio, and is only updated from time to time, and explicitly offers you no formal support.

You can go ahead and download it now! I find the SAP HANA Developer Center gives me great download speeds, so it's downloaded whilst I wrote this paragraph! It will appear in your downloads as a GZ file:

Screen Shot 2013-12-18 at 6.03.45 PM.png
Double click on the GZ file and it will quietly create a folder called hdbstudio, which you can navigate into. Be careful, because this folder will have an older date so you may not spot it!

Screen Shot 2013-12-18 at 6.06.37 PM.png
I copy this top level folder into the Applications folder - HANA doesn't do this automatically, at least for now! I already have a version there, so it prompts me to copy it.
Screen Shot 2013-12-18 at 6.07.25 PM.png

Then, I open the hdbstudio folder and drag the hdbstudio Application onto my taskbar. It looks like this:
Screen Shot 2013-12-18 at 6.08.41 PM.png
If you are running a new-ish version of Mac OS X it won't let you run this file - it will give you this error message: "hdbstudio" can't be opened because it is from an unidentified developer.
Screen Shot 2013-12-18 at 6.09.43 PM.png
Not to worry... press Apple --> System Preferences --> Security & Privacy. You should see the following:
Screen Shot 2013-12-18 at 6.11.21 PM.png
You can go ahead and click Open Anyway!
Screen Shot 2013-12-18 at 6.11.52 PM.png
Click Open. Yay... along comes HANA Studio!
Screen Shot 2013-12-18 at 6.12.01 PM.png
Here it is in all its glory...
Screen Shot 2013-12-18 at 6.20.33 PM.png
If you're new to SAP HANA, here's how to connect. Click Open Administration Console --> Right click and click Add System
Screen Shot 2013-12-18 at 6.21.23 PM.png
Enter the system details, username and password and click "Save to Secure Storage"
Screen Shot 2013-12-18 at 6.22.07 PM.png
Now you have your HANA system, with the Rev.68 version on Mac you should be able to use the developer tools without regi.exe - and so do native development. Select Window -> Open Perspective -> Other -> SAP HANA Development and press OK:
Screen Shot 2013-12-18 at 6.26.48 PM.png
Select Repositories -> Create Repository Workspace:
Screen Shot 2013-12-18 at 6.29.15 PM.png
Screen Shot 2013-12-18 at 6.28.38 PM.png
You can now browse the repository workspace on your HANA Server. Here is some SAP-delivered content:
Screen Shot 2013-12-18 at 6.32.17 PM.png
Now you can click the Project Explorer View and select New -> Project:
Screen Shot 2013-12-18 at 6.32.56 PM.png
We have to drill in to find the HANA XS Project:
Screen Shot 2013-12-18 at 6.33.37 PM.png
As of HANA SP07 I can just give the project a name... and select the default location.
Screen Shot 2013-12-18 at 6.34.24 PM.png
Now I have to share my project back to the HANA Server using the Eclipse Team functionality. Right click your project and select Team --> Share Project:
Screen Shot 2013-12-18 at 6.35.31 PM.png
You can give it whatever name you want, depending on where you want your project to end up in the SAP HANA Repository. I choose a location provided to me as a test area. Note that by default the project will create a subfolder, so my location will actually be trainingContent.trainees.USER11.xstest:
Screen Shot 2013-12-18 at 6.38.52 PM.png
That's it! My Project is configured and ready to go! Note that my project appears with a * next to it - meaning "unsaved", until we have some active content.
Screen Shot 2013-12-18 at 6.40.11 PM.png
For bonus points... let's go ahead and configure a simple Hello World scenario. Right click your project, select New -> Other and browse for the XS Application Descriptor File:
Screen Shot 2013-12-18 at 6.42.06 PM.png
Go through the wizard and finish up - don't change any settings. Then right click, select Team -> Activate.
Screen Shot 2013-12-18 at 6.43.09 PM.png
Repeat the same with the XS Application Access file - and activate it. Your project should look like this, and you're ready to go:
Screen Shot 2013-12-18 at 6.44.54 PM.png
Now let's create a simple index.html - right click your project, select New -> File -> index.html. It will open in a browser so close the browser, right click index.html and select Open With -> Text Editor.
Screen Shot 2013-12-18 at 6.46.44 PM.png
Then type Hello World... Save... and activate. We're done! Our Hello World example is exactly where you would hope. Note that it is our server name, followed by port (8000+system number), then our repository location that we configured, our project name, and index.html. Super simple!


Screen Shot 2013-12-18 at 6.48.29 PM.png
Final Words

I hope this helps someone get up to speed with HANA development fast! Note that if you are a HANA SP06 developer then this process is slightly different - and much simpler and more sensible.

A quick thanks to Rich Heilman and @Thomas_Jung for helping me out when I came to configure my first system. The differences between SP06 and SP07 left me confused.

Happy developing!

Tuesday, 27 August 2013

The Real Reason for HANA

With great interest I follow your blogs. Since the introduction of openHPI (online courses of the HPI/Potsdam) I got used to discuss the architecture, the benefits, and consequences of an in-memory DB for both OLTP and OLAP. I can understand that the transition from classic row store DB's to column store DB's for OLTP  workloads is somehow difficult. In all these years of building transactional systems, we put all the focus on data entry. We check the incoming data for referential integrity (lots of single selects), maintain indices (primary and several secondary ones), and update several levels of aggregates for faster reporting.
 
With the growing workload, it became more and more difficult to keep the reporting in the OLTP system. The creation of a data warehouse for financial data came at a high price: redundant data, data transfer, aggregation into cubes with significant latency (hours). Only to achieve a decent response time without disturbing the OLTP system. Let us take the core financial system of the SAP Business Suite and look at the main tables (all smaller tables for configuration, customizing and validity checks will be ignored). The numbers are taken from a productive SAP ERP System which was converted to HANA. All data is in gigabytes.
 
Accounting transaction header             9
                 "                 position                33
Costing journal entry                             94
GL journal entry                                   236
AR journal entry                                       5
AP journal entry                                     15
Total                                                      392
 
As already published in 2009 in a SIGMOD paper, we can drop all the redundant data which were only introduced for speed (e.g. materialized joins, materialized aggregates) and store the remaining tables in a column store. In the column store, columns without values don't take any space. All column with values are being dictionary coded and stored as integers. Most operations the take place on the integer format (scan, compare, sort, etc). Since there are no aggregates to be maintained the number of updates drops and the remaining updates are executed as insert only.

As a result the new financial system on HANA deals with a much lower storage requirement.
 
Accounting transaction header          1.6
                 "                position               8.2
Costing journal entry                         11.3
 
The costing journal entry will also be eliminated in the next version of the financial system. we can expect a reduction of a factor 39x. Since the data on permanent storage is stored in the same compressed fashion, we have the same savings for the backups, test system, development system and the archives.
 
In addition to these savings we gained complete freedom in reporting since no dimension of the recorded data is taken away by aggregation. All reporting structures are being expressed in views. Views can be changed on the fly. Some of the largest audit firms have already validated the great value of this concept for period end closing and consolidation. We can now run a p/l statement while we still take new entries and rerun the p/l instantly (seconds).

In front of this background any discussion whether we should keep 100% of the at least once used columns in memory or establish an aging algorithm is not even of academic value.
 
The above numbers do include the application of hot and cold store together. The numbers of the hot store will be 
less than 50%. Now you can debate whether for the remaining storage requirement the HANA aging algorithm should be activated.
 
Yes, the insert into a column store is slightly slower than into a row store, but you have to consider the time saved since no updates and now index creation are taking place. The new system is fundamentally better than the old one and can only be realized on a single storage in memory system with column store. Any hybrid approach (we tried many) doesn't do the trick. BTW I don't want to get rid of the BW, just not for transactional reporting and analytics, which can be done directly on the transactional data. If there is any concern for to much system load, connect a second node as a slave to the same system. This doesn't add any extra permanent storage and will take all read only load off the main node. For small system, we will use virtualization to provide the appropriate server size.
 
More than 100.000 students have now taken our online courses (openHPI and openSAP) and are familiar with this innovation. I hope I could help you with the discussion about in memory DB's.

Tuesday, 11 June 2013

How to install the HANA server software on a virtual machine

This guide describes how to install the SAP HANA server software on a VMware virtual machine. Normally, SAP HANA will only install on certified (and very expensive) hardware, but there is a workaround for this.
 
As this is my very first SCN blog post, i would welcome all of you to provide me with feedback on it! Thanks!
 
When you want to have a HANA demo or sandbox environment, there are roughly two possibilities:
 
- Buy a certified appliance from a hardware vendor
- Use Amazon AWS
 
The first one has the disadvantage that you need to invest a significant amount of money for something that's just a demo/sandbox machine. The second option is pretty cheap (although the costs can run up if you leave it running all the time), but is limited in terms of memory amount. Also, it's not possible to run BW or ECC on HANA with the AWS solution.
 
So, with the above in mind, I suggested within our organization that we installed HANA on a virtual machine, so that we have our own demo environment. It turned out that that was something a lot of colleagues had already tried before, but they didn't succeed. They didn't succeed because the HANA installation performs a hardware check during the install, and of course a virtual machine does not meet the HANA hardware requirements.
 
Now, since I'm a little bit stubborn, this triggered me to find a way to work around the hardware check to be able to install HANA on a VM. And there is one, it's quite simple actually. So, here are the steps to install HANA on a VM:
 
DISCLAIMER:
Please use this guide only for internal, non-production HANA systems. Otherwise I think you will have a problem with SAP .
 
Prerequisites
 
  • A virtual machine, with at least the following specs:
    • At least 24 GB RAM memory
    • At least 65 GB + 5 times the amount of RAM of HDD space, for example: 48 GB RAM and 65 + (5 * 48) = 240 GB HDD space
    • Quad-core processor (but: the more processing power, the better. Do not underestimate this!)
  • SUSE Linux Enterprise installation ISO file
  • SAP HANA installation ISO (can be downloaded from SAP Marketplace). You have to create an ISO file from the installation files manually, for example by using ImgBurn.
  • VMWare vSphere or another tool to access your VM remotely
  • System information for your HANA server:
    • System ID (SID)
    • Hostname (Fully Qualified Domain Name, FQDN)
    • Instance number
  • Patience
  • Client PC with PuTTY and HANA Studio installed
 
Install OS
 
  • First of all, you need to install the Linux OS. You need the SLES (Suse Linux Enterprise) distro to install HANA. I have tried to install HANA on Opensuse, but it did not work.
  • Start the VMware virtual machine with the Suse installation ISO mounted on the VM’s disk drive.
  • Perform the installation of SLES as normal. There are no special things to consider, except:
    • I used the default Gnome install to be able to run the HANA Studio on the server to test. It’s not really necessary to install a window environment on the Linux server, but I’m finding it helpful sometimes.
    • Hostname: be careful to set this correct!
    • IP and domain
    • Make sure SSH access is possible
    • Disable any firewalls
  • During the installation, or afterwards, you need to set up a few partitions mounted on predefined mount points. The table below will display the file system you need, and the minimal sizes of the different partitions. I’ve also included a column of the file system I’ve created during my installation:
 
Mount PointMinimal sizeMy size
/10 GB30 GB
/hana/shared5 GBNo separate partition or mount point
/hana/shared/<SID>1x RAM size50 GB
/usr/sap50 GB50 GB
/hana/shared/data3x RAM size200 GB
/hana/shared/log1x RAM size50 GB
 
  • After installation, boot up your fresh Linux installation and use Putty to make a SSH connection to it. Log in as root. You can also use the remote desktop graphical environment if you want, but in this example I will use Putty.
  • First, check if the filesystem is set up correctly:

          df –h
 
  • Next, we are going to install a few software packages that are required for the HANA installation. Please make sure that you have your SLES DVD mounted properly, or that you have a working internet connection. Then, give the following command:

          zypper in gtk2 java-1_6_0-ibm libicu mozilla-xulrunner* ntp sudosyslog-ng tcsh libssh2-1
               expect autoyast2-installation yast2-ncurses python
 
  • Have the packages that are missing installed by confirming the installation
  • Next, mount the HANA installation DVD
  • Find the file /<dvdlocation/DATA_UNITS/HANA_IM_LINUX__X86_64/setuphana.slmodel.template.v2 and open it with a text editor
  • Fill in the right parameters in the XML file. Please note how this corresponds to your file system. Read the XML instructions carefully. Because these settings are system specific, I cannot tell you how to fill this in or how I filled in these parameters.
  • Save the file as /tmp/hana.model
  • Create directory /tmp/hanainstdir:
 
          mkdir /tmp/hanainstdir
 
  • Next, we will create a system environment variable called “IDSPISPOPD”. This will make sure the HANA installer bypasses the hardware check (since we’re not using certified hardware). IDSPISPOPD is actually a cheat code in DOOM, called ‘No Clipping mode’. LOL @ the HANA developers there!

          export IDSPISPOPD="1"
 
  • Check if the OS variable is set correctly with python:

          python
          >>> import os
          >>> ‘IDSPISPOPD’ in os.environ.keys()
 
  • This should return True. Exit python by typing

          >>> exit()
 
  • So, now we have the file system in place, we have the required packages installed and we have set the No Clipping mode to on. Time to start the HANA installer.
  • CD to /<dvd-location/DATA_UNITS/HANA_IM_LINUX__X86_64/
  • Start the installer script with the following command:

          ./setup.sh /tmp/hanainstdir /tmp/hana.model
 
  • The installer will first extract into your installation dir. After this, the installer will prompt you for a password. This is actually the password for the DB admin. Enter it twice.
  • After that, it will install SAPHostAgent. Don’t worry if it says it can’t connect a few times, this happened to me too. Just wait and it will continue eventually.
  • After this, the installation doesn’t require input anymore, so you can leave it until it is completed. Sit back and enjoy the ride...
  • When the installation is complete, start the HANA Modeler on the local machine to see if your HANA server is running. Connect to the hostname and instance number you provided during the install. Use the username SYSTEM and the password you entered during the installation.