Hello and welcome to the SAP Academy
my name is Denys van Kempen and in this
video tutorial series we will discuss SAP
HANA administration. This video provides
a brief overview of the SAP HANA
architecture. Here we see the main
components of an SAP HANA system. I will
go over these components one by one so
you will have a good understanding. Let's
start in the left corner above. Number
one client application that connects
using SQL or MDX. The SQL is
standard or structured query language
to interact with databases invented way
back in the 70s in the IBM labs pretty
much at the same time when the database
was invented. MDX or multi-dimensional
expressions.
Thus pretty much the same but then for
OLAP databases. That is a database
specialized for analytical purposes. The
data warehouses where data is modeled in
cubes and not in tables. Microsoft came
up with MDX in the late 90s. You use it
in Excel for example with pivot tables.
So what kind of a client application
would this be? Well any kind of client
application in other words any
application that processes transactions
insert update delete using SQL and
any application that performs analysis
on large buckets of data. Even on big
data. Here we see an example of an
analytical application. SAP HANA supports
both relational row storage and
analytical column storage. It all runs
inside the same engine and for this
reason you can use both types of
application to connect to the HANA
server. Some plumbing is needed. Database
drivers. HANA supports both ODBC open
database connectivity and JDBC for
database connectivity using the JAVA
programming language. There is a HANA
client software package for the Windows
platform for UNIX and Linux and also for
IBM I or OS 400 for the IBM Power
Systems. JAVA runs on any operating
system. So
no matter what your client operating
system looks like you can install the
middleware to connect to a HANA server.
This brings us to number two - a client
application that connects over the
Internet using HTTP. This is a technology
that became popular in the 90s as well.
Here there is no need to install any
client software on a desktop computer to
connect to the database we're using here
web technology and an application server
that processes HTTP requests. The good
news is that HANA is not only a
database it's also a platform and it
includes a built-in application server.
I said built-in and not glued upon. It is
completely integrated with the other
database processes. You will see a
picture of an SAP Fiori application that
is accessed using web technology on a
desktop and different mobile devices.
Fiori is a technology that SAP uses
to standardize user interfaces. So the
look and feel the visit the applications
no matter what type of device you use
the application will have the same
familiar UI. And one plus two here means
that you connect any application to the
SAP HANA database.
Let's move to number three. Well it's the
same idea web-based development and
administration tools. Client tools that
run in a web browser and connect to a
web server using HTTP. Here we see an
example the SAP HANA cockpit with this tool
you can manage your HANA database,
monitor performers, manage alerts, manage
security. You name it. Runs on any HTML5
enabled browser, runs on any device, very
convenient.
Same for the development tools. Here we
see the SAP HANA web-based development
workbench editor includes code
completion, debugging, tracing, source
control. Very powerful and just as for
the administration tool there is no
software to install. It’s all over the
web. Number four here is SAP HANA Studio.
This is the development and
administration tool as full client. So
both are combined. It communicates with
the SAP HANA server using SQL. Most of the
time. HANA Studio is a plugin for Eclipse
and Eclipse is an integrated development
environment or IDE as it's often called
originally conceived for JAVA
development again by IBM labs in the
early 2000s. This time it's an open
environment open source too now and there
are literally hundreds of plugins
available on the Eclipse marketplace
that extend its functionality. You can
turn it into a C or even C++ development
tool or use it for PHP Python Android
development and so on. SAP has contributed
with a number of plugins as well. It is
now the standard tool for ABAP
development for SAP Netweaver. There are
modeling tools for SAP business warehouse
BW. The UI development toolkit for HTML5
is a plugin as are all the cloud-based
development and integration tools for
the HANA Cloud Platform and as just
mentioned for SAP HANA. Eclipse runs
inside a JAVA Virtual Machine. Every
reason uses JDBC the JAVA database
connectivity component. For example I can
click here in the administration console
on this version link to get the current
HANA version. What happens behind the
scenes or behind the screens, I should
say, is that Eclipse translates your
clicks into SQL and sends it to HANA.
It gets a result back and displays it
nicely in a window. So almost all the
screens are populated using SQL. Now
if you want you can activate SQL or
JDBC trace and if you want to know
exactly what goes over the wires. HANA
studio is available for the Windows,
Linux and MAC OS platforms. Same as with
Eclipse. Here we see studio on the Mac
looks pretty much the same as on Windows.
Next we're going to take a look at
number five that is the SAP HANA system.
The main processes that together form
SAP HANA
are shown in the box. First there is the
name server. The name server manages the
what is called the topology of an SAP
HANA system.
HANA is designed such it's very easy to
scale out. You can start with installing
HANA on a single computer, a single
server to host a HANA database and
later add more servers to create a
what's called a distributed system. In a
distributed system. We still have a
single logical HANA database but now
there are multiple instances running.
Each server or host has HANA processes
running. This is the HANA instance and
together the HANA instances make up
the HANA database or HANA system.I
should say. We can see that here we have
two hosts with an identical HANA
installation. They both run instance. The
instance has the same name or system ID,
SID and here the SID is HDB. In the
instance there is also a unique number
two digits. Here the instance number is
01. Together
this creates a single logical HANA
system. The database data and log files
are on shared storage as the operating
system processes on each host need to
have access. A distributed system is
implemented for scalability. A system
with two hosts can serve twice as many
users as a single one but it is also
critical for availability should
anything happen with a single computer
the system will still be available and
for large production systems there may
be 10 hosts or more. So you have 10
instances, one database. Now as mentioned
already
HANA is more than a database it's a
whole platform that includes a web
server and an application server and
some other processes which we'll take a
look at in a minute. To keep track on
which process runs on which host HANA
uses the name server. The name server is
running on each HANA host but there is
one name server that is the master.
That's the boss but together they manage
the HANA topology. If you have very large
tables say a table which sales data have a
few terabytes and you have partitioned the
table in regions. Americas, Europe, Asia.
You could, for example, host one partition
on server A and another on server B and
this locality information will be stored
by the name server as well. It’s a small
process doesn't use much memory or CPU
but it is critical you can't run a
HANA system without it. The next component
we will mention here is the preprocessor.
The preprocessor server is used by the
index server to analyze text data and
extract information from the data using
text search. It is used by the SAP Hana
text analysis technology to work with
unstructured data like documents PDFs
emails but also Twitter feeds anything
which contains text. It’s a bit of a
search engine. Number seven is the
compiled server. The compiled server
performs the compilation of SQL
script stored procedures amongst others.
A well-known limitation of the SQL
language is that you cannot combine it
with any programming logic. You cannot do
any if-then-else, any looping well true
do this. So every major database has its
own procedural extension to SQL. Oracle
has OSQL, Microsoft ESQL and Swan
and for HANA
we have SQL script. In order to run
this inside the database you need to
compile it and that is what the compile
server does. Ok number eight the index
server. This is the database engine. The
core of the HANA system. The index server
contains the actual data stores and the
engines for processing the data. Here we
can see a schematic representation of
this index server we're not going to
discuss this here in detail but as you
can see we have connection and session
management, authentication are you
allowed to connect, authorization, what
data can you access, a transaction
manager, a persistence layer and a
processes all data in memory but needs
to persist transactions in case of a
power failure or earthquake. We don't
want to lose any data
and there are different engines for
SQL and the X SQL script there is a
different data stores. Row storage, column
storage that is just to give you an idea.
There is more to it but that may be the
topic of another video. Number nine the web
dispatcher sends HTTP requests to the
application server for a dynamic content.
For static content images for example it
will serve these directly to the client.
It is just a regular web server. And
finally we have the application server
or extended application services XS
server I should say and this extended
application server provides applications
and application developers direct access
to the database
transactional and analytical into a
number of components included with HANA.
We’ve already discussed native text
search and there's a planning engine
built in. There is predictive analysis
spatial data for application that wants
to use geographic locations and so on.
Now the main advantages of this built-in
application server can be seen here with
an external application server you will
need to transfer all the data that's
needed for processing from the database
to the application server with HANA
XS both application server and
database have direct access to the data
store. No need to move any data all the
processing takes place in memory and on
the location where the data is stored. Ok
now with this knowledge you should be
able to read more complex diagrams like
the one here for example from the SAP
master guide. This diagram shows client
X's protocols and ports below the user
we see on the Left the clients that use
ODBC JDBC for SQL and then the X, HANA
Studio BW and Business Objects
business intelligence tools SAP Business
Suite excel and on the right with the
HTTP access for web clients. Also
included here on the left are components
like SAP event streaming SAP replication
server SAP data services and even help SAP
support and SAP solution manager
access the HANA system. You can pause the
video if you want the closer look or
even better download a copy of the SAP
HANA master guide and read a chapter on
SAP HANA architecture. If we take a quick
look here at a live system with the SAP
HANA studio and we can see the
differences processes listed here on
this view. We see the name server, index
server preprocessor server XS Engine
and the web server but there are also
other processes. As I mentioned this is
just the first introduction of the SAP
HANA architecture. Ok
that's it the SAP HANA architecture is
documented in the SAP HANA administration
guide and a master guide you can access
and download SAP HANA documentation free
of charge on help . SAP . com / HANA.
Thank you for watching this SAP HANA
Academy video.