Zpět na domů

MySQL řešení v PostgreSQL: architektura Polar pro vysoký výkon

Technická analýza integrace MySQL řešení do PostgreSQL prostřednictvím architektury Tantor Polar. Rozbor implementace oddělení compute a storage s využitím RDMA a NVMe-oF. Srovnání s Oracle RAC a dalšími řešeními.

Inovace od Tantor: jak optimalizace MySQL zrychlují PostgreSQL
Advertisement 728x90

# Integrace řešení MySQL do PostgreSQL: architektonické inovace pro vysoký výkon

Na konferenci PG BootCamp 2026 Alexej Kopytov (autor sysbench a bývalý vývojář MySQL AB/Percona) představil přednášku o přenosu optimalizací z ekosystému MySQL do PostgreSQL. Klíčové teze – využití osvědčených řešení pro zvýšení odolnosti vůči výpadkům a výkonu PostgreSQL v podmínkách vysoce zatížených systémů. Zvláštní zájem vzbuzuje realizace technologie oddělení compute a storage, adaptovaná týmem Tantor na základě Alibaba PolarDB.

Hlavní výhoda přístupu – zachování plné kompatibility s PostgreSQL při výrazném zvýšení propustnosti. Na rozdíl od šardinování nebo distribuovaných řešení (Citus, Greenplum), architektura Tantor Polar umožňuje zpracovávat cross-shardové dotazy bez ztráty ACID záruk, což je kritické pro OLTP systémy.

Klasifikace architektonických řešení pro SÚBD

Alexej Kopytov navrhl jasnou klasifikaci stávajících přístupů k oddělení výpočetních a úložištních uzlů:

Google AdInline article slot
  • Šardování a MPP systémy (Greenplum, Citus): oddělení na úrovni SQL parseru. Problém – absence konzistence na úrovni jediného okamžiku času (xid/SCN)
  • Distribuované transakční SÚBD (Spanner, YugabyteDB): zpracování transakcí na storage uzlech
  • Architektury „LOG is DB“ (Amazon Aurora, Neon): priorita žurnálu změn, zpracování WAL na storage
  • Polar architektura (Tantor Polar): oddělení přímo nad storage vrstvou

Klíčové odlišení přístupu Polar – minimalizace změn v jádru PostgreSQL. Všechny optimalizace jsou realizovány na úrovni souborového systému (PolarFS), což umožňuje:

  • Zachovat 100% kompatibilitu se stávajícími aplikacemi (včetně 1C)
  • Vyhnout se invazivním úpravám v core PostgreSQL
  • Zajistit práci se stávajícími nástroji pro zálohování

Architektura Tantor Polar: technická realizace

Systém je postaven na třech klíčových komponentách:

  • PolarFS – vysoce výkonný souborový systém nad RDMA/NVMe-oF
  • RDMA síť – pro komunikaci mezi compute a storage uzly
  • Modifikovaný PostgreSQL – s minimálními změnami v I/O podsystému

Peculiarita realizace – využití Linux MD Cluster jako základní vrstvy pro bloková zařízení. Toto řešení zajišťuje:

Google AdInline article slot
  • Zpoždění přístupu k datům srovnatelné s lokálním SSD (5-10 μs)
  • Průhledné škálování compute uzlů nezávisle na storage
  • Podporu režimu Active-Active pro RW uzly

Důležité je, že PolarFS funguje přes standardní POSIX rozhraní, což vylučuje nutnost modifikace jádra PostgreSQL. Všechny změny jsou soustředěny v ovladači souborového systému, což výrazně zjednodušuje apstreamování a podporu.

Srovnání s Oracle RAC a dalšími řešeními

Ačkoli koncepčně je Polar podobný Oracle RAC, rozdíly jsou podstatné:

  • Protokol přenosu dat: Polar využívá NVMe-oF nad RDMA, RAC – proprietární protokol
  • Úroveň oddělení: v Polar dochází k oddělení na úrovni souborového systému, v RAC – na úrovni ASM
  • Otevřenost kódu: PolarFS bude zveřejněn jako open source, na rozdíl od ASM

Zvláštní pozornost si zaslouží realizace RDMA. Rané pokusy (v PostgresPro 10-11) vyžadovaly hlubokou modifikaci jádra PostgreSQL. Tantor realizoval neinvazivní přístup přes ovladač souborového systému, což umožnilo:

Google AdInline article slot
  • Odstranit problém asymetrických zpoždění přístupu
  • Zajistit stejný výkon pro všechny compute uzly
  • Zachovat standardní mechanismus zpracování WAL

Co je důležité

  • Kompatibilita bez kompromisů: Tantor Polar podporuje všechny funkce PostgreSQL, včetně složitých JOIN a transakcí
  • Výkon RDMA: zpoždění na úrovni lokálního SSD (5-10 μs) při práci přes síť
  • Škálovatelnost: compute a storage se škálují nezávisle
  • Otevřenost: PolarFS bude dostupný pod open-source licencí
  • Průmyslová připravenost: řešení je již používáno v XData Gen.3 s konfigurací 3 storage + N compute uzlů

Technické detaily realizace

Klíčové komponenty architektury:

// Příklad integrace RDMA do I/O podsystému
static int polarfs_submit_io(struct io_request *req) {
    if (use_rdma) {
        return rdma_send(req->buffer, req->length);
    }
    return posix_write(req->fd, req->buffer, req->length);
}

Optimalizace jsou soustředěny ve třech oblastech:

  • Správa bufferů: cachování metadat na compute uzlech
  • Zpracování WAL: asynchronní odesílání přes RDMA s potvrzením
  • Lock manažer: distribuovaná realizace bez single point of failure

Zvláštní pozornost je věnována zpracování edge cases:

  • Obnova po přerušení RDMA spojení
  • Zpracování asymetrických síťových zpoždění
  • Záruka atomaritu operací zápisu

Experimenty ukázaly, že při použití PolarFS:

  • Propustnost se zvyšuje o 35-40 % při vysoké zátěži
  • percentil zpoždění klesá 2,3násobně
  • Maximální počet transakcí za sekundu roste o 28 %

Závěr

Přístup Tantor demonstruje, jak přenos řešení mezi ekosystémy SÚBD může přinášet významné výhody. Klíčový úspěch – minimální invazivnost změn a zaměření na kompatibilitu. Architektura Polar otevírá nové možnosti pro škálování PostgreSQL v podmínkách, kde dříve byly potřeba radikální změny aplikace nebo přechod na NoSQL řešení.

Důležité je, že realizace nevyžaduje specializované hardware – stačí podpora RDMA a NVMe-oF na síťové úrovni. To činí řešení dostupným pro širokou škálu organizací, které čelí růstu zátěže na stávající PostgreSQL klastry.

— Editorial Team

Advertisement 728x90

Číst dál