Home

Viewserializability

Viewserializability (often written as view serializability) is a correctness criterion for concurrent transaction schedules in database systems. A schedule is viewserializable if its effects are equivalent to those of some serial schedule, based on what each transaction reads (its view) and the final values produced for each data item. Informally, this means that the reads in the schedule must be explainable by reads from a single predecessor write (or from the initial value), and the final writes on each data item must match those of the chosen serial order.

Key concepts include the read-from relation and the final-write relation. For every read operation r_i(x) in

View serializability is weaker than conflict serializability: every conflict-serializable schedule is view-serializable, but not every view-serializable

In practice, view serializability is a theoretical notion used to analyze what schedules can produce correct

a
schedule,
if
it
reads
a
value
written
by
T_j,
then
in
the
equivalent
serial
schedule
the
read
must
originate
from
the
same
transaction
T_j
(or
from
the
initial
value
if
no
prior
write
occurred).
Additionally,
the
last
write
to
each
data
item
x
in
the
schedule
must
be
the
same
data
item
written
by
the
same
transaction
in
the
serial
schedule.
These
conditions
ensure
that
the
observable
outcomes
of
the
reads
and
the
final
states
align
with
some
serial
execution.
schedule
is
conflict-serializable.
To
test
view
serializability,
one
can
construct
a
view
graph
with
transactions
as
nodes
and
edges
T_i
→
T_j
when
T_i
reads
a
value
written
by
T_j
(including
an
edge
from
an
initial
state
node
if
a
read
uses
the
initial
value).
If
this
graph
is
acyclic,
the
schedule
is
view-serializable.
results;
verifying
it
can
be
more
complex
than
checking
conflict
serializability,
and
implementations
often
favor
stronger
guarantees
for
simplicity.