D
DreamLake

DB Schema

Hierarchy

User
Namespace (user or org)
└── Space
    ├── Node (materialized paths tree)
    ├── Episode
    │   ├── LogEntry / LogChunk / LogMetadata
    │   ├── Track[]             (scalars, tensors; episode-scoped)
    │   ├── TextTrack[]
    │   ├── LabelTrack[]
    │   ├── Audio[]
    │   └── Parameters / ParameterEntry
    ├── Video[]                 ← links to BSS; has folderId → Node
    ├── Audio[]                 ← space-level; has folderId → Node
    ├── Track[]                 ← space-level (generated, not episode-scoped)
    ├── TextTrack[]             ← has folderId → Node
    ├── LabelTrack[]            ← has folderId → Node
    ├── Dataset
    │   └── Collection[]
    ├── Collection[]              (standalone)
    └── EmbeddingJob[]

Node Hierarchy (Folder Tree)

Uses MongoDB's recommended Materialized Paths pattern. Only folders live in the Node collection — files (Video, Audio, etc.) reference their parent folder via folderId.

Path convention:

Examplepathname
Root-level folder",""camera"
Depth 1",camera,""front"
Depth 2",camera,front,""rgb"

Operations:

OperationQueryWrite cost
Browse children of /camerafindMany({ path: ",camera," })
All descendants of /camerafindMany({ path: /^,camera,/ })
Renameupdate self + $replaceAll on descendantsO(F) folders
Movesame patternO(F) folders
Deletesoft-delete self + descendantsO(F) folders

Files are NOT updated during folder operations — they just hold a folderId pointer.

S3 Path Convention (BSS)

All binary data flows through BSS to S3:

{owner}/{project}/
  staging/{hash}                    # Raw uploaded files (flat staging pool)
  videos/{videoId}/
    meta.json                       # Video metadata
    stream/{hash}.m3u8              # HLS playlists
  tracks/
    labels/{labelId}/meta.json
    text/{textTrackId}/meta.json
    audio/{audioId}/meta.json
chunks/
  {hash}.ts                         # Global chunk pool (content-addressed, deduped)

Track/log S3 paths (dreamlake-server managed):

{nameprojectSlug}/{projectSlug}/
  episodes/{episodeId}/
    logs/chunk-{n:05d}.jsonl.gz
    tracks/{trackKind}/{trackId}/
  tracks/{trackKind}/{trackId}/      ← space-level
  datasets/{datasetId}/