
# storh

storh este un depozit de date autonom PHP bazat pe fișiere: documente JSONC, un jurnal segmentat doar pentru adăugare și o coadă doar pentru adăugare. Stochează înregistrări cu ID-uri UUIDv7, acceptă citiri în flux și interogări cu cursor sau pe interval de timp și folosește operații atomice ale sistemului de fișiere în locul unui server de baze de date.

Apelantul furnizează un director. storh nu descoperă căi ale aplicației, nu citește constante globale și nu necesită un adaptor pentru framework.

## Motoare

- `DocStore` stochează un fișier JSONC pentru fiecare înregistrare, cu căi partiționate după ultimele caractere UUID.
  Ideal pentru citiri punctuale după ID și interogări indexate după câmp.
- `SegmentedLog` adaugă înregistrările în fișierele segmentelor, ca linii JSON protejate printr-un prefix cu lungimea în octeți și suma de control. Ideal pentru fluxuri cu multe adăugări și citiri cu cursor sau pe interval de timp.
- `Queue` adaugă evenimente persistente pentru sarcini și păstrează starea cozii în memorie. Ideal pentru distribuirea persistentă a sarcinilor între procese.

Nu știți care se potrivește sarcinii dvs.? Consultați
[Alegerea unui motor](https://storh.inline0.dev/ro/docs/engines#choosing-an-engine) pentru o comparație
alăturată.

`DocStore`, `SegmentedLog` și `Queue` sunt aliasuri de clasă pentru clasele de implementare `DocPerFileStore`, `SegmentedLogStore` și `LogQueue`,
așadar ambele denumiri se referă la aceeași clasă.

## Cerințe

- PHP 8.2 sau o versiune ulterioară
- `ext-json`
- un sistem de fișiere local sau montat, cu semantică de redenumire atomică în interiorul unui director

## Ce urmează

- [Instalare](https://storh.inline0.dev/ro/docs/install)
- [Pornire rapidă](https://storh.inline0.dev/ro/docs/quick-start)
- [Motoare](https://storh.inline0.dev/ro/docs/engines)
- [Scalare și limite](https://storh.inline0.dev/ro/docs/scaling-limits)
