Ова страница је машински преведена. Прочитајте енглески оригинал. English

IBSurgeon библиотека

HQbird 2024R2 ажурирање 10 Детаљно Шта је ново

Шта је ново у HQbird 2024R2 Update 10

Материјализовани погледи (Нова функција у 5.0)

HQbird сада укључује пуну подршку за материјализоване погледе - нову врсту објекта базе података која комбинује дефиницију погледа са физичким складиштењем обичне табеле.

Преглед

Материјализовани поглед (MV) се дефинише помоћу стандардног SQL упита, који мотор користи да попуни основну MV табелу редовима података. За разлику од обичних погледа, MV подаци се чувају на диску и могу се индексирати. DML изјаве (INSERT, UPDATE, DELETE) нису дозвољене директно на MV-овима - подаци се морају ажурирати помоћу нове REFRESH команде.

Креирање и управљање материјализованим погледима

  • CREATE [OR ALTER] MATERIALIZED VIEW - креира или замењује MV са опционалним почетним учитавањем података (WITH DATA / WITH NO DATA).
  • ALTER MATERIALIZED VIEW - мења дефиницију MV-а; аутоматски уклања све постојеће индексе.
  • RECREATE MATERIALIZED VIEW - уклања било који постојећи поглед (обичан или материјализован) са истим именом и креира нови MV.
  • DROP VIEW - користи се за уклањање материјализованог погледа (не постоји посебна DROP MATERIALIZED VIEW команда).
  • Индекси било које врсте могу се креирати на MV-овима. Ограничења и окидачи нису подржани.

Конвертовање између врста погледа

  • ALTER MATERIALIZED VIEW ... TO NOT MATERIALIZED - конвертује MV у обичан поглед. Сви индекси и подаци се уклањају.
  • ALTER VIEW ... TO MATERIALIZED - конвертује обичан поглед у материјализовани. Зависни објекти нису погођени.

Освежавање података материјализованог погледа

Нова REFRESH MATERIALIZED VIEW изјава ажурира садржај MV-а. То је DDL команда - извршење се одлаже док се текућа трансакција не потврди. Доступна су четири режима:

  • Потпуно поновно учитавање (ексклузивни режим) - REFRESH MATERIALIZED VIEW

    • Деактивира индексе, брише све постојеће податке, поново учитава из MV упита, реактивира индексе.
    • Најбржа опција када су се многе редове промениле.
    • Захтева ексклузивно закључавање на MV табели.
    • При грешци у учитавању података: новоучитани подаци се бришу, индекси се поново активирају као празни.
    • При грешци у активацији индекса: погођени индекс остаје неактиван; подаци и други индекси нису погођени. Грешке у изградњи индекса се пријављују као упозорења.
  • Конкурентно ажурирање - REFRESH MATERIALIZED VIEW CONCURRENTLY

    • Није потребно ексклузивно закључавање - конкурентни упити на MV-у су дозвољени током освежавања.
    • Користи алгоритам спајања са два сортирана курсора: један за тренутне MV податке, један за резултате MV упита.
    • Убацује нове редове, ажурира промењене редове, брише уклоњене редове - све под контролом трансакције.
    • Захтева јединствени индекс на MV-у.
    • Пожељно када је потребан конкурентан приступ или када се мало редова променило од последњег освежавања.
    • Напомена: ако MV упит садржи ORDER BY, редослед редова можда неће бити очуван након конкурентног освежавања.
  • Брисање свих података - REFRESH MATERIALIZED VIEW DROP DATA

    • Брише све MV податке и садржај индекса. Корисно за ослобађање простора на диску. Захтева ексклузивно закључавање.
  • Каскадно освежавање - додајте CASCADE на било који од горе наведених облика

    • Освежава све MV-ове од којих дати MV зависи, у исправном редоследу зависности.
    • Сваки MV се обрађује само једном.
    • CONCURRENTLY CASCADE захтева да сви погођени MV-ови имају јединствени индекс.
    • DROP DATA CASCADE брише податке свих погођених MV-ова.
    • Имена погођених MV-ова и редослед освежавања пријављују се као упозорења у статусном вектору пре потврде.

Резервна копија и враћање (gbak)

  • Резервна копија: MV подаци се не чувају у датотеци резервне копије, исто као обични погледи - није потребно посебно руковање.
  • Враћање: сви MV-ови се аутоматски освежавају на крају процеса враћања, у исправном редоследу зависности.
  • Нови gbak прекидач -NO_MATVIEWS (може се скратити на -NO_M) - прескаче освежавање MV-а током враћања.
  • Одговарајућа опција Services API-ја: isc_spb_res_no_matviews.
  • Важно: резервна копија која садржи MV-ове не може се вратити на Firebird верзију која не подржава MV-ове. Користите ALTER MATERIALIZED VIEW ... TO NOT MATERIALIZED пре резервне копије када мигрирате на старију верзију.

Позната ограничења / Планирани рад

  • Подршка за репликацију - још није имплементирана.
  • DDL окидачи - још нису имплементирани.
  • Провера права приступа - још није имплементирана.
  • Поруке о грешкама - у прегледу.

Резервна копија и опоравак

  • Задатак верификационе резервне копије: додато ротирајуће брисање пре компресије; коефицијенти за израчунавање простора на диску су сада подесиви.
  • nBackup задатак: исправљена логика прескакања; алгоритам преименовања журнала промењен у атомско преименовање са понављањем да би се спречила делимична преименовања.
  • Директоријум резервне копије и шаблон имена датотеке за BRZ задатке су сада подесиви:
    • backup-directory - омогућава одређивање циљног директоријума по бази података и послу.
    • backup-name - омогућава дефинисање шаблона имена датотеке, нпр. brr_{0,date,yyyyMMdd_HH-mm-ss}.fbk.
    • Додат валидатор уноса: проверава валидност имена директоријума и креира директоријум ако не постоји.

Резервна копија у облаку / Пренос датотека

  • Додата подршка за отпремање датотека преко Socket протокола у cloudbackup (filetransfer) задатку.
  • Опција селективне компресије датотека по сегменту уклоњена - компресија датотека за одговарајуће задатке је сада увек омогућена.

Праћење (Trace)

  • Додато connection_id као додатно поље у конфигурацији праћења.
  • Обрада извештаја праћења: додато груписање и филтрирање без обзира на величину слова по имену процеса.

VSS Writer

  • Додатно дијагностичко евидентирање - информације о стању базе података се сада бележе укључујући величину базе, датум и време, и gstat -h излаз.

Веб интерфејс

  • Побољшања локализације: исправљени преводи и прилагођени алгоритми локализације широм веб конзоле.
  • Додат визуелни елемент разделника са текстом ознаке у веб дијалоге - омогућава логичко груписање елемената форме.
  • Промењена стратегија заобилажења кеша за клијентске ресурсе (веб странице, JS, CSS) да би се спречило да прегледачи користе застареле датотеке након ажурирања.

Конфигурација

  • Ажурирана имена поља за серверску ауторизацију (sysdba/owner, serviceAPI).
  • Додат резервисани конфигурациони параметар за подешавање језика/локалитета на серверској (Java) страни.
  • Исправљене подразумеване конфигурационе датотеке да одговарају новим подразумеваним подешавањима за задатке преноса датотека:
    • Порт промењен са 8721 на 8722.
    • Подразумевани корисник промењен са admin2/admin3 на socketuser.
    • Подешавање јачине лозинке уједначено на јаку лозинку у свим конфигурацијама.
  • При регистрацији KA лиценцне датотеке, одређивање HTTP/HTTPS протоколног префикса у пољу хоста више није потребно.

Исправке грешака

  • Исправљен лажни критични аларм који се покретао када база података има све задатке привремено онемогућене.
  • Исправљена грешка при преузимању листе активних сесија праћења за системе где конфигурисани SYSDBA корисник нема дозволу за листање сесија праћења.
  • Исправљена грешка у компоненти за дешифровање треће стране која није исправно обрађивала UTF-8 кодиране путање. Напомена: док се mon/trace сервис не ажурира и поново изгради, UTF-8 знакови у путањама датотека или база података могу и даље изазвати грешке у mon/trace излазу.
  • Исправљен проблем у руковаоцу конфигурације репликације који је неправилно задржавао кључеве са празним вредностима.
  • Исправљено руковање journal_archive_command-ом за Firebird 4 и новије верзије (усклађено са исправком у firebird/firebird PR #8381).
  • Исправљене грешке у dg2fbcc.jar додатку за генерисање конфигурације и његовом коду за позивање.

Инсталатер и изградња

  • Windows инсталатер ажуриран са ревидираним скриптама и логиком.
  • Ажуриране бинарне датотеке клијентске библиотеке.
  • OpenSSL ажуриран на новију верзију.
  • Додате условне гране кода за варијанте изградње специфичне за производ.
  • Додато потписивање датотека у процес изградње инсталатера.

Инфраструктура за локализацију на серверској страни

Имплементиран је механизам локализације за текстуалне поруке на серверској (Java) страни. Датотеке локалитета су припремљене, али још нису попуњене преводима, а механизам још није активиран у продукцији. Ова инфраструктура је намењена будућој локализацији серверских порука.