storh
storh은 파일을 기반으로 구축된 독립형 PHP 데이터 저장소입니다. JSONC 문서, 추가 전용 분할 로그 및 추가 전용 큐를 제공합니다. 레코드는 UUIDv7 ID와 함께 저장하고 스트리밍 읽기, 커서 쿼리 및 시간 범위 쿼리를 지원하며, 데이터베이스 서버 대신 파일 시스템의 원자적 작업을 사용합니다.
호출자가 디렉터리를 지정합니다. storh은 애플리케이션 경로를 검색하거나 전역 상수를 읽지 않으며 프레임워크 어댑터도 필요하지 않습니다.
엔진
DocStore은 레코드마다 JSONC 파일 하나를 저장하며 UUID의 마지막 그룹 첫 두 문자에 따라 경로를 샤딩합니다. ID별 개별 조회와 인덱스 필드 쿼리에 적합합니다.SegmentedLog은 레코드를 JSON 줄로 세그먼트 파일에 추가합니다. 각 줄은 바이트 길이와 체크섬 접두부로 보호됩니다. 커서 읽기 및 시간 범위 읽기가 필요한 추가 위주 스트림에 적합합니다.Queue는 내구성 있는 작업 이벤트를 추가하고 큐 상태를 메모리에 유지합니다. 프로세스 간에 작업을 내구성 있게 전달하는 데 적합합니다.
어떤 엔진이 워크로드에 적합한지 잘 모르시겠나요? 나란히 비교하려면 엔진 선택하기를 참조하세요.
DocStore, SegmentedLog 및 Queue는 구현 클래스인 DocPerFileStore, SegmentedLogStore 및 LogQueue의 클래스 별칭이므로 두 이름은 같은 클래스를 가리킵니다.
요구 사항
- PHP 8.2 이상
ext-json- 디렉터리 내에서 원자적 이름 변경을 지원하는 로컬 또는 마운트된 파일 시스템