PostgreSQL im Cluster - Linux

Werbung
PostgreSQL im Cluster
Hans-Jürgen Schönig
www.postgresql-support.de
Hans-Jürgen Schönig
www.postgresql-support.de
Über uns
Hans-Jürgen Schönig
www.postgresql-support.de
PostgreSQL Dienstleistungen
I
Cybertec bietet Ihnen . . .
I
I
I
I
I
24x7 Support für PostgreSQL
PostgreSQL Consulting
Performance Tuning
PostgreSQL Training
Cloud & Clustering
Hans-Jürgen Schönig
www.postgresql-support.de
PostgreSQL Cluster Features
Hans-Jürgen Schönig
www.postgresql-support.de
Use Cases:
I
I
I
I
I
Gegen Hardware Fehler absichern
Lesezugriffe skalieren
Automatisches Failover ermöglichen
Daten geographisch verteilen
Analytische Abfragen skalieren
Hans-Jürgen Schönig
www.postgresql-support.de
Use case: Hardwarefehler
I
I
I
Hardware kann jederzeit fehlschlagen
Redundanz ist nötig
Fallstrick:
I
I
Die Disks zu spiegeln schützt nicht gegen Filesystem Corruption
‘Die SAN macht das’ kann gefährlich sein
Hans-Jürgen Schönig
www.postgresql-support.de
Lösung: Streaming Replication
I
I
I
I
PostgreSQL bietet sogenannte ‘Streaming Replication’
Das Transaction Log wird repliziert
Ein Master bedient beliebig viele Slaves
Replikation erfolg BINÄR
Hans-Jürgen Schönig
www.postgresql-support.de
Technischer Hintergrund
I
I
Warum nicht einfach alle SQLs am Slaves ausführen?
Das selbe SQL liefert nicht immer das selbe Ergebnis
INSERT INTO foo VALUES (1, 'hans', random());
I
Nur das Transaktion Log garantiert Konsistenz
Hans-Jürgen Schönig
www.postgresql-support.de
Features
I
I
I
Der Master ist im Read / Write Modus
Die Slaves sind Read / Only
Die Replikation erfolgt . . .
I
I
‘sofort’
asynchron (= der Master wartet nicht auf den Slave)
Hans-Jürgen Schönig
www.postgresql-support.de
Use case: Lesezugriffe skalieren
I
I
I
Lesezugriffe können mit Slaves skaliert werden
De facto kein Overhead
Extremst robust
Hans-Jürgen Schönig
www.postgresql-support.de
Durability kontrollieren
I
I
Replikation kann synchron oder asynchron passieren
Durability kann für jede Transaktion definiert werden
I
I
I
Wichtige Daten: Strenges COMMIT
Unwichtige Daten: So schnell wie möglich
Enorm wichtig für Performance
I
Speed und Durability schließen sich aus
Hans-Jürgen Schönig
www.postgresql-support.de
Load Balancing
I
I
Lesezugriffe können einfach verteilt werden
Schreibzugriffe sind schwieriger:
I
I
I
Multimaster bringt gar nichts
Es muss jeder Knoten alle Daten schreiben
Das erhöht nur die Komplexität
Hans-Jürgen Schönig
www.postgresql-support.de
Use case: Automatisches Failover
I
I
Master / Slave ist ideal für automatisches Failover
Der Master hat immer die ‘Wahrheit’
I
I
I
I
Keine Konflikte
Sehr performant
Enorm robust
Im Fehlerfall kann automatisiert umgeschalten werden
I
Maximale Verfügbarkeit
Hans-Jürgen Schönig
www.postgresql-support.de
Use case: Daten geographisch verteilen
I
I
I
Einer der wenigen Use Cases für Multimaster Replikation
Kann verwendet werden, wenn die Standorte ‘unabhängig’ sind
Beispiel:
I
I
I
I
In den USA werden amerikanische Daten verändert.
In Europa werden lokale Daten verändert.
Konflite können so vermieden werden.
PostgreSQL bietet Lösungen für asynchrones Multimaster
Hans-Jürgen Schönig
www.postgresql-support.de
Use case: Analytische Abfragen skalieren
I
I
I
Oft übersteigt die Datenmenge die Kapazität eines Servers
Abfragen sollen auf mehrere Server skaliert werden
Verteilte Abfragen in neuen Versionen möglich
I
I
I
Queries können über mehrere Server verteilt werden
Maximale Parallelität
Ideal für enorme Datenmengen
Hans-Jürgen Schönig
www.postgresql-support.de
Was kann erreicht werden?
I
Kürzlich als Proof-Of-Concept realisiert:
I
I
Analyse von 3 Mrd Zeilen in unter 3 Sekunden
Mehr ist möglich
I
Weitere Features zur Skalierung sind am Weg
I
Hinweis: Auch NoSQL Workloads sind skalierbar
I
I
No need for Mongo und co.
Mehr Infos sind am Stand verfügbar
Hans-Jürgen Schönig
www.postgresql-support.de
Der Klassiker
Hans-Jürgen Schönig
www.postgresql-support.de
Was ist der Standard Fall?
I
Für viele Kunden ist Master / Slave ideal
I
I
Einfach, robust, schnell
Automatisches Failover kann OHNE Linux Pacemaker
Erfahrung realisiert werden
Hans-Jürgen Schönig
www.postgresql-support.de
Mehr Infos gefällig?
I
Besuchen Sie unseren Stand
Hans-Jürgen Schönig
www.postgresql-support.de
Contact us
Cybertec Schönig & Schönig GmbH
Hans-Jürgen Schönig
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
www.postgresql-support.de
Follow us on Twitter: @PostgresSupport
Hans-Jürgen Schönig
www.postgresql-support.de
Herunterladen