IBM® Netezza® SQL does not use conventional locking to enforce consistency among
concurrently running transactions. Instead, it automatically uses
a combination of the following mechanisms. There is no need for user
intervention, commands, or hints.
- Multiversioning
- Each transaction sees a consistent state that is isolated from
other transactions that are not committed. Because of the Netezza architecture, the hardware can quickly provide the correct view
to each transaction.
- Serialization dependency checking
- Concurrent executions that are not serializable are not allowed.
If two concurrent transactions attempt to modify the same data, the
system automatically rolls back the latest transaction. This form
is a form of optimistic concurrency control that is suitable for low-conflict
environments.