21.07.2013 Views

Script (.pdf file, 2 MB) - SAP MaxDB

Script (.pdf file, 2 MB) - SAP MaxDB

Script (.pdf file, 2 MB) - SAP MaxDB

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>SAP</strong>® <strong>MaxDB</strong> Expert Session<br />

<strong>SAP</strong>® <strong>MaxDB</strong>: Introduction into <strong>MaxDB</strong> Database Architecture<br />

Christiane Hienger April 16, 2013<br />

Public


<strong>SAP</strong>® <strong>MaxDB</strong> – Expert Session<br />

Introduction into <strong>SAP</strong> ® <strong>MaxDB</strong> Database Architecture<br />

Christiane Hienger<br />

Heike Gursch<br />

IMS <strong>MaxDB</strong>/liveCache Development Support<br />

April 16, 2013


Agenda<br />

Data Storage (Disk Area)<br />

Software Directories<br />

Data-, Log-Volumes<br />

Database Kernel<br />

SQL Manager<br />

Data Access Manager<br />

Process Layer<br />

Threads, User Kernel Threads,<br />

Pager, Timer; Garbage Collectors, LogWriter, TraceWriter<br />

Remote SQL Server, DBMServer<br />

Memory Level<br />

I/O Buffer Cache, Converter Cache, Catalog Cache, File Directory, Shared SQL<br />

Cache<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

3


Introduction - Environment<br />

Global<br />

Memory DB<br />

First level<br />

Second level<br />

Third level<br />

Data 1<br />

Analyzer<br />

Data Volumes<br />

Data 2<br />

Data 3<br />

Database<br />

Studio<br />

Database Kernel<br />

Tools<br />

Log Volumes<br />

Log Log‘<br />

<strong>SAP</strong> Work<br />

Processes<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

4


Database Instance<br />

Process Level<br />

Memory Level<br />

Hard Disks<br />

Runtime<br />

environment<br />

(RTE)<br />

User-Kernel-Threads (UKT)<br />

User-Kernel-Threads (UKT)<br />

Tasks:<br />

User<br />

Server<br />

File Dir<br />

Pager<br />

I/O Buffer Cache<br />

DATA<br />

Data<br />

Logwriter<br />

Catalog Cache<br />

Utility<br />

Shared SQL Cache<br />

Log Queue<br />

L LOG‘<br />

Coordinator<br />

Console<br />

(Clock)<br />

IO Worker 0 - n<br />

Task Worker 0 - n<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

5<br />

Timer<br />

Tracewriter<br />

Sequence Cache<br />

Garb. Collecotor


Disk Areas (Software and Data)<br />

Database Software<br />

/sapdb<br />

Data 1<br />

Data Volumes<br />

Data 2<br />

programs<br />

pgm<br />

Data 3<br />

bin<br />

data<br />

config<br />

<br />

bin pgm env etc lib incl misc sap<br />

Log Volumes<br />

Log Log‘<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

6<br />

wrk<br />

sapdb<br />

config<br />

<br />

data<br />

wrk<br />

<br />

db


Database Kernel<br />

SQL Manager (AK)<br />

Data Access Manager<br />

communication base layer (KB)<br />

Data Access Manager<br />

base data layer (BD)<br />

Buffer Interface<br />

Buffer Interface<br />

Procedural Interface<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

7


SQL Manager<br />

SELECT name1, name2, tel1<br />

FROM kna1<br />

WHERE name1 = 'GARDENER'<br />

or name1 = 'GARDENERS'<br />

SQL Manager<br />

Data Access Manager<br />

Data Access Manager<br />

Access strategy:<br />

1) Perform Range Scan<br />

on Index with ID 3422<br />

located on node p15714<br />

2) Select Rows by Primary Key<br />

on table with ID 3421<br />

located on node p15709<br />

Catalog entries for table kna1<br />

Table kna1: ID 3421; Node<br />

p15709<br />

Column Type Length<br />

mandt NUMCHAR 3<br />

kunnr NUMCHAR 8<br />

.<br />

name1 CHAR 20<br />

.<br />

tel1 CHAR 20<br />

.<br />

Index kna1__1: ID 3422;<br />

Node p15714<br />

Column Type Length<br />

Name1 CHAR 20<br />

Name2 CHAR 20<br />

Prim.Key NUMCHAR 13<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

8


Data Access Manager (KB Layer)<br />

SELECT name1, name2, tel1<br />

FROM kna1<br />

WHERE name1 = 'GARDENER'<br />

or name1 = 'GARDENERS'<br />

SQL Manager<br />

Data Access Manager<br />

Select statement<br />

No log Information required<br />

Data Access Manager<br />

Locking<br />

No locks held on table with ID 3422<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

9


Data Access Manager (BD layer)<br />

select NAME1, NAME2, TEL1<br />

from KNA1<br />

where NAME1 = 'GARDENER' or NAME1 = 'GARDENERS'<br />

SQL Manager<br />

Data-Access Manager<br />

Data Access Manager<br />

GARDENER...CHANCEY...00112345678<br />

GARDENER...VINCE.....00187654321<br />

GARDENERS..ZARAH.....00187654321<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

10


Database Instance<br />

Process Level<br />

Memory Level<br />

Hard Disks<br />

Runtime<br />

environment<br />

(RTE)<br />

User-Kernel-Threads (UKT)<br />

User-Kernel-Threads (UKT)<br />

Tasks:<br />

User<br />

Server<br />

File Dir<br />

Pager<br />

I/O Buffer Cache<br />

DATA<br />

Data<br />

Logwriter<br />

Catalog Cache<br />

Utility<br />

Shared SQL Cache<br />

Log Queue<br />

L LOG‘<br />

Coordinator<br />

Console<br />

(Clock)<br />

IO Worker 0 - n<br />

Task Worker 0 - n<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

11<br />

Timer<br />

Tracewriter<br />

Sequence Cache<br />

Garb. Collecotor


Process Structure<br />

Coordinator<br />

Requestor<br />

Console<br />

Timer<br />

IO Worker 0 - n<br />

Task Worker 0 - n<br />

User -Kernel- Process (UKT)<br />

Tasks<br />

User-Kernel-Thread (UKT)<br />

Tasks<br />

User<br />

Garbage Col<br />

Utility<br />

Pager<br />

Event<br />

Timer<br />

Server<br />

Logwriter<br />

Tracewriter<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

12


Threads I<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

Task Worker 0 - n<br />

Client -<br />

Connect<br />

User-Kernel-Thread (UKT)<br />

Tasks<br />

User<br />

Garbage Col<br />

Utility<br />

x_cons<br />

Select * From ..0,0005 sec.<br />

User-Kernel-Process (UKT)<br />

Tasks<br />

Pager<br />

Server<br />

Logwriter<br />

Tracewriter<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

13<br />

Event<br />

Timer<br />

Restart


Threads II<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

Task Worker 0 - n<br />

User-Kernel-Thread (UKT)<br />

Tasks<br />

Ticket<br />

Queue<br />

User<br />

Garbage Col<br />

Utility<br />

DATA<br />

User-Kernel-Process (UKT)<br />

Tasks<br />

Pager<br />

Server<br />

Logwriter<br />

Tracewriter<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

14<br />

Event<br />

Timer


User Kernel Threads and Tasks<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

Task Worker 0 - n<br />

User-Kernel-Thread<br />

user<br />

user<br />

user<br />

execute<br />

Tasks<br />

SELECT * FROM tab<br />

WHERE col1 = 5<br />

UKT 2<br />

user<br />

user<br />

user<br />

Parameter: MaxUserTasks<br />

Parameter: MaxCPUs & UseableCPUs<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

15


Server Tasks<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

Task Worker 0 - n<br />

User -Kernel- Thread<br />

user<br />

user<br />

user<br />

Tasks<br />

UKT 2<br />

DATA<br />

user<br />

user<br />

user<br />

UKT 3<br />

server<br />

server<br />

server<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

16


Pager and Timer Tasks<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

Task Worker 0 - n<br />

User -Kernel- Thread<br />

user<br />

user<br />

user<br />

UKT 4<br />

Tasks<br />

pager pager<br />

DATA<br />

UKT 2<br />

user<br />

user<br />

user<br />

timer<br />

session<br />

timeout<br />

UKT 3<br />

server<br />

server<br />

server<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

17


Logwriter<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

ask Worker 0 - n<br />

UKT 1<br />

UKT 4<br />

user<br />

user<br />

user<br />

pager pager<br />

Tasks<br />

UKT 2<br />

user<br />

user<br />

user<br />

timer<br />

UKT 3<br />

UKT 5<br />

server<br />

server<br />

server<br />

logwriter<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

18<br />

Log


Garbage Collectors and Event Tasks<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

ask Worker 0 - n<br />

UKT 1<br />

UKT 4<br />

UKT 6<br />

user<br />

user<br />

user<br />

pager pager<br />

garbage<br />

collector<br />

event<br />

event<br />

Tasks<br />

UKT 2<br />

user<br />

user<br />

user<br />

timer<br />

free Data<br />

free<br />

dbmcli …<br />

auto_update_statistics ON<br />

auto_extend ON 100<br />

UKT 3<br />

UKT 5<br />

server<br />

server<br />

server<br />

logwriter<br />

logwriter<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

19<br />

Log<br />

Log


Utility–, Tracewriter Task<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

I/O Worker 0 - n<br />

ask Worker 0 - n<br />

UKT 1<br />

UKT 4<br />

UKT 6<br />

user<br />

user<br />

user<br />

pager pager<br />

garbage<br />

collector<br />

event<br />

event<br />

Tasks<br />

UKT 2<br />

UKT 7<br />

user<br />

user<br />

user<br />

timer<br />

tracewriter<br />

knltrace<br />

UKT 3<br />

UKT 5<br />

server<br />

server<br />

server<br />

logwriter<br />

logwriter<br />

UKT 8<br />

utility<br />

CREATE INSTANCE ...<br />

ADD VOLUME ...<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

20


Remote SQL Server<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

Database Server<br />

Remote Host<br />

UKT 1 UKT 2<br />

user<br />

user<br />

user<br />

Global Listener<br />

user<br />

user<br />

user<br />

xserver<br />

xserver<br />

X Server<br />

X Server<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

21


DBM-Server<br />

Coordinator<br />

Requestor<br />

Console<br />

Clock / Timer<br />

Database Server<br />

Remote Host<br />

Database<br />

Studio<br />

UKT 1 UKT 2<br />

user<br />

user<br />

user<br />

SQL-Commands<br />

xserver<br />

xserver<br />

xserver<br />

user<br />

user<br />

user<br />

xserver<br />

xserver<br />

DBM Server<br />

DBM-Commands<br />

UKT 3<br />

server<br />

server<br />

server<br />

dbmcli<br />

dbmcli<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

22


Database Instance<br />

Process Level<br />

Memory Level<br />

Hard Disks<br />

Runtime<br />

environment<br />

(RTE)<br />

User-Kernel-Threads (UKT)<br />

User-Kernel-Threads (UKT)<br />

Tasks:<br />

User<br />

Server<br />

File Dir<br />

Pager<br />

I/O Buffer Cache<br />

DATA<br />

Data<br />

Logwriter<br />

Catalog Cache<br />

Utility<br />

Shared SQL Cache<br />

Log Queue<br />

L LOG‘<br />

Coordinator<br />

Console<br />

(Clock)<br />

IO Worker 0 - n<br />

Task Worker 0 - n<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

23<br />

Timer<br />

Tracewriter<br />

Sequence Cache<br />

Garb. Collecotor


I/O Buffer Cache<br />

DATA 1<br />

DATA 2<br />

I/O Buffer Cache<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

24


Catalog Cache, Log Queue<br />

Catalog entries for table kna1<br />

Table kna1: ID 3421; Node p15709<br />

Column Type Length<br />

mandt NUMCHAR 3<br />

kunnr NUMCHAR 8<br />

.<br />

.<br />

name1 CHAR 20<br />

.<br />

tel1 CHAR 20<br />

.<br />

Index kna1__1: ID 3422; Node p15714<br />

Column Type Length<br />

Name1 CHAR 20<br />

Name2 CHAR 20<br />

Prim.Key NUMCHAR 13<br />

I/O Buffer Cache<br />

Catalog Cache<br />

Shared SQL Cache<br />

Log Queue<br />

Log<br />

Volume<br />

Select * from kna1<br />

select * from bkpf where<br />

…<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

25


File Directory, Sequence Cache<br />

File Directory<br />

Table ID root<br />

Class ID root<br />

I/O Buffer Cache<br />

File Dir<br />

Catalog-Cache<br />

Shared-SQL-Cache<br />

Log-Queue<br />

Sequence-<br />

Cache<br />

Insert into T100 (col1) values (seq.nextval)<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

26


Cache Access<br />

I/O Buffer Cache<br />

File Dir<br />

Catalog-Cache<br />

Share-SQL-Cache<br />

Log-Queue<br />

Critical sections in memory are protected by<br />

synchronization mechanisms (Regions)<br />

Sequence-<br />

Cache<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

27


Questions<br />

<strong>SAP</strong>® <strong>MaxDB</strong> Database Architecture


<strong>SAP</strong>® <strong>MaxDB</strong> – Expert Sessions Learning Map (1)<br />

<strong>SAP</strong>® <strong>MaxDB</strong> <br />

Features<br />

Session 1: Low TCO with the <strong>SAP</strong><br />

<strong>MaxDB</strong> Database<br />

Session 6: New Features in <strong>SAP</strong><br />

<strong>MaxDB</strong> Version 7.7<br />

Session 8: New Features in <strong>SAP</strong><br />

<strong>MaxDB</strong> Version 7.8<br />

<strong>SAP</strong>® <strong>MaxDB</strong> <br />

Installation/Upgrade<br />

Session 7: <strong>SAP</strong> <strong>MaxDB</strong> Software<br />

Update Basics<br />

<strong>SAP</strong>® <strong>MaxDB</strong> <br />

Administration<br />

Session 2: Basic Administration<br />

with Database Studio<br />

Session 3: CCMS Integration into<br />

the <strong>SAP</strong> System<br />

Session 11: <strong>SAP</strong> <strong>MaxDB</strong> Backup<br />

and Recovery<br />

Session 13: Third-Party Backup<br />

Tools<br />

<strong>SAP</strong>® <strong>MaxDB</strong> <br />

Problem Analysis<br />

Session 5:<br />

<strong>SAP</strong> <strong>MaxDB</strong> Data Integrity<br />

Session 14:<br />

<strong>SAP</strong> <strong>MaxDB</strong> Tracing<br />

Session 12: Analysis of SQL<br />

Locking Situations<br />

All Expert Sessions (recording and slides) are available for download<br />

http://maxdb.sap.com/training/<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

29


<strong>SAP</strong>® <strong>MaxDB</strong> – Expert Sessions Learning Map (2)<br />

<strong>SAP</strong>® <strong>MaxDB</strong><br />

Architecture<br />

Session 18: Introduction<br />

<strong>MaxDB</strong> Database Architecture<br />

Session 15: <strong>SAP</strong> <strong>MaxDB</strong><br />

No-Reorganization Principle<br />

Session 17: <strong>SAP</strong> <strong>MaxDB</strong><br />

Shadow Page Algorithm<br />

Session 12: Analysis of SQL<br />

Locking Situations<br />

Session 10:<br />

<strong>SAP</strong> <strong>MaxDB</strong> Logging<br />

<strong>SAP</strong>® <strong>MaxDB</strong> <br />

Performance<br />

Session 4: Performance<br />

Optimization with <strong>SAP</strong> <strong>MaxDB</strong><br />

Session 9: <strong>SAP</strong> <strong>MaxDB</strong><br />

Optimized for <strong>SAP</strong> BW<br />

Session 16: <strong>SAP</strong> <strong>MaxDB</strong> SQL<br />

Query Optimization (Part 1)<br />

Session 16: <strong>SAP</strong> <strong>MaxDB</strong> SQL<br />

Query Optimization (Part 2)<br />

All Expert Sessions (recording and slides) are available for download<br />

http://maxdb.sap.com/training/<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

30


Thank You!<br />

Bye, Bye – And Remember Next Session<br />

Feedback and further information:<br />

http://www.sdn.sap.com/irj/sdn/maxdb<br />

Next Session: 11.06.2013<br />

<strong>SAP</strong>® <strong>MaxDB</strong> Parameter - Handling<br />

© 2013 <strong>SAP</strong> AG. All rights reserved. Public<br />

31


Thank you<br />

Contact information:<br />

Christiane Hienger<br />

Development Expert IMS<br />

Christiane.Hienger@sap.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!