Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

D2000 Archive automatically maintains the consistency of data of historical values data, if their with Calculation is set to Continuous, but not if it is set to On Demand. In the CALCONDEMANDSTAT action, the parameter bCalcDepend=@False can be used to specify that dependent objects should not be recalculated; similarly, the RECALC command has the NODEPEND option with the same meaning.

If we recalculate multiple archive objects, the following optimizations occur in the calculation:

Optimalizácia jedného prepočtu

Ak je zapnutá izochrónna cache (parameter archívu IsochronousCache) optimalizujú sa výpočty, ktorých celý interval dát sa nachádza v archívnej cache. Ak je zapnutý parameter RecalcOptimize, optimalizujú sa aj dáta mimo izochrónnej cache. Optimalizovaný prepočet spočíva v načítaní pôvodných cieľových dát pred výpočtom a následne v porovnaní pôvodných dát s prepočítanými. Dáta, ktoré sú identické, nie sú mazané a znovu vkladané.

V ideálnom prípade (ak sú vypočítané úplne rovnaké dáta, ako boli predtým) optimalizácia zabráni vymazaniu intervalu dát v cieľovom archíve a ich opätovnému vloženiu. V menej ideálnom prípade dôjde k tomu, že aspoň časť dát je identická. Vtedy budú mazané a vkladané dáta od prvej rozdielnej hodnoty až po koniec intervalu.

Optimization of one recalc

If the isochronous cache is enabled (the IsochronousCache archive parameter), calculations whose entire data interval is in the archive cache are optimized. If the RecalcOptimize parameter is enabled, data outside the isochronous cache is also optimized. Optimized recalculation consists of reading the original target data before the calculation and then comparing the original data with the recalculated data. Data that is identical is not deleted and reinserted.

Ideally (if the calculated data is exactly the same as before), optimization will prevent the deletion of the data interval in the target historical value and its reinsertion. In a less ideal case, at least part of the data will be identical. In this case, data from the first different value to the end of the interval will be deleted and inserted.

If necessary, optimization can be turned off by setting the archive V prípade potreby sa dá optimalizácia vypnúť nastavením archívu RTM.ARCHIV.OPTIMIZE_RECALC (štartovacím parametrom with the /E-RTM.ARCHIV.OPTIMIZE_RECALC alebo za behu v startup parameter or at runtime in the D2000 System Console).

Optimalizácia viacerých prepočtov

Pre potreby bilancovania podporných služieb v systéme MARI a PICASSO bola do procesu D2000 Archív zavedená v októbri 2025 ďalšia optimalizácia. Pokiaľ sa počíta viacero na sebe závislých archívnych objektov a celý prepočet jedného z archívnych objektov skončil ako identický (t.j. nebolo treba mazať ani vkladať nové hodnoty), tak na ňom závíslé štatistické archívne objekty tiež nebudú prepočítavané. Podobne, ak všetky výpočty zdrojových archívov (štatistických, vypočítaných), ktoré vstupujú do vypočítaného archívu, boli vyoptimalizované, tak dotyčný vypočítaný archív sa tiež nebude počítať.

Táto optimalizácia môže spôsobiť problém v jednom prípade: ak časť vypočítaných/štatistických archívov má nastavený Výpočet ako Priebežný a na nich závislé zase Na požiadanie. Tie prvé sa počítajú aj priebežne, automaticky; takže pri užívateľsky vyvolanom prepočte budú vyoptimalizované - a následné výpočty závislých archívov (počítaných na požiadanie) sa neuskutočnia. Tento problém má možné riešenia:

Optimization of multiple recalcs

For the purposes of balancing support services in the MARI and PICASSO systems, another optimization was introduced into the D2000 Archive process in October 2025. If several dependent historical value objects are calculated and the entire recalculation of one of the historical values ended up as identical (i.e., no new values ​​had to be deleted or inserted), then the statistical historical values dependent on it will also not be recalculated. Similarly, if all calculations of source archives (statistical, calculated) that enter the calculated historical value have been optimized, then the calculated historical value in question will also not be recalculated.

This optimization can cause a problem in one case: if some of the calculated/statistical historical values have the Calculation set to Continuous, and those dependent on them are On demand. The former are also calculated continuously, automatically; so when the user-initiated recalculation is performed, they will be optimized out - and subsequent calculations of dependent historical values (calculated on demand) will not be performed. This problem has these possible solutions:

  • The RECALC command has a FORCEONDEMAND option that forces recalculation of dependent archive objects if they have Calculation set to On Demand.
  • Reconfiguring all dependent historical values as continuously calculated (this may, however, have a negative impact on the performance of the D2000 Archiv).
  • Reconfiguring all dependent archives as calculated on demand (this may cause a problem if some of the calculated archives are needed continuously).
  • Adding a trigger (a primary historical value) to the expression of the historical values calculated on demand. Such a trigger will cause them to be calculated, since the primary archive is not calculated, but will always return that it has not been optimized.
  • Disabling optimization by setting the archive RTM.ARCHIV.OPTIMIZE_RECALC (see above)
  • Tell príkaz RECALC má voľbu FORCEONDEMAND, ktorá vynucuje prepočet závislých archívnych objektov, ak majú nastavený Výpočet ako Na požiadanie.
  • Prekonfigurovanie všetkých závislých archívov ako priebežne počítaných (toto môže mať ale negatívny vplyv na výkon D2000 Archívu).
  • Prekonfigurovanie všetkých závislých archívov ako počítaných na požiadanie (toto môže spôsobiť problém, ak sú niektoré z vypočítaných archívoch potrebné priebežne).
  • Pridanie triggra (primárneho archívu) do výrazu na požiadanie počítaných archívov. Takýto trigger spôsobí, že budú vypočítané, keďže primárny archív sa síce nepočíta, ale vždy vráti, že nebol zoptimalizovaný.