Logo
    Pobierz gravity.integration

    Search

    Home

    Informacje podstawowe

    Dokumentacja techniczna

    Przykłady zastosowań

    gravity.integration
    gravity.integration
    Magistrala danych

    Magistrala danych

    BUSBAR to element infrastruktury przetwarzania w systemie GRAVITY, pełniący rolę magistrali danych łączącej dwa operatory w procesie. Po magistralach przepływają strumienie danych, które są podstawową jednostką przetwarzania w systemie.

    Strumień danych można rozumieć jako uporządkowaną listę rekordów, z których każdy składa się z zestawu kolumn – w GRAVITY nazywanych bitami. Każdy bit reprezentuje pojedynczy fragment informacji (np. tekst, liczba, data), a struktura magistrali może być dynamicznie modyfikowana przez operatory przetwarzające.

    BUSBAR nie tylko transportuje dane między operatorami, ale również definiuje strukturę danych na danym etapie przetwarzania. W zależności od konfiguracji operatorów, magistrala może zmieniać swoją szerokość (liczbę bitów), a także liczbę rekordów.

    Dzięki magistralom możliwe jest tworzenie elastycznych, wieloetapowych przepływów danych, w których każdy operator wykonuje określoną funkcję, a dane są przekazywane zgodnie z logiką procesu.

    Przykład magistral:

    image

    Zasadniczą cechą magistrali jest jej budowa, czyli:

    • rekordy (wiersze)
    • bity (kolumny) transportujące dane w strumieniu danych, które posiadają określony typ danych (integer, text itp.)
    • magistrala jest “płaska” - dane nie posiadają zagłębień. Transportowanie danych typu rodzic → dziecko (zamówienie i jego pozycje) jest możliwe tylko poprzez powielenie danych w bitach rodzica tyle razy ile rodzic ma dzieci.
    • icon
      Operatory wyjścia oraz operatory takie jak GROUPINGGROUPING, CONVERT BITS TO FORMATCONVERT BITS TO FORMAT, REPORTREPORT potrafią grupować dane z magistrali wejściowej po wybranych kolumnach

    Operatory powodujące rozgałęzienie magistrali (SPLITTERSPLITTER, IFIF) powodują duplikacje danych na dwa różne strumienie danych. W takim wypadku system zawsze w pierwszej kolejności będzie prowadził przepływ danych po górnej magistrali wychodzącej z takiego operatora.

    KONFIGURACJA MAGISTRALI

    Po połączeniu dwóch operatorów magistrala jest automatycznie konfigurowana na podstawie sygnału operatora źródłowego.

    Zaznacz magistrale kliknięciem myszy, aby zobaczyć, z jakich bitów się składa. Każdy bit ma nazwę (używaną na operatorach), a także opis i typ.

    Możesz wprowadzić samodzielnie opisy do kolumn.

    image

    Typ bitu odpowiada typowi danych jaki transportuje magistrala (jaki wynika z operatora źródłowego).

    Dostępne typy bitów:

    • Text- tekst o dowolnej długości,
    • Integer- liczby całkowite (odpowiednik typu int32),
    • Long - liczby całkowite (odpowiednik typu int64),
    • Double - liczby zmiennoprzecinkowe,
    • Boolean - stan true lub false
    • DateTime - data z czasem,
    • Date - data,
    • Time - czas,
    • Blob - dane binarne - w trybie ręcznego uruchomienia procesu jako debuger są wyświetlane jako Text zakodowany w base64.

    Z zasady typów bitów nie można zmienić na magistrali. Istnieją jednak wyjątki, w których jest to możliwe. Jest to miejsce podłączenia z operatorem typu INPUT (operatory wejścia) oraz operatory mające możliwość zmiany magistrali danych np. CALL SQLCALL SQL. Ponieważ w tych sytuacjach operatory automatycznie rozpoznają pobierane dane, istnieje możliwość korekty ich typu. Możesz to zrobić, klikając na magistralę bezpośrednio podłączoną do operatora (np. typu INPUT), a następnie modyfikując typ danych wybranego bitu.

    image

    Wykonując tę operację, system spróbuje propagować zamianę typu danych bitu w całym projekcie. Typ zostanie zmieniony zarówno na wszystkich magistralach, jak i na operatorach korzystających z tego bitu.

    icon
    Musisz mieć świadomość, że zmiana typu bitu danych na magistrali może prowadzić do błędów - głównie na operatorach korzystających z tego bitu. Wynika to z konieczności zachowania zgodności typów przez system lub z braku danego bitu w nowej strukturze magistrali. Większość błędów zostanie zasygnalizowana ikoną na operatorze, jednak w miejscach, gdzie użyto algorytmów, błąd może ujawnić się dopiero podczas uruchamiana projektu.

    AUTOGENEROWANIE COLUMN

    W przypadku zmian szerokości magistrali (operator WIDTH BUSBARWIDTH BUSBAR) lub ich struktury (np. opcja Create a busbar from result w operatorze CALL SQLCALL SQL lub innych zmianach) może okazać się, że konieczne będzie ponowne wygenerowanie kolumn na magistrali. W takim wypadku użyj przecisku AUTOGENERATE COLUMNS na oknie właściwości magistrali.

    image

    Opcja ta generuje ponownie bity magistrali na podstawie strumienia danych wychodzącego z operatora źródłowego, a system propaguje ją na wszystkie kolejne operatory i magistrale, co może powodować problemy z już zdefiniowanymi operatorami (patrz wyszarzone miejsce powyżej).