Scalenie, które zawsze można cofnąć
Większość systemów strumieniowych znakuje każde zdarzenie znacznikiem czasu i uzgadnia je w rozmytych oknach czasowych. RetractorDB zaczyna od czegoś prostszego: regularny strumień to po prostu zegar — punkt startowy i stały odstęp między taktami. Dwa zegary działające z różną częstotliwością można utkać w jeden połączony strumień, zachowując kolejność, bez straty danych.
Najważniejsze jest to, że ten połączony strumień zawsze można rozdzielić z powrotem na dokładnie te dwa zegary, z których powstał — bez przybliżeń, bez dryfu, bez zgadywania, który takt pochodził z którego strumienia. Scalanie i rozdzielanie są dokładnie odwrotnymi operacjami, dla dowolnej pary regularnych częstotliwości. Odtwórz to samo nagranie dwa razy, a wynik będzie identyczny co do bitu, bo operacja nigdy nie była projektowana jako przybliżenie.
Stąd też biorą się symoble graficzne systemu — znak nożyc to dosłownie narysowana operacja rozdzielenia.
Formalny dowód — oparty na teorii liczb — znajduje się w artykule, dla ciekawskich.
Chcesz sam zobaczyć te reguły w działaniu? Wypróbuj operatory interlace i sum na własnych ciągach i częstotliwościach.
Każda maszyna, która strumieniuje dane, każdy sygnał, który się liczy
RetractorDB jest neutralny domenowo. Działa na brzegu sieci, tuż przy czujnikach, i zamienia surową telemetrię o różnych częstotliwościach próbkowania w dokładne, zredukowane, stabilne przy odtwarzaniu strumienie, zanim trafią do historiana, TSDB lub chmury. Wszędzie tam, gdzie sygnały o różnych częstotliwościach próbkowania trzeba scalać, resamplować i audytować, algebra działa bez zmian — różnią się jedynie współczynniki.
Lotnictwo
Telemetria z lotów testowych i awioniki: setki czujników o niezgodnych częstotliwościach scalane deterministycznie, z odtwarzaniem identycznym co do bitu na potrzeby analiz powypadkowych i po locie.
Motoryzacja
Sygnały ECU i magistrali pojazdowej wyrównywane bez dryfu zmiennoprzecinkowego; powtarzalne przebiegi do walidacji, analityki floty i homologacji.
Monitoring przemysłowy
Monitorowanie stanu maszyn i utrzymanie predykcyjne: drgania, prąd i temperatura redukowane na brzegu sieci do dokładnych, porównywalnych cech.
Energetyka i sieci
Synchrofazory, stacje elektroenergetyczne, turbiny wiatrowe: każda częstotliwość jest wymierną wielokrotnością częstotliwości sieci, a analiza powawaryjna wymaga dokładnych, odtwarzalnych zapisów.
Audio i nadawanie
44,1 ↔ 48 kHz to dokładnie 147:160 — wymierna konwersja, którą algebra wykonuje bez skumulowanego dryfu, zachowując dokładność sample'i w długich łańcuchach.
Radio definiowane programowo
Łańcuchy decymacji i interpolacji z wymiernymi współczynnikami to codzienność SDR; tutaj są dokładnymi, deklaratywnymi i inspekcjonowalnymi operatorami zapytań.
Robotyka i stanowiska testowe
Sygnały enkoderów, IMU i siły łączone między różnymi częstotliwościami pętli sterowania; testy hardware-in-the-loop odtwarzane bit po bicie na potrzeby testów regresyjnych i certyfikacji.
Biomedycyna
Potoki przetwarzania sygnałów życiowych — pierwotna domena silnika i przykład użyty w artykule — szczególny przypadek tej samej algebry.
Ten sam wzorzec powtarza się wszędzie tam, gdzie regularna telemetria spotyka ślad audytowy: rejestratory danych kolejowych i morskich, sieci sejsmiczne, monitoring stanu konstrukcji mostów i budynków, sieci czujników środowiskowych.
Trzy programy, jeden deterministyczny potok
Zadeklaruj strumienie źródłowe i ciągłe transformacje w RQL, deklaratywnym języku zapytań realizującym tę algebrę. Kompilator sprowadza każdy strumień do wymiernego interwału i buduje graf zależności DAG; silnik wykonawczy planuje sloty na wymiernej osi czasu. Identyczne dane wejściowe dają artefakty identyczne co do bajtu — właściwość stale sprawdzana w CI.
xretractor
Parser, kompilator i silnik wykonawczy dla planów RQL. Tryby tylko-kompilacji i zrzutu planu do inspekcji.
xqry
Odpytuje działające strumienie na żywo przez IPC — surowo lub sformatowane, gotowe do przekierowania do gnuplot.
xtrdb
Inspekcja i edycja artefaktów binarnych: schemat, metadane null/luk, deterministyczne dane testowe.
Jeden przykład, ta sama algebra wszędzie
Każda z domen wymienionych wyżej sprowadza się do tego samego łańcucha operatorów. Jako przykład w artykule wybraliśmy wymagający, dobrze opisany potok z pierwotnej domeny silnika: detektor zespołów QRS Pan–Tompkinsa na danych EKG MIT-BIH — filtr pasmowoprzepustowy, pochodna, podniesienie do kwadratu, całkowanie, próg adaptacyjny — wszystko od początku do końca w tej algebrze. Zamień współczynniki, a ten sam łańcuch policzy obwiednię drgań albo cechę sygnału z magistrali. Bez funkcji użytkownika, bez proceduralnych furtek.
DECLARE MLII INTEGER, V1 INTEGER STREAM ecg, 1/360 FILE 'rec205' # 1. filtr pasmowoprzepustowy 5–15 Hz — konwolucja FIR, 25 odczepów SELECT * STREAM mlii_win FROM mlii@(1,25) SELECT mlii_win[_]*bpf[_] STREAM bp_acc FROM mlii_win+bpf # 2. pochodna 3. podniesienie do kwadratu 4. całkowanie w oknie ruchomym SELECT d_out[0]*d_out[0]/1000 STREAM sq_out FROM d_out # 5. próg adaptacyjny — średnia ruchoma 0,5 s SELECT mlii[0]-900, mwi[0]*5, (mwi[0]-mwi_thr[0]*2)*5 STREAM qrs_out FROM mlii+mwi+mwi_thr
Stulecie matematyki, jeden silnik
Beatty pokazuje, że dwa ciągi ⌊np⌋, ⌊nq⌋ dzielą ℕ dla niewymiernych częstotliwości.
Fraenkel uogólnia kryterium podziału na parametry wymierne — przypadek obliczalny.
Algebra operatorów i deklaratywny język zapytań zostają zdefiniowane w kontekście monitorowania płodu [JMIT t. 5–6].
Most między systemami pokryć a wyrównywaniem strumieni zostaje ustanowiony w recenzowanej publikacji Det. method... .
Pełna formalna semantyka, dowody i raport z silnika: arXiv:2607.07730.