
# storh

Το storh είναι ένας αυτόνομος χώρος αποθήκευσης PHP με βάση αρχεία: έγγραφα JSONC, ένα αρχείο καταγραφής με τμηματοποίηση και μόνο προσθήκες, καθώς και μια ουρά με μόνο προσθήκες. Αποθηκεύει εγγραφές με αναγνωριστικά UUIDv7, υποστηρίζει ροές ανάγνωσης και ερωτήματα με δρομέα ή χρονικό εύρος, και χρησιμοποιεί ατομικές λειτουργίες συστήματος αρχείων αντί για διακομιστή βάσης δεδομένων.

Οι καλούντες παρέχουν έναν κατάλογο. Το storh δεν εντοπίζει διαδρομές εφαρμογών, δεν διαβάζει καθολικές σταθερές και δεν απαιτεί προσαρμογέα πλαισίου.

## Μηχανές αποθήκευσης

- Το `DocStore` αποθηκεύει ένα αρχείο JSONC ανά εγγραφή με διαδρομές κατακερματισμένες βάσει των τελευταίων UUID χαρακτήρων. Ιδανικό για σημειακές αναγνώσεις βάσει αναγνωριστικού και ερωτήματα σε ευρετηριασμένα πεδία.
- Το `SegmentedLog` προσθέτει εγγραφές σε αρχεία τμημάτων ως γραμμές JSON, με προστασία μέσω μήκους byte και προθέματος αθροίσματος ελέγχου. Ιδανικό για ροές με πολλές προσθήκες και αναγνώσεις με δρομέα ή χρονικό εύρος.
- Το `Queue` προσθέτει μόνιμα συμβάντα εργασιών και διατηρεί την κατάσταση της ουράς στη μνήμη. Ιδανικό για ανθεκτική αποστολή εργασιών μεταξύ διεργασιών.

Δεν είστε σίγουροι ποια ταιριάζει στον φόρτο εργασίας σας; Δείτε τη
[σύγκριση μηχανών](https://storh.inline0.dev/el/docs/engines#choosing-an-engine) για μια παράθεση δίπλα δίπλα.

Τα `DocStore`, `SegmentedLog` και `Queue` είναι ψευδώνυμα κλάσεων των κλάσεων υλοποίησης `DocPerFileStore`, `SegmentedLogStore` και `LogQueue`, επομένως και τα δύο ονόματα αναφέρονται στην ίδια κλάση.

## Απαιτήσεις

- PHP 8.2 ή νεότερη έκδοση
- `ext-json`
- τοπικό ή προσαρτημένο σύστημα αρχείων με σημασιολογία ατομικής μετονομασίας μέσα σε κατάλογο

## Επόμενα βήματα

- [Εγκατάσταση](https://storh.inline0.dev/el/docs/install)
- [Γρήγορη εκκίνηση](https://storh.inline0.dev/el/docs/quick-start)
- [Μηχανές αποθήκευσης](https://storh.inline0.dev/el/docs/engines)
- [Κλιμάκωση & όρια](https://storh.inline0.dev/el/docs/scaling-limits)
