
# storh

storh je samostatné úložisko údajov PHP postavené na súboroch: dokumenty JSONC, segmentovaný log iba na pridávanie a front iba na pridávanie. Ukladá záznamy s UUIDv7 ID, podporuje streamované čítanie a dopyty kurzorom alebo podľa časového rozsahu a používa atomické operácie súborového systému namiesto databázového servera.

Volajúci poskytnú adresár. storh nevyhľadáva cesty aplikácie, nečíta globálne konštanty a nevyžaduje adaptér frameworku.

## Nástroje

- `DocStore` ukladá jeden súbor JSONC na záznam a cesty rozdeľuje podľa posledných znakov UUID.
  Najvhodnejší na priame čítanie podľa ID a dopyty na indexované polia.
- `SegmentedLog` pridáva záznamy do súborov segmentov ako riadky JSON chránené predponou s dĺžkou v bajtoch a kontrolným súčtom. Najvhodnejší na prúdy s častým pridávaním a čítanie kurzorom alebo podľa časového rozsahu.
- `Queue` pridáva trvalé udalosti úloh a uchováva stav frontu v pamäti. Najvhodnejší na spoľahlivé odovzdávanie práce medzi procesmi.

Nie ste si istí, ktorý nástroj vyhovuje vašej záťaži? Pozrite si [Výber nástroja](https://storh.inline0.dev/sk/docs/engines#choosing-an-engine) a porovnajte ich vedľa seba.

`DocStore`, `SegmentedLog` a `Queue` sú aliasy tried implementačných tried `DocPerFileStore`, `SegmentedLogStore` a `LogQueue`, takže oba názvy odkazujú na tú istú triedu.

## Požiadavky

- PHP 8.2 alebo novší
- `ext-json`
- lokálny alebo pripojený súborový systém s podporou atomického premenovania v rámci adresára

## Čo ďalej

- [Inštalácia](https://storh.inline0.dev/sk/docs/install)
- [Rýchly začiatok](https://storh.inline0.dev/sk/docs/quick-start)
- [Nástroje](https://storh.inline0.dev/sk/docs/engines)
- [Škálovanie a limity](https://storh.inline0.dev/sk/docs/scaling-limits)
