Replikace v PostgreSQL



Podobné dokumenty
Synchronní replikace v PostgreSQL 9.1

Bi-Direction Replication

Proudy, Zpracovсnэ XML. Radek Koэ

DNSSEC. Adam Tkac, Red Hat, Inc. 23. dubna 2009

Použití PostgreSQL v. P2D Martin Swiech

SSD vs. HDD / WAL, indexy a fsync

Cobbler, Puppet, Func

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz>

PASPORT MÍSTNÍCH KOMUNIKACÍ - Obec Deštné - ZIMNÍ ÚDRŽBA

Copyright 2012 EMC Corporation. All rights reserved.

Novinky v PostgreSQL 10 (a 11)

Copyright 2012 EMC Corporation. All rights reserved.

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Databázová řešení IBM

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Data replication, high availability, load balancing,

Modely v kreditnэm riziku

Popis licencování, nastavení a ovládání replikací - přenosů dat

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU bez limitu Obsahuje podporu

Ukázka knihy z internetového knihkupectví

O Apache Derby detailněji. Hynek Mlnařík

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Systémová administrace portálu Liferay

S1_P1_Technická specifikace díla 189

Rychlá obnova dat efektivně a jednoduše

O jedné metodě migrace velkých objemů dat aneb cesta ke snižování nákladů

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ TECHNOLOGIE VYSOKÉ DOSTUPNOSTI MS SQL SERVERU

Administrace a Enterprise vlastnosti. RNDr. Ondřej Zýka

Michal Hroch Server Product Manager Microsoft Česká republika

Tabulka splnění technických požadavků

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

INTEGRACE IS DO STÁVAJÍCÍ HW A SW ARCHITEKTURY

manažerského řízení HW a SW požadavky pro sw ATTIS

Specifikace předmětu zakázky

Architektura aplikací v Seznam.cz

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Novinky ve starém dobrém SQL světě OpenAlt, 2014/11/02

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Business Intelligence. Adam Trčka

průvodce správou, využitím a programováním

SW ATTIS nástroje. HW a SW požadavky pro sw ATTIS. manažerského řízení. Verze manuálu: 3.5 Datum:

Windows Server Novinky. Petr Špetlík Cloud & Server PTA

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Jak spustit provoz v DR lokalitě snadno a rychle

Administrace Enterprise vlastnosti. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Architektura DBMS. RNDr. Ondřej Zýka

Brno. 30. května 2014

SYNCHRONIZACE A REPLIKACE GEODAT V PROSTŘEDÍ ESRI PLATFORMY

Dodatečné informace k veřejné zakázce SDAT Sběr dat pro potřeby ČNB 3. série

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Instalace a konfigurace

Monitoring ArcGIS systémů Hromadné řízení ArcGIS serverů

Administrace Enterprise vlastnosti. RNDr. Ondřej Zýka

Routing & VPN. Marek Bražina

Netezza. Martin Pavlík. 2. Února to pravé řešení pro analytický datový sklad

ROZ1 - Cv. 1 - Zobrazenэ snэmku a zсklady Matlabu

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

Monitoring výkonu PostgreSQL

Virtuální datacentrum na ovirt způsob

Aktuální otázky provozu datových skladů PAVEL HNÍK

Databázové a informační systémy

Výkonnostní archeologie

Materializované pohledy

Pravdivostnэ podmэnky, redukce vznamu na pravdivostnэ podmэnky

Databázové systémy I. 1. přednáška

Statistica Enterprise

BankKlient. FAQs. verze 9.50

IW3 MS SQL SERVER 2014

Nové licencování databází Informix

P2D Život postgresového serveru bez ručních zásahů. Jakub Jedelský

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Realizace datového centra kraje Vysočina Regionální SAN kraje Vysočina

Informaní systém katastru nemovitostí eské republiky

Zajištění komplexních sluţeb pro provoz systémové infrastruktury OSMS ZADÁVACÍ DOKUMENTACE

Vladimír

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

PostgreSQL jako platforma pro datové sklady

User-Managed Backup RMAN (od v. 8.1)

Vy chráníte naše zdraví, my chráníme vaše data. Lubomír Tomány

Popis logování v aplikačním serveru

Databázové systémy úvod

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

IT 3. Projekt centrálního zálohovacího systému v ČSOB Pojišťovně. Michal Mikulík. špička v každém směru

Tonda Beneš Aplikace bezpe nostních mechanism jaro 2011

NAS 242 Aplikace AiMaster pro mobilní zařízení

PostgreSQL v prostředí rozsáhlých IPTV platforem

Databázové systémy trocha teorie

Aplikace IS, outsourcing, systémová integrace. Jaroslav Žáček

IB M Databázové platform y

Příprava k certifikaci , TS: Windows 7, Configuring

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM č. 4. Název veřejné zakázky: Obnova diskového pole. Česká republika Ministerstvo zemědělství.

<Insert Picture Here> Oracle Identity Management a jeho použití v praxi. Aleš Novák, Oracle

Monitoring kritických systémů - Case study. Tomáš Hrubý, AutoCont CZ tomas.hruby@autocont.cz

Transkript:

Replikace v PostgreSQL CSPUG, Praha Tomс Vondra (tv@fuzzy.cz) Czech and Slovak PostgreSQL Users Group 19.4.2011

Agenda кely replikace Varianty replikace Historie replikace v PostgreSQL Zabudovanс replikace Externэ nсstroje Srovnсnэ s dal эmi DB

кely replikace high-availability kсlovсnэ vkonu (read vs. write) load balancing query partitioning migrace a upgrade bez vpadku jinс verze stejnщ databсze њpln jinс databсze rychlej э pэstup pes WAN lokсlnэ kopie na pobokсch road warriors / kopie pro mobilnэ zaэzenэ

Varianty replikace master-master vs. master-slave synchronnэ vs. asynchronnэ fyzickс vs. logickс warm standby vs. hot standby zpsob implementace xlog (log file shipping vs. streaming) trigger statement-based

Master vs. slave master autoritativnэ zdroj informacэ zpracovсvс poadavky na zmny, pedсvс je dсle slave zmny se pejэmajэ z master databсze, jinak read-only v podstat jen kopie master databсze master-slave jednodu э jednosmrnс replikace read scalability master-master obousmrnс replikace - nutno e it kolize write scalability

Synchronnэ vs. asynchronnэ replikace synchronnэ commit ekс na potvrzenэ dokonenэ replikace pomalej э, ale vdy konzistentnэ jako celek asynchronnэ na dokonenэ replikace se neekс, zapэ e se jen lokсln rychlej э, ale me dojэt k nekonzistenci mezi originсlem a replikou (replika je pozadu ) semi-synchronnэ kompromis mezi spolehlivostэ a vkonem vэce replik, ekс se jen na potvrzenэ z prvnэ

Fyzickс replikace binсrnэ kopie datovch blok (xlog) masteru do XLogu zapэ e binсrnэ diff (zm byte X v bloku Y na Z) slave pete a aplikuje na bloky (v podstat recovery)

Fyzickс replikace klady minimсlnэ overhead (1%) velmi jednoduchщ na nastavenэ zсpory jen kompletnэ databсze stejnс verze DB (formсt) stejn HW (zejmщna CPU architektura) jen master-slave (nemonost e enэ konflikt)

Fyzickс replikace / Log file shipping 1 UPDATE znamenс zmnu nkolika datovch blok 2 kadс zmna generuje zсznam v transaknэm logu 3 pi zaplnnэ segmentu (16MB) se archivuje (NFS,...) 4 archivovan segment se aplikuje na slave databсzi 5 vsledkem je binсrnэ kopie

Fyzickс replikace / Streaming replication 1 UPDATE znamenс zmnu nkolika datovch blok 2 kadс zmna generuje zсznam v transaknэm logu 3 zсznamy se (asynchronn) penс э do slave databсze 4 zmny se aplikujэ 5 vsledkem je (opt) binсrnэ kopie

Warm standby vs. Hot standby warm standby databсze nastartovanс v recovery mѓdu pijэmс z master databсze zmny a aplikuje je slouэ jen pro HA - nelze se pipojit a spou tt dotazy hot standby databсze nastartovanс v read-only mѓdu lze spou tt read-only dotazy (nedostane XID)

Logickс replikace ne aplikace binсrnэch zmn bez znalosti struktury dat aplikace logickch operacэ (INSERT/UPDATE/DELETE) klady replikace jen сsti databсze (nap. jedna tabulka) replikace do jinщ verze / jinщ DB (uprage a migrace) umouje multi-master replikaci zсpory nсronj э na nastavenэ i na zdroje nutnost e enэ konflikt (specifickщ dle aplikace)

Logickс replikace / zpsoby implementace log v ech SQL / opakovanс aplikace na repliku zptnс interpretace xlog zсznam triggery proxy zachycujэcэ SQL

Replikace nenahrazuje zсlohovсnэ replikuje se v echno (vetn omyl) hacker, idiot, unit test omylem na produknэ DB DROP DATABASE, DELETE,... Zсlohujte! Zсlohujte! Zсlohujte!

Replikace v PostgreSQL Historie, souasnost a budoucnost

Historie replikace v PostgreSQL Unixovс mentalita core teamu men э flexibilnэ nсstroje, monost kombinace mnoho monostэ implementace - radji extern odpor k pidсvсnэ takovch vlastnostэ do verze 8.4 (vetn) XLog file shipping replikace + warm standby (HA) zajэmavщ externэ nсstroje (Bucardo, Londiste, slony-i,...) verze 9.0 asynchronnэ XLog streaming replikace monost hot standby verze 9.1 synchronnэ XLog streaming replikace

Zabudovanс replikace fyzickс (a)synchronnэ replikace rozpor mezi nсroky na HA a reporting (zabэjenэ queries) trochu problщm pi њmrtэ mastera (s vэce slavy)

HA vs. reporting / query cancellation high-availability cэlem je minimсlnэ delay oproti masteru (kvli failoveru) reporting dlouho bэcэ dotazy nad velkmi datovmi objemy dotaz potebuje blok kter se zmnil je zabit rychlс aplikace zmn vt э pravdpodobnost zabitэ zajэmavс nastavenэ vacuum defer cleanup age (master) hot standby feedback (standby)

HA vs. reporting / query cancellation e enэ - dva slaves, jeden pro HA a druh pro reporting

Demo 1 vytvoэme a nakonfigurujeme mastera 2 vytvoэme slave, napojэme na master 3 provedeme nco na masterovi 4 podэvсme se jak se to zpropagovalo na slave 5 zkusэme njakщ dotazy nad slave (read / write) 6 zastavэme mastera 7 provedeme failover

Demo / master postgresql.conf listen_addresses = 127.0.0.1 port = 5432 # archivnэ reim wal_level = hot_standby max_wal_senders = 10 # archivnэ reim archive_mode = on archive_command = cp %p /var/pg9/archive/%f pg hba.conf # IPv4 local connections host replication repuser 127.0.0.1/32 trust

Demo / slave postgresql.conf listen_addresses = 127.0.0.1 port = 5433 hot_standby = on recovery.conf standby_mode = on primary_conninfo = host=127.0.0.1 port=5432 user=repuser # ukonenэ recovery (touch) trigger_file = /var/pg9/failover # natenэ z archivu log restore_command = cp /var/pg9/archive/%f "%p"

Nevhody zabudovanщ replikace 1 slave je jen pro tenэ nenaplnэte si TEMP tabulku (problщm pro reporting) nenatete hodnotu ze sekvence nelze udlat standardnэ zсlohu 2 ne њpln elegantnэ monitoring lag replikace na slave se dс monitorovat pes ps vrazn se zlep э ve verzi 9.1 3 nelze dlat kaskсdu (v ichni visэ na jednom masterovi)

Externэ nсstroje typ technika M/M M/S sync async PostgreSQL 9.0 fyzickс xlog ne ano ne ano PostgreSQL 9.1 fyzickс xlog ne ano ano ano Londiste logickс triggers ne ano ne ano Bucardo logickс triggers ano ano ne ano slony-i logickс triggers ne ano ne ano pgpool-ii logickс proxy ano* ne* ano ne Postgres-XC cluster - ano ne ne ano * u proxy kategorie jako master nebo slave nemajэ њpln smysl

Londiste napsсno Skype, souсst SkyTools (i dal э nсstroje) implementovсno v Pythonu (jako skoro v e ve Skype) PgQ - vlastnэ implementace fronty jen master/slave replikace (logickс) http://wiki.postgresql.org/wiki/londiste Tutorial http://wiki.postgresql.org/wiki/skytools

Bucardo http://bucardo.org/ triggery a dщmon - implementovсno v Perlu (PL/Perl) zaloeno na LISTEN/NOTIFY transaknэ notifikace zabudovanщ pэmo do DB jednoduchс komunikace sessions pes frontu nedokсe replikovat DDL (nejsou DDL triggery) master to master - aktuсln jen dva mastery master to many slaves

pgpool-ii http://pgpool.projects.postgresql.org/ pouэvс proxy koncept (statement-based middleware) spojuje nkolik pokroilch vlastnostэ connection pooling replikace (vetn online recovery) load balancing (rozhazovсnэ queries na repliky) parallel queries (distribuovanщ tabulky) nkolik mѓd, ne vdy je mono v e (parallel vs. failover) pokud chcete HA e enэ, jsou asi jednodu э nсstroje

slony-i http://slony.info/ master-slave replikace (max. 20 subscriber) zaloeno na triggerech a C funkcэch plusy 5 let zku enostэ z provozu tщm kompletnэ e enэ (failover, provisioning,...) mэnusy fronta udсlostэ je e ena pes tabulku (nutno VACUUM) vy э overhead ne e enэ s jinak e enou frontou komplexnэ - sloitщ nastavenэ, obtэnщ e enэ problщm

Jinщ DB Oracle & MySQL

Jinщ DB / Oracle DataGuard pouэvс XLog, dva mѓdy - Redo Apply a SQL Apply Redo Apply - fyzickс replikace (= streaming replikace) SQL Apply - logickс replikace, obohacen XLog, rznс omezenэ (ne v echny objekty, ne v echny datovщ typy) Active Data Guard (dal э $) umouje hot standby Streams logickс replikace, postavenс nad Advanced Queueing obecn nсstroj pro distribuci informacэ (ne jen replikace) GoldenGate log-based logickс replikace pro heterogennэ prostedэ (Oracle, DB2, MSSQL, MySQL,...) Oracle doporuuje jako nсhradu za Streams

Jinщ DB / MySQL asynchronnэ logickс master-slave replikace (od 5.5 semi-synchronnэ) postaveno na tzv. binlogu (statement-based log) statement-based (SBR) loguje kompletnэ SQL pэkazy (kterщ zmnily data) ne v echny SQL pэkazy jsou bezpenщ row-based (RBR) logujэ se finсlnэ zmny jednotlivch сdk bezpenj э ale vt э objem dat ne SBR mixed-based (MBR) SBR nebo RBR podle typu eventu MySQL Cluster (NDB engine) - synchronnэ replikace zaloenс na 2PC (ne na binlogu)

Odkazy / obecnщ Replication @ wikipedia http://en.wikipedia.org/wiki/replication (computer science) MySQL 5.5 Replication http://dev.mysql.com/doc/refman/5.5/en/replication.html http://dev.mysql.com/doc/refman/5.5/en/replication-sbr-rbr.html http://dev.mysql.com/doc/refman/5.5/en/replication-rbr-usage.html Drizzle http://docs.drizzle.org/replication.html http://code.google.com/p/protobuf/ Oracle Data Guard http://en.wikipedia.org/wiki/oracle Data Guard Oracle Streams http://www.oracle.com/technetwork/database/features/data-integration/default-159085.html Oracle GoldenGate http://www.oracle.com/technetwork/middleware/goldengate/overview/index.html

Odkazy / PostgreSQL Replication, Clustering, and Connection Pooling http://wiki.postgresql.org/wiki/replication, Clustering, and Connection Pooling Replication solutions for PostgreSQL (Peter Eisentraut) http://www.slideshare.net/petereisentraut/replication-solutions-for-postgresql 9.0 Streaming Replication vs Slony (Steve Singer) http://scanningpages.wordpress.com/2010/10/09/9-0-streaming-replication-vs-slony/ PostgreSQL / WAL config http://www.postgresql.org/docs/current/static/runtime-config-wal.html http://developer.postgresql.org/pgdocs/postgres/runtime-config-wal.html PostgreSQL / Comparison of Different Solutions http://developer.postgresql.org/pgdocs/postgres/different-replication-solutions.html repmgr https://github.com/greg2ndquadrant/repmgr