User:Matt monteen/Serializability

Serializability is a property of databases or file systems that is achieved when multiple transactions executed concurrently produce the same final state as some serial execution of the same transactions. Such execution is said to be serializable. This property enforces the ACID scheme, and is stronger than simpler data consistency which only forces data to converge at the same value at the end of the transactions. With serializability a system can ensure total correctness of transactions, sometimes limiting availability due to larger use of locks and other synchronous techniques.

In a distributed system (either database or file system) this property can be refined into that of one-copy serializability. In such systems data may be replicated over a set of physical copies, so transactions on the same data items are likely to be issued on different copies. If the concurrent execution of multiple transactions on replicated data is equivalent to a serial execution on a single copy (i.e. non-replicated data), that execution is said to achieve the property of one-copy serializability.

These properties were first introduced in databases and later were used in distributed file systems.