Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

HQbird 2024R2 Update 10 - podrobnosti o novinkách

Co je nového v HQbird 2024R2 Update 10

Materializované pohledy (Nová funkce v 5.0)

HQbird nyní obsahuje plnou podporu pro Materializované pohledy - nový typ databázového objektu, který kombinuje definici pohledu s fyzickým uložením běžné tabulky.

Přehled

Materializovaný pohled (MV) je definován pomocí standardního SQL dotazu, který engine používá k naplnění podkladové tabulky MV datovými řádky. Na rozdíl od běžných pohledů jsou data MV trvale uložena na disku a mohou být indexována. Příkazy DML (INSERT, UPDATE, DELETE) nejsou na MV přímo povoleny - data musí být aktualizována pomocí nového příkazu REFRESH.

Vytváření a správa materializovaných pohledů

  • CREATE [OR ALTER] MATERIALIZED VIEW - vytvoří nebo nahradí MV s volitelným počátečním načtením dat (WITH DATA / WITH NO DATA).
  • ALTER MATERIALIZED VIEW - upraví definici MV; automaticky odstraní všechny existující indexy.
  • RECREATE MATERIALIZED VIEW - odstraní jakýkoli existující pohled (běžný nebo materializovaný) se stejným názvem a vytvoří nový MV.
  • DROP VIEW - používá se k odstranění materializovaného pohledu (neexistuje samostatný příkaz DROP MATERIALIZED VIEW).
  • Na MV lze vytvářet indexy jakéhokoli druhu. Omezení a triggery nejsou podporovány.

Převod mezi typy pohledů

  • ALTER MATERIALIZED VIEW ... TO NOT MATERIALIZED - převede MV na běžný pohled. Všechny indexy a data jsou odstraněny.
  • ALTER VIEW ... TO MATERIALIZED - převede běžný pohled na materializovaný pohled. Závislé objekty nejsou ovlivněny.

Obnovování dat materializovaného pohledu

Nový příkaz REFRESH MATERIALIZED VIEW aktualizuje obsah MV. Jedná se o příkaz DDL - provedení je odloženo až do potvrzení aktuální transakce. Jsou k dispozici čtyři režimy:

  • Plné znovunačtení (exkluzivní režim) - REFRESH MATERIALIZED VIEW

    • Deaktivuje indexy, odstraní všechna existující data, znovu načte z dotazu MV, reaktivuje indexy.
    • Nejrychlejší volba, když se změnilo mnoho řádků.
    • Vyžaduje exkluzivní zámek na tabulce MV.
    • Při chybě načítání dat: nově načtená data jsou odstraněna, indexy jsou reaktivovány jako prázdné.
    • Při chybě aktivace indexu: dotčený index zůstane neaktivní; data a ostatní indexy nejsou ovlivněny. Chyby při vytváření indexu jsou hlášeny jako upozornění.
  • Souběžná aktualizace - REFRESH MATERIALIZED VIEW CONCURRENTLY

    • Není vyžadován exkluzivní zámek - souběžné dotazy na MV jsou během obnovy povoleny.
    • Používá slučovací algoritmus se dvěma seřazenými kurzory: jeden pro aktuální data MV, druhý pro výsledky dotazu MV.
    • Vkládá nové řádky, aktualizuje změněné řádky, odstraňuje odebrané řádky - vše pod kontrolou transakce.
    • Vyžaduje unikátní index na MV.
    • Preferováno, když je potřeba souběžný přístup nebo když se od posledního obnovení změnilo málo řádků.
    • Poznámka: pokud dotaz MV obsahuje ORDER BY, pořadí řádků nemusí být po souběžném obnovení zachováno.
  • Smazání všech dat - REFRESH MATERIALIZED VIEW DROP DATA

    • Odstraní všechna data MV a obsah indexů. Užitečné pro uvolnění místa na disku. Vyžaduje exkluzivní zámek.
  • Kaskádové obnovení - připojte CASCADE k libovolné z výše uvedených forem

    • Obnoví všechny MV, na kterých daný MV závisí, ve správném pořadí závislostí.
    • Každý MV je zpracován pouze jednou.
    • CONCURRENTLY CASCADE vyžaduje, aby všechny dotčené MV měly unikátní index.
    • DROP DATA CASCADE odstraní data všech dotčených MV.
    • Názvy dotčených MV a pořadí obnovení jsou hlášeny jako upozornění ve stavovém vektoru před potvrzením.

Zálohování a obnova (gbak)

  • Záloha: data MV nejsou uložena v záložním souboru, stejně jako u běžných pohledů - není vyžadováno žádné speciální zpracování.
  • Obnova: všechny MV jsou automaticky obnoveny na konci procesu obnovy, ve správném pořadí závislostí.
  • Nový přepínač gbak -NO_MATVIEWS (lze zkrátit na -NO_M) - přeskočí obnovení MV během obnovy.
  • Odpovídající volba Services API: isc_spb_res_no_matviews.
  • Důležité: záloha obsahující MV nemůže být obnovena na verzi Firebird, která MV nepodporuje. Použijte ALTER MATERIALIZED VIEW ... TO NOT MATERIALIZED před zálohováním při migraci na starší verzi.

Známá omezení / plánovaná práce

  • Podpora replikace - zatím není implementována.
  • DDL triggery - zatím nejsou implementovány.
  • Kontrola přístupových práv - zatím není implementována.
  • Chybové zprávy - v revizi.

Zálohování a obnova

  • Úloha ověřovacího zálohování: přidáno cyklické mazání před kompresí; koeficienty výpočtu místa na disku jsou nyní konfigurovatelné.
  • Úloha nBackup: opravena logika přeskočení; algoritmus přejmenování deníku změněn na atomické přejmenování s opakováním, aby se zabránilo částečným přejmenováním.
  • Adresář záloh a šablona názvu souboru pro úlohy BRZ jsou nyní konfigurovatelné:
    • backup-directory - umožňuje zadat cílový adresář pro každou databázi a úlohu.
    • backup-name - umožňuje definovat šablonu názvu souboru, např. brr_{0,date,yyyyMMdd_HH-mm-ss}.fbk.
    • Přidán validátor vstupu: kontroluje platnost názvu adresáře a vytvoří adresář, pokud neexistuje.

Cloudové zálohování / přenos souborů

  • Přidána podpora nahrávání souborů přes protokol Socket v úloze cloudbackup (filetransfer).
  • Volba selektivní komprese souborů po segmentech odstraněna - komprese souborů pro odpovídající úlohy je nyní vždy povolena.

Trace

  • Přidáno connection_id jako další pole v konfiguraci trace.
  • Zpracování sestav trace: přidáno seskupování a filtrování bez ohledu na velikost písmen podle názvu procesu.

VSS Writer

  • Přidáno další diagnostické protokolování - informace o stavu databáze jsou nyní zaznamenávány včetně velikosti databáze, data a času a výstupu gstat -h.

Webové rozhraní

  • Vylepšení lokalizace: opraveny překlady a upraveny lokalizační algoritmy napříč webovou konzolí.
  • Přidán vizuální oddělovač s textem popisku do webových dialogů - umožňuje logické seskupování prvků formuláře.
  • Změněna strategie obnovování cache pro klientské zdroje (webové stránky, JS, CSS), aby prohlížeče nepoužívaly zastaralé soubory po aktualizaci.

Konfigurace

  • Aktualizovány názvy polí autorizace serveru (sysdba/owner, serviceAPI).
  • Přidán rezervovaný konfigurační parametr pro nastavení jazyka/lokality na straně serveru (Java).
  • Opraveny výchozí konfigurační soubory tak, aby odpovídaly novým výchozím nastavením pro úlohy přenosu souborů:
    • Port změněn z 8721 na 8722.
    • Výchozí uživatel změněn z admin2/admin3 na socketuser.
    • Nastavení síly hesla sjednoceno na silné heslo ve všech konfiguracích.
  • Při registraci licenčního souboru KA již není nutné zadávat předponu protokolu HTTP/HTTPS v poli hostitele.

Opravy chyb

  • Opraven falešný kritický alert spouštěný, když má databáze dočasně zakázány všechny úlohy.
  • Opravena chyba při získávání seznamu aktivních trace relací pro systémy, kde nakonfigurovaný uživatel SYSDBA nemá oprávnění k výpisu trace relací.
  • Opravena chyba v komponentě pro dešifrování třetí strany, která správně nezpracovávala cesty kódované UTF-8. Poznámka: dokud není služba mon/trace aktualizována a znovu sestavena, mohou znaky UTF-8 v cestách k souborům nebo databázím stále způsobovat chyby ve výstupu mon/trace.
  • Opraven problém v obslužném programu konfigurace replikace, který nesprávně uchovával klíče s prázdnými hodnotami.
  • Opraveno zpracování journal_archive_command pro Firebird 4 a novější (sjednoceno s opravou upstream v firebird/firebird PR #8381).
  • Opraveny chyby v konfiguračním generátoru pluginů dg2fbcc.jar a v jeho volacím kódu.

Instalátor a sestavení

  • Instalátor pro Windows aktualizován s revidovanými skripty a logikou.
  • Aktualizovány binární soubory klientských knihoven.
  • OpenSSL aktualizován na novější verzi.
  • Přidány podmíněné větve kódu pro varianty sestavení specifické pro produkt.
  • Přidáno podepisování souborů do procesu sestavení instalátoru.

Infrastruktura lokalizace na straně serveru

Byl implementován mechanismus lokalizace textových zpráv na straně serveru (Java). Soubory s lokalizací jsou připraveny, ale zatím nejsou naplněny překlady a mechanismus zatím není aktivován v produkci. Tato infrastruktura je určena pro budoucí lokalizaci serverových zpráv.