Relační databázový systém PostgreSQL je pokročilý systém podnikové třídy s otevřeným zdrojovým kódem, který podporuje dotazování SQL (relační) i JSON (nerelační).
PostgreSQL je vysoce stabilní databáze podporovaná více než 20letým vývojem open-source komunitou.
PostgreSQL se používá jako primární databáze pro mnoho webových aplikací i pro mobilní a analytické aplikace.
Proč použít PostgreSQL?
PostgreSQL přichází s mnoha funkcemi, které pomáhají vývojářům vytvářet aplikace, správcům chránit integritu dat a vytvářet prostředí odolná proti chybám a pomáhají vám spravovat data bez ohledu na to, jak velká nebo malá je datová sada.
Kromě toho, že je PostgreSQL bezplatný a open-source, je také velmi rozšiřitelný. Můžete například definovat své vlastní datové typy, vytvářet vlastní funkce, dokonce psát kód z různých programovacích jazyků, aniž byste museli překompilovat svou databázi!
Ukázalo se, že PostgreSQL je vysoce škálovatelný jak v množství dat, která může spravovat, tak v počtu souběžných uživatelů, které dokáže pojmout. V produkčních prostředích jsou aktivní PostgreSQL clustery, které spravují mnoho terabajtů dat, a specializované systémy, které spravují petabajty.
PostgreSQL cluster ve vysoké dostupnosti, jak to funguje?
PostgreSQL nabízí více možností replikace vašich dat. Představíme vám replikace dat pomocí WAL (Write Ahead Logging), což je standardní metoda pro zajištění integrity dat.
Pomocí WAL jsou k dispozici dva režimy replikace. Asynchronní replikace (streamování) a synchronní replikace.
PostgreSQL HA (High Availability) cluster se skládá z tzv. „Leader“ uzlu a 1 nebo více tzv. „Replica“ uzlů.
Asynchronní replikace
Tato metoda replikuje transakci, pokud existuje Replica uzel, do kterého se může replikovat. Pokud není k dispozici žádný Replica uzel, transakce se uloží na disk pro pozdější provedení replikace.
Když je k dispozici Replica uzel, jakákoli transakce, která nebyla replikována, bude automaticky replikována na Replica uzel.
Synchronous replication
Tato metoda vyžaduje, aby existoval alespoň jeden Replica uzel, na který lze replikovat. Pokud není k dispozici žádný Replica uzel, transakci nelze replikovat a žádné další transakce nebudou zapsány, a to ani na Leader uzel.
Tímto způsobem je zajištěno, že nedojde ke ztrátě dat, protože každá transakce je replikována a okamžitě zkontrolována.
V tomto scénáři se doporučuje více než 1 Replica uzel z důvodu potenciálního zastavení transakcí.
Autor: Patrik Plincner
CZ – asynchronní mód, délka videa 6:02
EN – asynchronous mode, video length 6:19
CZ – synchronní mód, délka videa 6:59
EN – synchronous mode, video length 6:11