Bi-Direction Replication

Podobné dokumenty
Synchronní replikace v PostgreSQL 9.1

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

Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant

Novinky v PostgreSQL 10 (a 11)

SSD vs. HDD / WAL, indexy a fsync

PG 9.5 novinky ve vývoji aplikací

Vladimír

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

PostgreSQL na EXT3/4, XFS, BTRFS a ZFS

Systémy pro sběr a přenos dat

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

Zotavení z chyb. Databázové systémy

Copyright 2012 EMC Corporation. All rights reserved.

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

BigData. Marek Sušický

Použití PostgreSQL v. P2D Martin Swiech

Výkonnostní archeologie

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Souborové systémy a práce s daty David Antoš

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

Společnost repostor by ráda snížila vaše TCO

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

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Copyright 2012 EMC Corporation. All rights reserved.

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

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

Administrace Oracle Práva a role, audit. Kukhar Maria

František Kysela SE Datacenter

PostgreSQL na EXT3/4, XFS, BTRFS a ZFS

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Měřící systém se vzdáleným přístupem. Databáze

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

PostgreSQL jako platforma pro datové sklady

Jak spustit provoz v DR lokalitě snadno a rychle

NPRG051 Pokročilé programování v C /17 Úkol 2

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

INDEXY JSOU GRUNT. Pavel Stěhule

Instalace a konfigurace

Administrace Oracle - Správa zdrojů

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o.

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

Administrace Oracle. Práva a role, audit

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Databáze II. 1. přednáška. Helena Palovská

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS pavel@blahovec.cz

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

Databázové systémy Cvičení 5.2

Datová úložiště v roce 2017 aneb jak si vybrat to správné?

Vmware / XEN / Hyper-V. DR Lokalita. Full repliky. Snapshoty

Databáze I. 1. přednáška. Helena Palovská

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

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

Monitoring SQL Server, Resource Governor, Tracing SQL Server

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Komerční ETH služby. Ing. Martin Ťupa, Radek Kocian SSIPF Brno.

PL/pgSQL. Pavel

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

Radim Dolák Gymnázium a Obchodní akademie Orlová

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

Počítačové síťě (computer network) Realizují propojení mezi PC z důvodu sdílení SW (informací, programů) a HW(disky, tiskárny..)

Databáze I. 5. přednáška. Helena Palovská

Projekt 7006/2014 SDAT - Sběr dat pro potřeby ČNB. Návrh realizace řešení

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

Osnova dnešní přednášky

OGC GeoPackage nový formát pro výměnu prostorových dat. Jáchym Čepický OpenGeoLabs s.r.o. GIVS 2018

Rychlá obnova dat efektivně a jednoduše

Sériové komunikace KIV/PD Přenos dat Martin Šimek

Komunikace systémů pomocí Hradec Králové

TCK a komunikační infrastruktura Karlovarského kraje Současný stav. Petr Kulda Karlovarský kraj

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře

Synchronizace a replikace geodat v prostředí Esri platformy

Hyperkonvergovaná řešení jako základní stavební blok moderního IT

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

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

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

Databázová řešení IBM

Databázové systémy. Cvičení 6: SQL

Jak ušetřit místo a zároveň mít data snadno dostupná. David Turoň

STORAGE SPACES DIRECT

České Budějovice. 2. dubna 2014

Wonderware Historian 10.0

» STORAGE A SERVERY ABACUS Jan Petrák jp@abacus.cz

MASSIV. Middleware pro tvorbu online her

Martin Moravec Run Rate Program Leader

6. SQL složitější dotazy, QBE

ČÁST III. zadávací dokumentace technické podmínky ČÁST 1 veřejné zakázky

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Konzistentnost. Přednášky z distribuovaných systémů

Nastavení propojení s eshopem

Active Directory Replikace, hlavní operační servery, topologie

PostgreSQL upgrade včera, dnes a zítra. Zdeněk Kotala Revenue Product Engineer Sun Microsystems

Specifikace předmětu veřejné zakázky

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

Elektronizace správních řízení a jejich příprava na základní registry

Serverové systémy Microsoft Windows

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

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

1 Technická specifikace Datového centra

Transkript:

Bi-Direction Replication P2D2 2015 Petr Jelínek, 2ndQuadrant (petr@2ndquadrant.com)

BDR Bi-Directional Replication Je možné zapisovat na všech serverech Asynchronní Nízká latence (zápisu) Tolerance ke krátkodobým výpadkům DDL je replikováno transparentně Mohou nastat konflikty, celý cluster je eventuálně konzistentní

Základní stavební kameny BDR Relativně snadné nastavení Stabilita Malý overhead Snadný failover/failback stačí se prostě připojit na jiný server Geograficky distribuované databáze Upgrade major verzí bez výpadku

Výkon 2 x i2.4xlarge Intel Xeon E5-2670 v2 122GB RAM 4x800GB SSDs Raid 0 Minimální změny v konfiguraci PostgreSQL pgbench scale 50, -c 32 -j 32

Objem WAL 40 35 30 MB WAL/10000 TX 25 20 15 10 WAL Primary WAL Standby 5 0 Hot Standby BDR Londiste Slony Bucardo

Propustnost transakcí 16000 14000 12000 10000 8000 TPS primary 6000 4000 2000 0 HS BDR Slony Londiste Bucardo

Latence transakcí 8 7 6 5 ms 4 Avg Latency 3 2 1 0 HS BDR Slony Londiste Bucardo

TPS se zpožděním replikace maximálně 2s 30000 25000 20000 15000 TPS 10000 5000 0 HS BDR Londiste Slony Bucardo

Příklad Severní Amerika Node NA 1 Node NA 2 Node EUR 1 Evropa Node EUR 2

Příklad - detail Spojení s NA-2 Spojení s NA-1 Spojení s EUR-1 Node EUR 2 Streaming Replication Node EUR 2 HS PITR, Barman,......

Základní konfigurace Server1: CREATE EXTENSION bdr; bdr.bdr_group_create('hostname=host1 dbname=db'); Server2..N: CREATE EXTENSION bdr; bdr.bdr_group_join('hostname=host2 dbname=db', 'hostname=host1 dbname=db');

Selektivní replikace Každá tabulka může být v jednom či více replikačních setech: SELECT bdr.table_set_replication_sets('tbl_ab', '{replicate-to-a,replicate-to-b}'); SELECT bdr.table_get_replication_sets('tbl_ab'); ------------------------------------- {replicate-to-a,replicate-to-b,all} BDR obsahuje předdefinované sety 'all' a 'default'

Selektivní replikace Každý server může mít jiný seznam setů které ho zajímají: bdr.bdr_group_join('hostname=host2 dbname=db', 'hostname=host1 dbname=db', replication_sets := '{replicate-to-a,replicate-to-b}'); Výsledkem je UNION tabulek v daných setech

Prevence konfliktů Globální sekvence Každý server dostane přidělenou množinu hodnot Zápis replikovaných dat používá UPSERT logiku

Možnosti řešení konfliktů Vestavěná funkce poslední změna vyhrává Uživatelsky definované funkce pro řešení konfliktů Jakýkoli procedurální jazyk Různé druhy konfliktů Různé možnosti řešení: Skip, Keep Local, Keep Remote, Returned Tuple, Error Možnost zapisovat konflikty včetně dat do tabulky

DDL replikace Transparentní, stačí prostě spustit DDL DDL manipulující s globálními objekty serveru nejsou replikovány CREATE/ALTER/DROP DATABASE/USER/TABLESPACE Některé příkazy nejsou povolené ALTER TABLE ALTER COLUMN USING(); ALTER COLUMN ADD COLUMN DEFAULT; GRANT/REVOKE je aplikován pouze na lokální server (není replikován)

Další užitečné vlastnosti Synchronní replikace (stejný princip jako u HS) Servery mohou být inicializovány pomocí pg_basebackup Servery mohou být inicializovány pomocí paralelního pg_dump/restore Zpožděná replikace

Vhodné použití BDR Většina dat je modifikována na jednom serveru Aplikace je připravena na konflikty a jejich řešení INSERT-only databáze Geograficky distribuovaná databáze

Nevhodné použití BDR Nutnost okamžité a absolutní konzistence dat Aplikace, které nebyly napsané pro multimaster BDR není řešení pro neomezené škálování zápisu

Změny v PostgreSQL pro BDR Patche pro PostgreSQL 9.3, 9.4: Background Workers (9.3, 9.4) Event Triggers (9.3) Logical Decoding (9.4) Vlastní patche nad PostgreSQL 9.4: DDL deparse Sequence AM Replication Identifiers, Wal Messages, Commit Timestamps

Patche?!? Všechny vlastní patche jsou v procesu začlenění do Postgresu Všechny patche mají PostgreSQL licenci BDR PostgreSQL vychází společně s oficiálním PostgreSQL Dlouhodobě neplánujeme udržovat fork, ale chceme dostat všechny změny do PostgreSQL

Bez patchů - UDR Uni-Directional Replication Extenze pro 9.4, nevyžaduje žádné další patche Rychlejší náhrada za řešení jako londiste/slony Replikace z více serverů na jeden server

UDR Umí vše co BDR kromě: Nepodporuje multi-master Nepodporuje transparentní DDL replikaci bdr.bdr_replicate_ddl_command Nemá globální sekvence Mírně větší overhead na slave serveru

UDR - konfigurace Master: CREATE EXTENSION bdr; Standby: CREATE EXTENSION bdr; bdr.bdr_subscribe('hostname=host1 dbname=db', 'hostname=host2 dbname=db');

BDR vs. UDR Multimaster Transparentní DDL replikace BDR Globální sekvence Replikace mezi verzemi Logická replikace UDR Malý overhead Synchronní replikace Core Postgres Replikace transakcí v pořadí commitu

Budoucnost BDR Možnost filtrovat jednotlivé akce pro individuální tabulky (INSERT/UPDATE/DELETE) Plně synchronní replikace (bez konfliktů) Komplexní topologie (nejen mesh)

Užitečné odkazy http://2ndquadrant.com/bdr http://wiki.postgresql.org/wiki/bdr_user_guide git://git.postgresql.org/git/2ndquadrant_bdr.git bdr-plugin/stable aktuální stable verze bdr-plugin/next aktuální vývojová verze bdr-pg/rel9_4_stable opatchovaný Postgres 9.4 Otázky pro 2ndquadrant: bdr@2ndquadrant.com Otázky o použití: pgsql-general@postgresql.org