儲存
Chronicle 目前會將 recording 與 canonical session 儲存在本機檔案系統。Storage 負責持久化與發佈的基礎原語;發佈決定、發佈驗證與 checkpoint advancement ordering 由 ETL 擁有。replay 讀取已持久化的 canonical artifact,而不是 WAL 內部細節。
公開 data directory
標題為「公開 data directory」的章節公開命令依照以下順序解析 data directory:
--data-dir DIR;- 設定檔中的
data_dir; CHRONICLE_DATA_DIR;- 平台預設值。
會修改資料的命令只在需要時建立私有目錄,並拒絕不安全的 root 或 symlink 形式。doctor 會回報既有或預計使用的位置,不會建立 probe artifact。
<data-dir>/ .chronicle-domain.lock catalog.json recordings/<bare-recording-uuid>/ sessions/<session-uuid>/在本機檔案系統部署內,標準化的 .chronicle-domain.lock 會保護 name claim、capture、ETL、publication 與 catalog update,將它們視為一個 transaction。此 lock 是本地部署的協調機制,不是 Recorder 與 ETL 之間的架構性所有權機制。
canonical session 的發佈
標題為「canonical session 的發佈」的章節每個 session 會以以下形式發佈:
sessions/<session-id>/ manifest.json session.json payloads/<sha256>在 Unix 上,staging directory 使用 0700,檔案使用 0600。最後才寫入 manifest,publication 只會將 destination 重新命名為尚不存在的位置。Inspect 會驗證 artifact metadata;replay 會 hydrate payload 並檢查 SHA-256。
這裡沒有的功能
標題為「這裡沒有的功能」的章節PostgreSQL metadata storage、S3 相容的 artifact storage、遠端 WAL 封存、靜態資料加密、redaction policy 與 tenant isolation 尚未實作。不要從 storage interface 或 protocol registry 推論這些功能已存在。