Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Format zapisu danych

W systemie przetwarzane są serie czasowe w trzech postaciach: artefaktów, efemerydów i substratów. Każdy typ ma inne przeznaczenie i inną strategię przechowywania.

Substraty i Artefakty - formalnie niczym nie różnią się w systemie. Jedyna różnica to fakt, że substraty zostały wygenerowane w oparciu o równiania algebry strumieni danych i nie zostały zapisane bezpośrednio w ciągu poleceń dla kompilatora. Jeśli zadeklarujemy strumień Artefaktu, który pokryje postać substratu - substrat zostanie zredukowany. Efemerydy to strumienie, które powstały za pomocą polecenia Declare - zawierają wartości które istnieją tylko przez chwilkę.

Typy akcesorów składowania

NOTE: Opisana funkcjonalność ma pokrycie w teście: txtsrc opisanym w załączniku pt. Testy Integracyjne.

Pole TYPE w deskryptorze (lub dyrektywa STORAGE w RQL) wybiera implementację FileInterface:

Typ (TYPE_PROFILE)Klasa implementacjiZastosowanie
DEFAULTgroupFile<posixBinaryFileWithShadow>Artefakty domyślne — plik danych + plik cienia, z retencją
DIRECTgroupFile<posixBinaryFile>Zapis bezpośredni bez cienia, z retencją
POSIXposixBinaryFileSurowy zapis POSIX bez cienia
POSIXSHDposixBinaryFileWithShadowPOSIX z plikiem cienia
MEMORYmemoryFileSkładowanie wyłącznie w RAM (efemerydy)
GENERICgenericBinaryFileOgólny akcesor binarny
DEVICEbinaryDeviceROZewnętrzne urządzenie binarnych danych wejściowych (tylko odczyt)
TEXTSOURCEtextSourceROTekstowe źródło danych wejściowych (tylko odczyt)

Zestaw plików artefaktu i substratu

Artefakty i substraty zapisywane na dysk mogą być skojarzone z maksymalnie czterema plikami:

PlikRozszerzenieCel
Plik danych binarnych(nazwa strumienia)Główny strumień rekordów — append-only
Plik deskryptora.descSchemat rekordu (pola, typy, rozmiary, typ składowania)
Plik metadanych.metaIndeks wartości null i przerw w transmisji (RLE)
Plik cienia.shadowModyfikacje rekordów bez nadpisywania danych oryginalnych
graph TD
  D[".desc: deskryptor (schemat rekordu)"]
  B["Plik danych binarnych (rekordy N×R bajtów)"]
  M[".meta: metadane (indeks null i przerw)"]
  S[".shadow: plik cienia (modyfikacje rekordów)"]

    D -->|"opisuje strukturę"| B
    B -->|"towarzyszący indeks"| M
    B -->|"opcjonalne nadpisania"| S

    style S fill:#f9c,color:#000
    style M fill:#cdf,color:#000

Rys. 11. Zestaw plików artefaktu i ich powiązania

Diagram przedstawia statyczną relację między plikami artefaktu: .desc definiuje strukturę rekordu, .meta indeksuje null i przerwy, a .shadow przechowuje opcjonalne nadpisania rekordów.

Plik cienia i plik metadanych są opcjonalne. Przy ciągłym napływie danych bez przerw i bez modyfikacji wystarczy sam plik danych binarnych i deskryptor.

Efemerydy nie posiadają żadnych plików na dysku — istnieją wyłącznie w pamięci operacyjnej procesu i znikają po jego zakończeniu.


Rozdziały