본문으로 건너뛰기

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
  • 디렉터리 내에서 원자적 이름 변경을 지원하는 로컬 또는 마운트된 파일 시스템

다음 단계