Script (.pdf file, 2 MB) - SAP MaxDB
Script (.pdf file, 2 MB) - SAP MaxDB
Script (.pdf file, 2 MB) - SAP MaxDB
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