
# storh

storh on failidele üles ehitatud eraldiseisev PHP andmehoidla: JSONC dokumendid, ainult lisamisega segmenteeritud logi ja ainult lisamisega järjekord. See salvestab kirjeid UUIDv7 ID-dega, toetab voogedastusega lugemist ning kursori- või ajavahemikupäringuid ja kasutab andmebaasiserveri asemel aatomilisi failisüsteemitoiminguid.

Kutsuja määrab kataloogi. storh ei tuvasta rakenduse teid, loe globaalseid konstante ega nõua raamistikuadapterit.

## Mootorid

- `DocStore` salvestab iga kirje eraldi JSONC faili, mille teed on tükeldatud UUID lõpuosa järgi. Sobib kõige paremini ID-põhisteks üksikkirje lugemisteks ja indekseeritud väljade päringuteks.
- `SegmentedLog` lisab kirjeid segmendifailidesse JSON ridadena, mida kaitsevad baitide arv ja kontrollsumma eesliitena. Sobib kõige paremini palju lisavate voogude jaoks, kus loetakse kursori või ajavahemiku järgi.
- `Queue` lisab püsivaid töösündmusi ja hoiab järjekorra oleku mälus. Sobib kõige paremini püsivaks tööde vahendamiseks protsesside vahel.

Kas pole kindel, milline neist sinu töökoormusele sobib? Vaata lehte [Mootori valimine](https://storh.inline0.dev/et/docs/engines#choosing-an-engine), kus saad neid kõrvuti võrrelda.

`DocStore`, `SegmentedLog` ja `Queue` on teostusklasside `DocPerFileStore`, `SegmentedLogStore` ja `LogQueue` klassialias-ed, nii et mõlemad nimed viitavad samale klassile.

## Nõuded

- PHP 8.2 või uuem
- `ext-json`
- kohalik või ühendatud failisüsteem, mis toetab kataloogi piires aatomilist ümbernimetamist

## Kuhu edasi

- [Paigaldamine](https://storh.inline0.dev/et/docs/install)
- [Kiirkäivitus](https://storh.inline0.dev/et/docs/quick-start)
- [Mootorid](https://storh.inline0.dev/et/docs/engines)
- [Skaleerimine ja piirangud](https://storh.inline0.dev/et/docs/scaling-limits)
