Ga naar de inhoud

storh

storh is een zelfstandige bestandsdatastore PHP, opgebouwd uit bestanden: JSONC-documenten, een append-only gesegmenteerd log en een append-only wachtrij. De datastore bewaart records met UUIDv7-ID's, ondersteunt streamingreads en cursor- of tijdsbereikqueries, en gebruikt atomaire bestandssysteembewerkingen in plaats van een databaseserver.

Aanroepers geven een map op. storh zoekt geen applicatiepaden, leest geen globale constanten en vereist geen frameworkadapter.

Engines

  • DocStore bewaart één JSONC-bestand per record met paden die zijn geshard op de laatste UUID tekens. Geschikt voor puntgewijze reads op ID en queries op geïndexeerde velden.
  • SegmentedLog voegt records toe aan segmentbestanden als JSON-regels met een prefix voor byte-lengte en checksum. Geschikt voor streams waaraan veel wordt toegevoegd en die met cursors of binnen tijdsbereiken worden gelezen.
  • Queue voegt duurzame taakevenementen toe en houdt de wachtrijstatus in het geheugen bij. Geschikt voor duurzame taakverdeling tussen processen.

Weet u niet zeker welke bij uw workload past? Bekijk Een engine kiezen voor een vergelijking naast elkaar.

DocStore, SegmentedLog en Queue zijn klassealiassen van de implementatieklassen DocPerFileStore, SegmentedLogStore en LogQueue, dus beide namen verwijzen naar dezelfde klasse.

Vereisten

  • PHP 8.2 of hoger
  • ext-json
  • een lokaal of gekoppeld bestandssysteem met semantiek voor atomaire hernoemingen binnen een map

Waarnaartoe