Locks and concurrency
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.