storh
storh è un archivio dati autonomo PHP basato su file: documenti JSONC, un log segmentato append-only e una coda append-only. Memorizza record con ID UUIDv7, supporta letture in streaming e query tramite cursore o per intervallo temporale e usa operazioni atomiche sul filesystem invece di un server di database.
I chiamanti forniscono una directory. storh non rileva i percorsi dell'applicazione, non legge costanti globali e non richiede un adapter per framework.
Motori
DocStorememorizza un file JSONC per record, con percorsi suddivisi in partizioni in base ai primi due caratteri dell’ultimo gruppo dell’UUID. Ideale per letture puntuali per ID e query su campi indicizzati.SegmentedLogaggiunge record ai file di segmento come righe JSON protette da un prefisso con lunghezza in byte e checksum. Ideale per flussi con molte aggiunte e letture tramite cursore o per intervallo temporale.Queueaggiunge eventi di lavoro persistenti e mantiene lo stato della coda in memoria. Ideale per distribuire lavoro persistente tra processi.
Non sapete quale sia adatto al vostro carico di lavoro? Consultate Come scegliere un motore per un confronto fianco a fianco.
DocStore, SegmentedLog e Queue sono alias di classe delle classi di implementazione DocPerFileStore, SegmentedLogStore e LogQueue,
quindi entrambi i nomi fanno riferimento alla stessa classe.
Requisiti
- PHP 8.2 o successiva
ext-json- un filesystem locale o montato con semantica di rinomina atomica all'interno di una directory