I'm an engineer who works at Google on Spanner. From serializability theory, a concurrent execution of a set of transactions is considered serializable if it is equivalent to some serial execution of the same set of transactions. It also introduces some additional desirable properties that are more restrictive:
- Recoverable (RC). A concurrent execution of transactions is recoverable if whenever a transaction B reads x written by transaction A, A commits before B.
- Avoids Cascading Aborts (ACA). A concurrent execution of transactions avoids cascading aborts if whenever a transaction B reads x written by transaction A, A commits before B reads x.
- Strict (ST). A concurrent execution of transactions is strict if whenever a transaction B reads or writes x written by transaction A, A commits or aborts before B reads or writes x.
Given a set of transactions, each of the above scheduler properties defines a subset of all possible transaction operation interleavings and are increasingly restrictive (i.e. ST ⊂ ACA ⊂ RC). For a complete treatment of serializability theory, see chapter two of the freely downloadable textbook Concurrency Control and Recovery in Database Systems by P.A. Bertnstein et al.
External consistency is a term somewhat synonymous with strict serializability that was introduced to describe a similar property as it relates to the more challenging case of a decentralized storage system. It emphasizes the requirement that actual (wall clock) time order in which transactions complete must match their commit order. This requirement is the fundamental challenge in a decentralized database system that does distributed transaciton processing, which is why we chose to use this term for Spanner. In terms of serializabilty theory, externally consistent transactions are both "serializable" and "recoverable" but don't necessarily uphold the "avoids cascading aborts" and "strict" properties. Though the definition doesn’t include these additional properties, if a database system doesn’t allow reading or overwriting uncommitted data and provides external consistency, it will automatically guarantee strict serializability. For the formal definition of external consistency, see page 35 of Information Storage in a Decentralized Computer System by David K. Gifford.
For a more detailed explanation of these terms as they relate to Spanner, see Spanner under the hood: Understanding strict serializability and external consistency.