
# storh

A storh önálló, fájlokra épülő PHP adattár: JSONC dokumentumokat, csak hozzáfűzhető szegmentált naplót és csak hozzáfűzhető sort használ. A rekordokat UUIDv7 azonosítókkal tárolja, támogatja az adatfolyamos olvasást, valamint a kurzoros és időtartományos lekérdezéseket, és adatbázis-kiszolgáló helyett atomi fájlrendszer-műveleteket használ.

A hívó adja meg a könyvtárat. A storh nem keres alkalmazásútvonalakat, nem olvas globális konstansokat, és nem igényel keretrendszeradaptert.

## Motorok

- A `DocStore` rekordonként egy JSONC fájlt tárol, UUID-karakteres végződés alapján szétosztott útvonalakkal. Azonosító szerinti közvetlen lekéréshez és indexelt mezőlekérdezésekhez a legalkalmasabb.
- A `SegmentedLog` a rekordokat szegmensfájlokhoz fűzi hozzá JSON sorokként, bájthossz- és ellenőrzőösszeg-előtaggal védve. Hozzáfűzés-intenzív adatfolyamokhoz, kurzoros és időtartományos olvasáshoz a legalkalmasabb.
- A `Queue` tartós feladateseményeket fűz hozzá, a sor állapotát pedig memóriában tartja. Folyamatok közötti tartós feladattovábbításhoz a legalkalmasabb.

Nem tudja, melyik illik a munkaterheléséhez? Tekintse meg a [Motor kiválasztása](https://storh.inline0.dev/hu/docs/engines#choosing-an-engine) oldalt az összehasonlításhoz.

A `DocStore`, a `SegmentedLog` és a `Queue` a `DocPerFileStore`, a `SegmentedLogStore` és a `LogQueue` implementációs osztályok osztályaliasai, ezért mindkét név ugyanarra az osztályra utal.

## Követelmények

- PHP 8.2-es vagy újabb verzió
- `ext-json`
- helyi vagy csatolt fájlrendszer, amely támogatja a könyvtáron belüli atomi átnevezést

## Merre tovább?

- [Telepítés](https://storh.inline0.dev/hu/docs/install)
- [Gyors kezdés](https://storh.inline0.dev/hu/docs/quick-start)
- [Motorok](https://storh.inline0.dev/hu/docs/engines)
- [Skálázás és korlátok](https://storh.inline0.dev/hu/docs/scaling-limits)
