Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

One of the major features of AI3, as a distributed database, is the ability to execute multiple table operations as single atomic operation, known as transaction. We need to design modern and robust transaction protocol, taking into account current best practices. Both key-value and SQL database access methods will rely upon it. Comparing to AI2, we aim to support transactional SQL from the beginning and remove limitations like size of transaction. Our transactions may span several nodes in the cluster, making them distributed.

Definitions

Record (aka Row, Tuple, Relation) -a collection of attribute-value pairs.

...

Cascading abort - a situation in which the abort of one transaction causes the abort of another dependent transaction to avoid inconsistency.

Design Goals

Before setting goals, let's overview several options for a transaction protocol.

Description

// Provide the design of the solution.

...