Jak zatrudnić słonie do replikacji baz PostgreSQL



Podobne dokumenty
Jak zatrudnić słonie do replikacji baz PostgreSQL?

Słonie pracują w stadzie

Klastrowanie bazy IBM DB2. Adam Duszeńko

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

POSTGRESQL PRAKTYCZNE PODEJŚCIE

10 cool things about PostgreSQL Przemysław Deć Linux Polska Sp z o.o.

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

DBPLUS Data Replicator Subtitle dla Microsoft SQL Server. dbplus.tech

BAZA DANYCH SIECI HOTELI

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

SAP BASIS Architektura systemu klient Server

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

Użytkownicy, uprawnienia, role w SQL Server (W oparciu o SQL Server 2008R2 Books Online)

Migracja Comarch ERP Altum Business Intelligence do wersji

Instrukcja instalacji aplikacji PlanSoft.org

Instalacja i konfiguracja serwera IIS z FTP

Rozwiązania bazodanowe EnterpriseDB

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Produkty Tivoli dla każdego Wybrane przykłady wdrożeń

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

SQL Server. Odtwarzanie baz danych.

Bazy Danych i Usługi Sieciowe

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików...

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Oracle PL/SQL. Paweł Rajba.

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Administracja i programowanie pod Microsoft SQL Server 2000

Instrukcja instalacji aplikacji Plansoft.org

Bazy danych i usługi sieciowe

Program kadrowo płacowy - wersja wielodostępna z bazą danych PostgreSQL 8.1

Dokumentacja instalacyjna i konfiguracyjna Aplikacja ADR. Wersja dokumentu 1.0. Strona 1/9

VMware View: Desktop Fast Track [v5.1] Dni: 5. Opis: Adresaci szkolenia

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Uprawnienia, role, synonimy

Charakterystyka sieci klient-serwer i sieci równorzędnej

dziennik Instrukcja obsługi

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Projektowanie systemów baz danych

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Microsoft SQL Server 2012 Krok po kroku

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Graffiti SQL REPLIKACJA DANYCH: KONFIGURACJA. ZMIANA WERSJI CZĘŚĆ 1 REPLIKACJA DANYCH: KONFIGURACJA... 2

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Architektura i mechanizmy systemu

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

Database Connectivity

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Zasady współpracy programu Doradca Handlowy z Symfonią

BIG SISTER SYSTEM MONITORINGU SIECI DLA LINUX/UNIX I WINDOWS. Michał (traq) Żuchowski. traq@shl.pl

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 10g

Rozwiązania internetowe iplanet

Administracja i programowanie pod Microsoft SQL Server 2000

PlateSpin Protect Dariusz Leonarski Starszy konsultant Novell Sp. z o.o.

Ochrona i przywracanie sprawności obciążeń serwerowych po awarii

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

SQL Server Łukasz Łysik 21 października 2008

SIECIOWE. mgr inż. Adam Mencwal Katedra Informatyki Stosowanej.

Przewidywanie Nieprzewidywalnego Sybase w środowiskach wysokiej dostępności. Jak wykorzystać technologie do budowy centrum zapasowego.

Win Admin Replikator Instrukcja Obsługi

Moduł Replikacji. Instrukcja użytkownika

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

Problemy techniczne SQL Server

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Jak przenieść bazę danych na zdalny serwer?

Problemy techniczne SQL Server

SVN sojusz, partnerstwo, współpraca

PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2

Ochrona Danych Wrocław 7 marzec 2007

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Instalacja postgresa wersja step by step. 1. Dla nowego systemu, na którym nie było wcześniej instalowanych postgresów

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Replikacja kolejkowa (Q-replication) w IBM DB2

Migracja do PostgreSQL za pomocą narzędzi Enterprise DB

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Administracja i programowanie pod Microsoft SQL Server 2000

Dni: 5. Opis: Adresaci szkolenia. Kurs jest przeznaczony dla:

Program szkolenia: Administracja SQL Server

Cele. Definiowanie wyzwalaczy

1 Zaznacz poprawne stwierdzenia dotyczące grup plików 6 Zaznacz poprawne stwierdzenia dotyczące transakcji w MS (filegroup) SQL

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Ćwiczenia 2 IBM DB2 Data Studio

Transkrypt:

<civic@bialek.org> Jesień Linuksowa 2007, 22 września

O projekcie... system replikacji danych dla PostgreSQL rozwijany od 2004 roku Open Source Licencja BSD Jan Wieck@Afilias... i inni aktualna seria 1.2.x dla PostgreSQL 7.4 do 8.3 (PostgreSQL 7.3 - tylko slony 1.1.x)

Różne podejścia do replikacji synchroniczna asynchroniczna pojedyncze źródło danych wiele źródeł danych jeden lub wiele odbiorców Slony-I asynchroniczna, jedno źródło, wielu odbiorców Slony-II synchroniczna, wiele źródeł, wielu odbiorców

Różne podejścia do replikacji synchroniczna asynchroniczna pojedyncze źródło danych wiele źródeł danych jeden lub wiele odbiorców Slony-I asynchroniczna, jedno źródło, wielu odbiorców Slony-II synchroniczna, wiele źródeł, wielu odbiorców

Terminologia Klaster (Cluster) Węzeł (Node) Zbiór (Set) Źródło (Origin) Dostawca (Provider) Subskrybent (Subscriber)

Ważne cechy prawie wiele źródeł jeden węzeł jednocześnie źródłem i subskrybentem odseparowane struktury danych w osobnym schemacie separacja możliwy więcej niż jeden klaster różne wersje PostgreSQL w klastrze Linux, Windows, AIX, Solaris, *BSD tryb log shipping replikacja kaskadowa praca na wolnych i niepewnych łączach (WAN) skalowalność, wydajność

Ograniczenia tylko jedno źródło dla zbioru źródło dostęp RW, reszta dostęp RO brak replikacji DDL siłowa replikacja sekwencji wydajnosc, praktyczne ograniczenie ilosciowe, ale czy musza byc replikowane brak replikacji BLOBów ograniczenia ilościowe i wydajnościowe brak monitoringu działania silnika/slony brak przełączania połączeń klientów

Przykłady zastosowań grupa serwerów dla rozłożenia obciążenia udostępnienie kopii danych w trybie do odczytu zapasowe serwery tymczasowe przeniesienie pracy bazy na inny serwer online owy backup przyrostowe aktualizacje kopii bazy oparte na trybie log shipping

Przykładowy klaster

Narzędzia slonik perl tools pgadmin monitoring, proxy dla połączeń

Jak to działa standardowe możliwości PostgreSQL procedury w C i PL/PGSQL triggery struktura danych tabele, widoki, sekwencje program slonik daemon slon

Instalacja bez zakłócania pracy konfiguracja (i zmiany) w locie kompilacja./configure --with-perltools --with-docs LANG=C gmake gmake install

Przygotowanie węzłów create user slony superuser połączenia z PostgreSQL po TCP/IP - postgresql.conf, pg hba.conf, firewall create language plpgsql przenieść schematy replikowanych struktur danych (pg dump -s)

Najprostsza konfiguracja

Plik z definicjami - projekt1.slonik # nazwa klastra cluster name = projekt1; # nazwy symboliczne - identyfikatory węzłów define patek_db1 1; define floyd_db2 2; # połączenia define patek_db1_conn dbname=db1 host=patek user=slony ; define floyd_db2_conn dbname=db2 host=floyd user=slony ; node @patek_db1 admin conninfo = @patek_db1_conn; node @floyd_db2 admin conninfo = @floyd_db2_conn;

Utworzenie klastra slonik <<_EOF_ include <projekt1.slonik> init cluster ( id = @patek_db1, comment = wezel1 ); store node ( id = @floyd_db2, comment = wezel2 ); store path (client = @patek_db1, server = @floyd_db2, conninfo = @floyd_db2_conn); store path (client = @floyd_db2, server = @patek_db1, conninfo = @patek_db1_conn); _EOF_

Uruchomienie klastra slonik utworzył schematy projekt1 slon dokończy replikując konfigurację uruchamiamy procesy: slon -d1 projekt1 \ host=patek dbname=db1 user=slony slon -d1 projekt1 \ host=floyd dbname=db2 user=slony usunięcie struktur: drop schema _project1 cascade;

Tworzenie zestawu slonik <<_EOF_ include <projekt1.slonik> create set (id = 1, origin = @patek_db1, comment = zbior1 ); set add table (id = 1, set id = 1, origin = @patek_db1, fully qualified name = public.tab1, comment = ); set add table (id = 2, set id = 1, origin = @patek_db1, fully qualified name = public.tab2, comment = ); set add sequence (id = 1, set id = 1, origin = @patek_db1, fully qualified name = public.tab1_id_seq, comment = );

Tworzenie zestawu czy się udało: SELECT * from _projekt1.sl_set; (...) db1=# \d tab1 (...) Triggers: _projekt1_logtrigger_1 AFTER INSERT (...)

Subskrypcja slonik <<_EOF_ include <projekt1.slonik> subscribe set (id = 1, provider = @patek_db1, receiver = @floyd_db2, forward = no); wait for event (origin = @floyd_db2, confirmed = @patek_db1); sync (id = @patek_db1); wait for event (origin = @patek_db1, confirmed = @floyd_db2); _EOF_

Zamiana ról Switchover slonik <<_EOF_ include <projekt1.slonik> lock set (id = 1, origin = @patek_db1); wait for event (origin = @patek_db1, confirmed = @floyd_db2); move set (id = 1, old origin = @patek_db1, new origin = @floyd_db2); wait for event (origin = @patek_db1, confirmed = @floyd_db2); _EOF_

I wracamy... slonik <<_EOF_ include <projekt1.slonik> lock set (id = 1, origin = @floyd_db2); wait for event (origin = @floyd_db2, confirmed = @patek_db1); move set (id = 1, old origin = @floyd_db2, new origin = @patek_db1); wait for event (origin = @floyd_db2, confirmed = @patek_db1); _EOF_

Awaria failover slonik <<_EOF_ include <projekt1.slonik> failover (id = 1, backup node = @floyd_db2); drop node (id = @patek_db1, event node = @floyd_db2); _EOF_

Inne przydatne polecenia slonika MERGE SET STORE TRIGGER EXECUTE SCRIPT DROP...

Dziękuję za uwagę...