
# storh

storh مخزن بيانات مستقل PHP يعتمد على الملفات: مستندات JSONC، وسجل مقسّم إلى أجزاء لا تقبل إلا الإلحاق، وصفّ لا يقبل إلا الإلحاق. يخزن سجلات بمعرّفات UUIDv7، ويدعم القراءة المتدفقة والاستعلامات بالمؤشر أو النطاق الزمني، ويستخدم عمليات نظام الملفات الذرية بدلًا من خادم قاعدة بيانات.

يوفر المتصلون دليلًا. لا يكتشف storh مسارات التطبيق، ولا يقرأ الثوابت العامة، ولا يتطلب محولًا لإطار عمل.

## المحركات

- يخزن `DocStore` ملف JSONC واحدًا لكل سجل، مع مسارات مجزأة بحسب ذيل UUID. الأنسب للقراءة المباشرة حسب المعرّف واستعلامات الحقول المفهرسة.
- يُلحق `SegmentedLog` السجلات بملفات الأجزاء على هيئة أسطر JSON محمية ببادئة لطول البايتات وقيمة تحقق. الأنسب للتدفقات كثيفة الإلحاق مع القراءة بالمؤشر والنطاق الزمني.
- يُلحق `Queue` أحداث المهام الدائمة ويحتفظ بحالة الصف في الذاكرة. الأنسب لتوزيع العمل الدائم بين العمليات.

لست متأكدًا أيها يناسب عبء العمل لديك؟ راجع [اختيار محرك](https://storh.inline0.dev/ar/docs/engines#choosing-an-engine) لمقارنة الجانبين.

`DocStore` و`SegmentedLog` و`Queue` أسماء مستعارة للأصناف التنفيذية `DocPerFileStore` و`SegmentedLogStore` و`LogQueue`، لذا يشير الاسمان في كل حالة إلى الصنف نفسه.

## المتطلبات

- PHP 8.2 أو أحدث
- `ext-json`
- نظام ملفات محلي أو مركّب يدعم دلالات إعادة التسمية الذرية داخل الدليل

## الخطوة التالية

- [التثبيت](https://storh.inline0.dev/ar/docs/install)
- [البدء السريع](https://storh.inline0.dev/ar/docs/quick-start)
- [المحركات](https://storh.inline0.dev/ar/docs/engines)
- [التوسع والحدود](https://storh.inline0.dev/ar/docs/scaling-limits)
