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říkazDROP 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
CASCADEk 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 CASCADEvyžaduje, aby všechny dotčené MV měly unikátní index.DROP DATA CASCADEodstraní 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 MATERIALIZEDpř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_idjako 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/admin3nasocketuser. - 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_commandpro Firebird 4 a novější (sjednoceno s opravou upstream v firebird/firebird PR #8381). - Opraveny chyby v konfiguračním generátoru pluginů
dg2fbcc.jara 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.