Tuning the Mobile Server

Ähnliche Dokumente
Index Rebuild. DOAG Konferenz , Nürnberg DOAG Konferenz , Nürnberg Martin Hoermann Martin Hoermann

PostgreSQL in großen Installationen

Index Rebuild. DOAG Konferenz , Nürnberg. Martin Hoermann

einfach. gut. beraten. Stabilisierung von Ausführungsplänen Baselines DOAG Konferenz + Ausstellung 2017 Nürnberg Klaus Reimers

DOAG Index Tuning

MySQL Architektur die Admin-Sicht

Automatisierte Datenmigration mit dynamischen SQL

Oracle 9i Einführung Performance Tuning

Data Dictionary for Oracle

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn

Partitionierung Indizes und Statistiken

TOra - Toolkit for Oracle


Kerberos und das Oracle Die Nutzung von Kerberos in einer Solaris-Oracle-Umgebung

Performance in der Oracle Datenbank von Anfang an

DOAG Konferenz + Ausstellung 2017 Nürnberg Michael Skowasch

Data Guard. Deutsche Oracle Anwendergruppe Regionalgruppe BI / MS / OS. Funktionsweise und Einsatzmöglichkeiten. Klaus Garstecki

Automatisierung von Tabellen- und Index-Reorganisationen

Oracle Datenbank Architektur nicht nur für Einsteiger. Martin Klier Klug GmbH integrierte Systeme, Teunz

Memory-Drilldown von der SGA über die PGA zum Database Buffer Advisor

MySQL Backup- und Recovery-Strategien

Oracle 10g Einführung

Oracle Datenbank 11g Advanced Compression Option

5.8 Bibliotheken für PostgreSQL

DBMS_METADATA und DBMS_METADATA_DIFF im Praxiseinsatz

PostgreSQL und memcached

Oracle 9i Einführung Performance Tuning

Neue Features Oracle Database 12.2 Wann denn endlich?

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

Performance Tuning

Praktische SQL-Befehle

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Bibliografische Informationen digitalisiert durch

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

XML in Oracle 12c. Wolfgang Nast

Tuning einer CAD Datenbank Vorgehensweise und (Miss-) Erfolge

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Datenbankbasierte Lösungen

Oracle Datenbank Architektur - nicht nur für Einsteiger

NoSQL mit Postgres 15. Juni 2015

PHP- Umgang mit Datenbanken (1)

Geodaten und Karten in APEX

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

5000 User+, Erfahrungen im Produktivbetrieb einer Saas-DB. DOAG 2011 Konferenz + Ausstellung Bernhard Vogel & Frank Szilinski, esentri

Optimizer Statistiken und Adaptive Features in 12.2

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Migration der Daten eines CRS-Mandanten von Kunde zu Kunde

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Visualisierung in Informatik und Naturwissenschaften

Optimiertes Laden in die F-Fakten-Tabelle des SAP BW

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Nutzung der Oracle Database InMemory Option für SAP BW

Partitioning Technik und Anwendungsbeispiele

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Üben von DDL und DML. Ergebnis:

IBM Informix Tuning und Monitoring

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

PostgreSQL High-Security

Partitionierung Indizes und Statistiken

Datenbanken. Heute dreht sich alles um SELECT

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Tipps und Tricks in der Datenbankadministration

IBM Informix Dynamic Server Hochverfügbarkeits-Technologien unter Unix

Row Chaining & Row Migration Alte Bekannte - immer noch aktuell! DOAG 2014 Datenbank Dierk Lenz

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Chancen und Wachstumsfelder für PostgreSQL

Hochverfügbarkeit mit Data Guard Möglichkeiten und Grenzen

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

Installation MySQL Replikationsserver

Transkript:

DOAG Konferenz 20. - 22.11.2012 Tuning the Mobile Server Philipp Loer ppl@ordix.de www.ordix.de

Agenda Einleitung Grundlagen Performance-Optimierung Fazit Tuning the Mobile Server, Philipp Loer, DOAG 2012 1

Einleitung Oracle Database Mobile Server Datenabgleich zwischen mobile Geräten und einer Oracle-Datenbank Clients haben eine eigene Datenbank: sqlite oder Oracle Berkeley DB Oracle Mobile Server als Middleware zuständig für die Organisation des Datenabgleichs Ziel des Vortrags: Vorstellung von Möglichkeiten des Performancetuning Tuning the Mobile Server, Philipp Loer, DOAG 2012 2

Einleitung Oracle Database Mobile Server Datenabgleich zwischen mobile Geräten und einer Oracle-Datenbank: Tuning the Mobile Server, Philipp Loer, DOAG 2012 3

Agenda Einleitung Grundlagen Performance-Optimierung Fazit Tuning the Mobile Server, Philipp Loer, DOAG 2012 4

Grundlagen Oracle Database Mobile Server erste Version 2002 als Oracle Lite 9i aktuell: Oracle Database Mobile Server 11g, verfügbar seit März 2011 Tuning the Mobile Server, Philipp Loer, DOAG 2012 5

Grundlagen Oracle Database Mobile Server 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 6

Grundlagen Datenabgleich Tuning the Mobile Server, Philipp Loer, DOAG 2012 7

Grundlagen Basistransaktion Tuning the Mobile Server, Philipp Loer, DOAG 2012 8

Grundlagen Funktionsanalyse Logging-Tabellen eines Publikationselementes Tabelle Inhalt / Aufgabe Prefix Originaltabelle Masterreplik - Versionierungstabelle Logging-Tabelle Mapping-Tabelle In-Queue Logging der serverseitigen Änderungen Logging der übernommenen Änderungen Versionsinfo über die Datenstände der Clients Von den Clients übergebene, noch nicht verarbeitete Änderungen CVR$ CLG$ CMP$ CFM$ Error-Queue Konfliktbehaftete Transaktionen CEQ$ Tuning the Mobile Server, Philipp Loer, DOAG 2012 9

Grundlagen Funktionsanalyse ORDERS Primary Key 1 2 3 4 CMP$ORDERS Primary Key Version$$ CLID$$ 1 3 ORDIX 2 3 ORDIX 3 2 ORDIX 4 7 ORDIX TRANID$ $ 1 2 CONIATOS Trigger 2 4 CONIATOS 3 1 CONIATOS CVR$ORDERS Primar y Key 1 3 2 4 3 2 Version$$ 4 7 CONIATOS 1 2 DOAG 2 4 DOAG 3 2 DOAG 4 7 DOAG 4 7 Tuning the Mobile Server, Philipp Loer, DOAG 2012 10

Agenda Einleitung Grundlagen Performance-Optimierung Fazit Tuning the Mobile Server, Philipp Loer, DOAG 2012 11

Physikalische Datenorganisation 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. Die Datensätze der Mapping-Tabelle zu einem bestimmten Client werden auf möglichst wenige Blöcke verteilt. Tuning the Mobile Server, Philipp Loer, DOAG 2012 12

Physikalische Datenorganisation Tabelle ORDERS vorher Tabelle ORDERS nachher Die Datensätze der Mapping-Tabelle zu einem bestimmten Client werden auf möglichst wenige Blöcke verteilt. Tuning the Mobile Server, Philipp Loer, DOAG 2012 13

Physikalische Datenorganisation Umsetzung: Offline: 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; Online: CREATE TABLE interim_table_name AS SELECT FROM table_name WHERE 1 = 2; exec dbms_redefinition.start_redef_table exec dbms_redefinition.copy_table_dependents exec dbms_redefinition.finish_redef_table exec dbms_stats.gather_table_stats DROP TABLE table_name; Tuning the Mobile Server, Philipp Loer, DOAG 2012 14

Physikalische Datenorganisation Tuning the Mobile Server, Philipp Loer, DOAG 2012 15

Physikalische Datenorganisation Tuning the Mobile Server, Philipp Loer, DOAG 2012 16

Partitionierung Partitionierung horizontale Teilung einer Tabelle hier: Hash-Partitionierung nach der Client-ID Tabelle Partition 1 Partition 2 Partition 3 Partition n Die Datensätze der Mapping-Tabelle zu einem bestimmten Client werden automatisch auf möglichst wenige Blöcke verteilt. Tuning the Mobile Server, Philipp Loer, DOAG 2012 17

Partitionierung Tuning the Mobile Server, Philipp Loer, DOAG 2012 18

Vertikale Partitionierung 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. parts id label description manufacturer_id man_article deliver_time available price parts_1 id label description parts_2 id manufacturer_id man_article deliver_time available id price parts_3 Tuning the Mobile Server, Philipp Loer, DOAG 2012 19

Vertikale Partitionierung 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 20

Shared Maps 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 Mapping-Tabelle speichert statt einer 1:n-Beziehung nur noch 1:1-Beziehungen Tuning the Mobile Server, Philipp Loer, DOAG 2012 21

Shared Maps Testergebnisse Shared Maps Geänderte Datensätze Shared Maps eingesetzt Abfrage Mapping-Tabelle in ms Gesamtdauer 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 22

Begrenzung der Datenmenge 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: SELECT * FROM contact_persons ; Nachher: SELECT cp.* FROM employees emp, emp_areas ea, areas a, customers c, contact_persons cp WHERE 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; Tuning the Mobile Server, Philipp Loer, DOAG 2012 23

Begrenzung der Datenmenge Testergebnisse Begrenzung der Datenmenge Anzahl übertragener Datensätze Datenbegrenzung 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 24

Netzwerkgeschwindigkeit 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. Tuning the Mobile Server, Philipp Loer, DOAG 2012 25

Netzwerkgeschwindigkeit 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 26

weitere Optimierungsmöglichkeiten 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 Tuning the Mobile Server, Philipp Loer, DOAG 2012 27

Agenda Einleitung Grundlagen Performance-Optimierung Fazit Tuning the Mobile Server, Philipp Loer, DOAG 2012 28

Fazit Physikalische Datenorganisation Horizontale Partitionierung Vertikale Partitionierung Shared Maps Datenmengenbegrenzung Weitere Tuningmöglichkeiten Tuning the Mobile Server, Philipp Loer, DOAG 2012 29

Zentrale Paderborn Westernmauer 12-16 33098 Paderborn Tel.: 05251 1063-0 Seminarzentrum Wiesbaden Kreuzberger Ring 13 65205 Wiesbaden Tel.: 0611 77840-00 Zentrales Fax: 0180 1 67349 0 0180 1 ORDIX 0 Weitere Geschäftsstellen in Köln, Münster und Neu-Ulm E-Mail: info@ordix.de Internet: http://www.ordix.de Vielen Dank für Ihre Aufmerksamkeit!