storh
storh yra atskira PHP duomenų saugykla, sukurta failų pagrindu: JSONC dokumentai, tik papildymui skirtas segmentuotas žurnalas ir tik papildymui skirta eilė. Joje saugomi įrašai su UUIDv7 ID, palaikomas srautinis skaitymas ir užklausos pagal žymeklį arba laiko intervalą, o vietoj duomenų bazės serverio naudojamos atominės failų sistemos operacijos.
Iškviečianti programa pateikia katalogą. storh automatiškai neieško programos kelių, neskaito globalių konstantų ir nereikalauja karkaso adapterio.
Varikliai
DocStorekiekvienam įrašui saugo po vieną JSONC failą; keliai suskaidomi pagal pirmus du paskutinės UUID grupės simbolius. Geriausiai tinka tiesioginei paieškai pagal ID ir indeksuotoms užklausoms pagal laukus.SegmentedLogprideda įrašus prie segmentų failų kaip JSON eilutes, apsaugotas baitų ilgio ir kontrolinės sumos priešdėliu. Geriausiai tinka intensyviai pildomiems srautams, kai įrašai skaitomi pagal žymeklį arba laiko intervalą.Queueprideda patvarius užduočių įvykius ir laiko eilės būseną atmintyje. Geriausiai tinka patvariam užduočių paskirstymui tarp procesų.
Nežinote, kuris variantas tinka jūsų darbo krūviui? Žr. Variklio pasirinkimas, kur pateiktas palyginimas greta.
DocStore, SegmentedLog ir Queue yra įgyvendinimo klasių DocPerFileStore, SegmentedLogStore ir LogQueue slapyvardžiai, todėl abu pavadinimai nurodo tą pačią klasę.
Reikalavimai
- PHP 8.2 arba naujesnė versija
ext-json- vietinė arba prijungta failų sistema, palaikanti atominį pervadinimą aplanke