Bol uvoľnený distribuovaný databázový systém Citus 13.0

Spoločnosť Citus Data, ktorá patrí Microsoftu, zverejnila distribuovanú databázu Citus 13.0, implementovanú ako rozšírenie pre PostgreSQL 17. Citus zabezpečuje horizontálne škálovanie PostgreSQL v clustre na základe štandardného hardvéru a umožňuje rozloženie dát po uzloch prostredníctvom shardovania s nastavením delenia na úrovni stĺpcov a schémy ukladania. Pre aplikácie vyzerá klaster Citus ako jeden veľký server PostgreSQL, ktorý spája zdroje jeho uzlov. Kód je napísaný v jazyku C a je distribuovaný pod licenciou AGPLv3.

Shardovanie umožňuje organizovať ukladanie veľmi veľkých objemov dát, ktorých celková veľkosť výrazne presahuje lokálne úložiská každého z uzlov klastra. Samostatné tabuľky môžu byť nútene replikované na všetky uzly na urýchlenie vykonávania operácií zlúčenia a práce s externými kľúčmi. Pre úsporu diskového priestoru môžu byť distribuované dáta uložené v komprimovanej forme.

Distribuované dotazy môžu byť zasielané na ktorýkoľvek z uzlov klastra, ale správa a zmeny schémy údajov by sa mali vykonávať iba prostredníctvom uzla, ktorý koordinuje prácu klastra. Požiadavky od klientov sú rozdeľované na potrebné uzly a ak pokrývajú niekoľko uzlov, ich spracovanie je paralelizované. Klaster je možné rozšíriť v závislosti od rastu objemu uložených dát pridaním ďalších uzlov a iniciovaním rebalance.

Ako typické príklady použitia Citus sa uvádza vykonávanie analytických dotazov a spracovanie veľkých objemov dát vo forme časového radu (napríklad logy alebo dotaz na stav senzorov). Citus je tiež vhodný na modernizáciu existujúcej infraštruktúry založenej na jednotlivom servera PostgreSQL, ktorého výkon a úložiská prestali postačovať z dôvodu zvyšovania zaťaženia alebo objemu prichádzajúcich dát. S pomocou nástroja Patroni je možné vytvárať vysoko dostupné konfigurácie s replikovanými záložnými uzlami, schopnými v prípade zlyhania zaberé miesto hlavných uzlov.

Zmeny v vydaní Citus 13.0:

  • Prechod na používanie vetvy PostgreSQL 17.
  • Možnosť použitia v distribuovaných požiadavkách funkcie JSON_TABLE() na transformáciu údajov z formátu JSON do relačného zobrazenia, s ktorým je možné pracovať ako s bežnými tabuľkami PostgreSQL.
  • Podpora syntaxe „MERGE … WHEN NOT MATCHED BY SOURCE“.
  • Možnosť určiť metódu prístupu pre distribuované rozdelené tabuľky pomocou výrazu „CREATE TABLE … USING“, ako aj zmeny metódy prístupu cez „ALTER TABLE … SET ACCESS METHOD“.
  • Pridaná podpora pre určovanie v distribuovaných rozdelených tabuľkách automaticky generovaných stĺpcov identifikácie.
  • Povolené použitie obmedzení-exklúzií v distribuovaných rozdelených tabuľkách.
  • Riešené problémy so synchronizáciou rolí medzi uzlami.
  • Zlepšené rozdeľovanie údajov pre shardovanie pri pridávaní nových uzlov do klastre.
  • Do príkazu „EXPLAIN“ boli pridané možnosti „MEMORY“ a „SERIALIZE“, pomocou ktorých je možné určiť veľkosť použitej pamäte a čas strávený na transformácii údajov na prenos cez sieť.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster