As part of my effort to develop layer using Tokio/Rust bindings I recently spent sometime time trying to understand this paper.
It seems to be a seminal paper whose approach has been adopted by other databases such as CockroachDB and TiDB.
I found the paper very interesting especially in the way it forces us to think if a given set of key-value pairs is consistent with a Schema invariants and also giving proper terminology for the anomalies that might occur with various operations.
However, while reading the paper, I was unable to find a proper definition for an “optional structural element”.
I was wondering if anybody here might have insights on when a schema element would be considered “optional” vs. “required”?