Oracle Database Mobile Server Performance Tuning

32
Tuning the Mobile Server DOAG Konferenz 20. - 22.11.2012 Philipp Loer [email protected] www.ordix.de

Transcript of Oracle Database Mobile Server Performance Tuning

Page 1: Oracle Database Mobile Server Performance Tuning

Tuning the Mobile Server

DOAG Konferenz20. - 22.11.2012

Philipp Loer

[email protected]

www.ordix.de

Page 2: Oracle Database Mobile Server Performance Tuning

Einleitung

Grundlagen

Performance-Optimierung

Fazit

Agenda

Tuning the Mobile Server, Philipp Loer, DOAG 2012 2

Page 3: Oracle Database Mobile Server Performance Tuning

Datenabgleich zwischen mobile Geräten und einer Oracle-Datenbank:

EinleitungOracle Database Mobile Server

Tuning the Mobile Server, Philipp Loer, DOAG 2012 4

Page 4: Oracle Database Mobile Server Performance Tuning

Einleitung

Grundlagen

Performance-Optimierung

Fazit

Agenda

Tuning the Mobile Server, Philipp Loer, DOAG 2012 5

Page 5: Oracle Database Mobile Server Performance Tuning

erste Version 2002 als Oracle Lite 9i aktuell: Oracle Database Mobile Server 11g, verfügbar seit März 2011

GrundlagenOracle Database Mobile Server

Tuning the Mobile Server, Philipp Loer, DOAG 2012 6

Page 6: Oracle Database Mobile Server Performance Tuning

Eine Publikation enthält Publikationselemente

Sequenzen

Skripte

Queues Abarbeitung der Transaktionen und Replikationen nach der Datenübertragung

Verhindern die Verlängerung des Datenabgleichs durch Datenbanksperren

GrundlagenOracle Database Mobile Server

Tuning the Mobile Server, Philipp Loer, DOAG 2012 7

Page 7: Oracle Database Mobile Server Performance Tuning

GrundlagenDatenabgleich

Tuning the Mobile Server, Philipp Loer, DOAG 2012 8

Page 8: Oracle Database Mobile Server Performance Tuning

GrundlagenBasistransaktion

Tuning the Mobile Server, Philipp Loer, DOAG 2012 9

Page 9: Oracle Database Mobile Server Performance Tuning

GrundlagenFunktionsanalyse

Tuning the Mobile Server, Philipp Loer, DOAG 2012 10

Logging-Tabellen eines Publikationselementes

Tabelle Inhalt / Aufgabe Prefix

Originaltabelle Masterreplik -

Versionierungstabelle Logging der serverseitigen Änderungen CVR$

Logging-Tabelle Logging der übernommenen Änderungen CLG$

Mapping-Tabelle Versionsinfo über die Datenstände der Clients CMP$

In-Queue Von den Clients übergebene, noch nicht verarbeitete Änderungen CFM$

Error-Queue Konfliktbehaftete Transaktionen CEQ$

Page 10: Oracle Database Mobile Server Performance Tuning

Tuning the Mobile Server, Philipp Loer, DOAG 2012 11

ORDERS

Primary Key

… …

1

2

3

4

CLG$ORDERS

Primary Key

Version$$ … …

1 3

2 4

3 2

4 7

CMP$ORDERS

Primary Key

Version$$ CLID$$TRANID$

$… …

1 3 ORDIX

2 3 ORDIX

3 2 ORDIX

4 7 ORDIX

1 2 CONIATOS

2 4 CONIATOS

3 1 CONIATOS

4 7 CONIATOS

1 2 DOAG

2 4 DOAG

3 2 DOAG

4 7 DOAG

Trigger

GrundlagenFunktionsanalyse

Page 11: Oracle Database Mobile Server Performance Tuning

Einleitung

Grundlagen

Performance-Optimierung

Fazit

Agenda

Tuning the Mobile Server, Philipp Loer, DOAG 2012 12

Page 12: Oracle Database Mobile Server Performance Tuning

Physikalische Datenorganisation

Die Mapping-Tabelle enthält die Informationen, welcher Client welche Version eines Datensatzes hat.

Bei einem Datenabgleich werden immer alle „Log-Informationen“ eines Clients benötigt.

Performance-OptimierungPhysikalische Datenorganisation

Tuning the Mobile Server, Philipp Loer, DOAG 2012 13

Die Datensätze der Mapping-Tabelle zu einem bestimmten Client

werden auf möglichst wenige Blöcke verteilt.

Page 13: Oracle Database Mobile Server Performance Tuning

Performance-OptimierungPhysikalische Datenorganisation

Tuning the Mobile Server, Philipp Loer, DOAG 2012 14

Die Datensätze der Mapping-Tabelle zu einem bestimmten Client

werden auf möglichst wenige Blöcke verteilt.

Tabelle CMP$ORDERS vorher

Tabelle CMP$ORDERS nachher

Page 14: Oracle Database Mobile Server Performance Tuning

Umsetzung:

Offline:

Online:

Performance-OptimierungPhysikalische Datenorganisation

Tuning the Mobile Server, Philipp Loer, DOAG 2012 15

CREATE TABLE interim_table_name AS SELECT FROM table_name ORDER BY column_name;DROP TABLE table_name;ALTER TABLE interim_table_name RENAME TO table_name;

CREATE TABLE interim_table_name AS SELECT FROM table_name WHERE 1 = 2;exec dbms_redefinition.start_redef_table ...... orderby_cols (!)exec dbms_redefinition.copy_table_dependentsexec dbms_redefinition.finish_redef_tableexec dbms_stats.gather_table_statsDROP TABLE table_name;

Page 15: Oracle Database Mobile Server Performance Tuning

Tuning the Mobile Server, Philipp Loer, DOAG 2012 16

Performance-OptimierungPhysikalische Datenorganisation

Page 16: Oracle Database Mobile Server Performance Tuning

Tuning the Mobile Server, Philipp Loer, DOAG 2012 17

Performance-OptimierungPhysikalische Datenorganisation

Page 17: Oracle Database Mobile Server Performance Tuning

Partitionierung

horizontale Teilung einer Tabelle hier: Hash-Partitionierung nach der Client-ID

Performance-OptimierungPartitionierung

Tuning the Mobile Server, Philipp Loer, DOAG 2012 18

Die Datensätze der Mapping-Tabelle zu einem bestimmten Client

werden automatisch auf möglichst wenige Blöcke verteilt.

Tabelle

Partition 1 Partition 2 Partition 3 Partition n

Page 18: Oracle Database Mobile Server Performance Tuning

Tuning the Mobile Server, Philipp Loer, DOAG 2012 19

Performance-OptimierungPartitionierung

Page 19: Oracle Database Mobile Server Performance Tuning

Shared Maps

Datenänderung nur auf der Master-Seite erlaubt Nachteil: Keine Offline-Transaktionen möglich Vorteil: Verminderter „Verwaltungsaufwand“

Mapping-Tabelle speichert nicht mehr, welcher Client welchen Datenstand hat, sondern nur einen Versionszähler für jeden Datensatz

Performance-OptimierungShared Maps

Tuning the Mobile Server, Philipp Loer, DOAG 2012 20

Mapping-Tabelle speichert statt einer 1:n-Beziehung

nur noch 1:1-Beziehungen

Page 20: Oracle Database Mobile Server Performance Tuning

Performance-OptimierungShared Maps

Tuning the Mobile Server, Philipp Loer, DOAG 2012 21

Testergebnisse Shared Maps

Geänderte Datensätze Shared Maps eingesetzt Abfrage Mapping-Tabelle in msGesamtdauer in

s

1 0 nein 985 4,6

2 0 ja 72 3,8

3 5000 nein 1108 13,1

4 5000 ja 109 13,9

Page 21: Oracle Database Mobile Server Performance Tuning

Vertikale Partitionierung

Wird ein Datensatz geändert, so wird immer der ganze Datensatz übertragen.

Durch eine vertikale Partitionierung kann die zu übertagende Datenmenge reduziert werden.

Performance-OptimierungVertikale Partitionierung

Tuning the Mobile Server, Philipp Loer, DOAG 2012 22

parts_1

•id•label•description

parts_2

•id•manufacturer_id•man_article•deliver_time•available

parts_3

•id•price

parts

•id•label•description•manufacturer_id•man_article•deliver_time•available•price

Page 22: Oracle Database Mobile Server Performance Tuning

Performance-OptimierungVertikale Partitionierung

Tuning the Mobile Server, Philipp Loer, DOAG 2012 23

Testergebnisse vertikale Partitionierung

Geänderte Datensätze Vertikale Partitionierung Abfrage Mapping-Tabelle Gesamtdauer

1 0 Nein 72 ms 3,8 s

2 0 Ja 224 ms 3,9 s

3 5000 Nein 109 ms 13,9 s

4 5000 Ja 343 ms 6,0 s

Page 23: Oracle Database Mobile Server Performance Tuning

Begrenzung der Datenmenge

Nicht immer benötigt jeder Client alle Datensätze eines Publikationselementes.

Durch eine Änderung der Base-Query kann diese angepasst werden Vorherige Base-Query:

Nachher:

Performance-OptimierungBegrenzung der Datenmenge

Tuning the Mobile Server, Philipp Loer, DOAG 2012 24

SELECT * FROM contact_persons ;

SELECT cp.* FROM employees emp , emp_areas ea, areas a, customers c, contact_persons cpWHERE emp.id = ea.emp_id AND ea.area_id = a.id AND a.zipcode = c.zipcode AND c.id = cp.customer_id AND emp.client_id =:client_id;

Page 24: Oracle Database Mobile Server Performance Tuning

Performance-OptimierungBegrenzung der Datenmenge

Tuning the Mobile Server, Philipp Loer, DOAG 2012 25

Testergebnisse Begrenzung der Datenmenge

Anzahl übertragener Datensätze

Daten-begrenzung

Abfrage der Mapping-Tabelle Gesamtdauerübertragene Datenmenge

1 5000 Ja 120 ms 10,4 s 1,2 MB

2 25000 Ja 312 ms 34,2 s 5,5 MB

3 50000 Ja 374 ms 66,5 s 10,1 MB

4 50000 Nein 369 ms 65,0 s 10,2 MB

Page 25: Oracle Database Mobile Server Performance Tuning

Netzwerkgeschwindigkeit

Ziel : Ermittlung des Performance-Einflusses der Netzwerkgeschwindigkeit

Für einen Datenabgleich müssen die geänderten Daten ermittelt, übermittelt und auf der anderen Seite verarbeitet werden.

Nur für die Übermittlung der Daten ist die Netzwerkgeschwindigkeit von Bedeutung.

Performance-OptimierungNetzwerkgeschwindigkeit

Tuning the Mobile Server, Philipp Loer, DOAG 2012 26

Page 26: Oracle Database Mobile Server Performance Tuning

Performance-OptimierungNetzwerkgeschwindigkeit

Tuning the Mobile Server, Philipp Loer, DOAG 2012 27

Testergebnisse Netzwerkgeschwindigkeit

Netzwerkverbindung Geänderte Datensätze Übertragungsdauer übertragene Datenmenge

1 10 Mbit 0 2,4 s 0,2 MB

2 100 Mbit 0 2,0 s 0,2 MB

3 10 Mbit 1.000 13,3 s 0,8 MB

4 100 Mbit 1.000 11,4 s 0,9 MB

5 10 Mbit 5.000 19,8 s 2,0 MB

6 100 Mbit 5.000 15,9 s 1,9 MB

100.000 Datensätze in der Tabelle ORDERS

Page 27: Oracle Database Mobile Server Performance Tuning

Performance-Optimierungweitere Optimierungsmöglichkeiten

Tuning the Mobile Server, Philipp Loer, DOAG 2012 28

Weitere Optimierungsmöglichkeiten

Base-Query Tuning Priority Based Replication Base-Query Caching Index Organized Tables (IOT) Partition Mapping Mobile.ora Parameter

Max Threads

Connection Pooling

Synchronisation Tablespace Layout

Page 28: Oracle Database Mobile Server Performance Tuning

Einleitung

Grundlagen

Performance-Optimierung

Fazit

Agenda

Tuning the Mobile Server, Philipp Loer, DOAG 2012 29

Page 29: Oracle Database Mobile Server Performance Tuning

Physikalische Datenorganisation Horizontale Partitionierung Vertikale Partitionierung Shared Maps Datenmengenbegrenzung Weitere Tuningmöglichkeiten

Fazit

Tuning the Mobile Server, Philipp Loer, DOAG 2012 30

Page 30: Oracle Database Mobile Server Performance Tuning

Vielen Dank für Ihre Aufmerksamkeit!

Zentrale PaderbornWesternmauer 12 - 1633098 PaderbornTel.: 05251 1063-0

Seminarzentrum WiesbadenKreuzberger Ring 1365205 WiesbadenTel.: 0611 77840-00

Zentrales Fax: 0180 1 67349 00180 1 ORDIX 0

Weitere Geschäftsstellenin Köln, Münster und Neu-Ulm

E-Mail: [email protected]: http://www.ordix.de

Page 31: Oracle Database Mobile Server Performance Tuning

Die ORDIX AG auf der DOAG 2012

Memory – Ein Drilldown

von der SGA über die PGA

bis zum Database Buffer Advisor

Referent: Klaus Reimers,

ORDIX AG

Space – the final frontier:

Speicher- und Performance-

Aspekte in Oracle Tablespaces

Referent: Martin Hoermann,

ORDIX AG

Tuning the Mobile Server

Referent: Phillip Loer,

ORDIX AG

Active-DataGuard bei

Autoscout24

Referentin: Sabine Langer,

AutoScout24

Co-Referent: Michael Skowasch,

ORDIX AG

DOAG Schulungstag am 23.11.2012

Hands-On

Oracle Application Express

Referent: Matthias Jung

ORDIX AG

Seminarinhalte:

• Erstellung und Verwaltung von Applikationen

• Verwendung der unterschiedlichen Seitenelemente

• Erstellen von Reporting-Tabellen und Diagrammen

• Verwendung von Formularen zur Datenerfassung

• Verwaltung von Usern

• Möglichkeiten zur User-Authentifizierung

Page 32: Oracle Database Mobile Server Performance Tuning

Begleitende CD

Die CD erhalten Sie an unserem Stand:

Ebene 3, Stand 322