StorageLayout is declared under Model.runtime.storage_layouts.
V1 admits at most one primary layout per object. A layout implies nothing about database vendor, node count, replication factor, consistency level, or partition capacity.
StorageLayout shape
partition_keyis a non-empty list of field paths interpreted against the object’s canonical schema.- Object identity and storage identity are distinct: object identity answers “which logical instance,” while the layout answers “into which physical partition.”
Partition key is not a routing key
A partition key and a routing key may reference the same fields without becoming the same concept. They may also deliberately differ:Full example
StorageLayout example
What a layout does NOT imply
- Database vendor or product
- Storage node count or topology
- Replication factor or replica placement
- Consistency level or read routing
- Partition capacity or latency guarantees