JX / Junexis StorageArchitektura platformy →
Menu Storage

Poznaj Storage

WprowadzeniePierwszy zapisMemory, SQLite, PostgreSQLMożliwości i kontraktyDostępność i ograniczenia

Storage / dane aplikacji

Możliwości i podział odpowiedzialności

Storage służy do danych aplikacji. Język, kontrakt autora dostawcy, gospodarz procesu i sterownik magazynu mają osobnych właścicieli.

Warstwa Rola
Lang i generatory Opis użycia storage oraz obsługiwane kontrakty i klienci kodu docelowego.
SDK Publiczne abstrakcje, manifest providera i narzędzia zgodności autora rozszerzenia.
Storage Host w Runtime Ładowanie wybranych bibliotek, bindingi i obsługa ABI.
Dostawca Wykonanie operacji w Memory, SQLite lub PostgreSQL.

Neutralne operacje

Dostawcy referencyjni mają put, get, list i delete. Rekord wskazują bucket i key; payload jest danymi JSON. Wynik odczytu może być skalarny albo sekwencyjny, obsługiwany przez kursor. API obejmuje też health oraz jawne transakcje.

Przy błędzie trzeba odczytać klasę błędu i kontekst operacji. Timeout nie jest uniwersalnym dowodem, że zapis na pewno nie nastąpił. Nie każda operacja jest bezpieczna do powtórzenia bez poznania jej skutku.

Query Plan i Mutation Plan

Istnieją neutralne kontrakty zapytań i mutacji. Referencyjne implementacje współdzielą mechanizmy ich znaczenia. SQLite i PostgreSQL mogą wykonać obsługiwany podzbiór po stronie bazy; dla pozostałych obsługiwanych kształtów używają właściwej ścieżki wykonania.

Nie oznacza to wsparcia dowolnego zapytania ani identycznego planu wydajnościowego. Trzeba sprawdzić wersję kontraktu, deklarowane capabilities, limity oraz zachowanie konkretnego dostawcy.

Native SQL i migracje

SQLite oraz PostgreSQL deklarują obsługę Native SQL i migracji. Kontrakt SQL obejmuje m.in. parametry i jawny opis kolumn wyniku. Nie jest jedną gwarancją przenośności dowolnego SQL pomiędzy obiema bazami.

Memory nie deklaruje tych możliwości. Wspólny interfejs nie usuwa różnic między dostawcami.

Wybór i zaufanie do dostawcy

Manifest junexis.provider/0.2 opisuje tożsamość, ABI, możliwości i skład pakietu. Referencyjny host używa junexis.storage.runtime/0.1 oraz JSONL przez stdin/stdout. Wymaga jawnego wskazania assembly providera.

Host uruchamia kod wybranej biblioteki; nie jest sandboxem dla niezaufanych sterowników. Zgodność ABI, kompletność pakietu i kontrola zaufania są odrębnymi sprawdzeniami.

Chcę napisać własnego dostawcę: SDK · Rola Storage Host w Runtime.

Storage a State

Storage przechowuje dane aplikacji, na przykład rekord pomiaru. State ma osobny zakres trwałych faktów komunikacji i wykonania. Dostawca SQLite nie staje się automatycznie providerem State ani trwałym backendem Observability.

Pierwszy zapis · Dostawcy · Specyfikacja storage.