Discover our quick start guide and build your first application in 5-10 minutes
Quick Start GuideApache Ignite delivers full ACID transactions across any number of partitions. MVCC provides snapshot isolation without blocking readers. Distributed replication ensures durability. Lock tables, transaction state, and commit decisions all remain in memory.
Every write creates a new version tagged with a timestamp. Transactions read from a snapshot determined by their start time. Readers and writers never block each other. This delivers REPEATABLE_READ isolation without traditional locking overhead.
The system maintains multiple versions until older snapshots complete. Storage engines handle version cleanup automatically. Analytical queries execute on stable snapshots while transactional updates proceed at full speed.
Transactions see a consistent snapshot of the database at their start time. Long-running reads don't block operational writes. No phantom reads. No non-repeatable reads. Snapshot isolation protects against anomalies.
The system detects write-write conflicts during commit. Conflicting transactions abort with serialization errors. Applications can retry failed transactions. This provides safety without requiring locks during execution.
Transactions commit through Raft consensus. The system replicates transaction changes through the distributed consensus log. Data becomes durable once replicated to a majority of replicas. No local write-ahead log needed.
Transactions span any number of partitions. A coordinator manages distributed commit protocol. All participating partitions must agree before commit completes. Failures trigger automatic rollback across all partitions.
The system handles node failures during transaction execution. Ongoing transactions on failed nodes abort automatically. Committed transactions remain durable through replication. No data loss after commit acknowledgment.
Lock tables and transaction state live in memory. Commit decisions execute without disk I/O. Durability comes from distributed replication rather than local logging. This delivers transactional guarantees with memory-first performance.
The default isolation level provides snapshot isolation. Transactions see a consistent snapshot from their start time. Prevents dirty reads, non-repeatable reads, and phantom reads. Write conflicts detected at commit time.
Each statement sees committed data as of statement start. Lower isolation provides better concurrency for read-heavy workloads. Still prevents dirty reads. Non-repeatable reads and phantom reads possible within transaction.
Use REPEATABLE_READ for transactions requiring consistent snapshots across multiple operations. Use READ_COMMITTED when statement-level consistency suffices and you need maximum read concurrency. Both levels prevent dirty reads.
Both isolation levels use optimistic concurrency. No locks held during transaction execution. Conflicts detected at commit. Applications retry on serialization failures. This approach maximizes throughput for memory-first operations.
Discover our quick start guide and build your first application in 5-10 minutes
Quick Start GuideLearn about transaction isolation levels, commit protocols, and error handling
Transactions Documentation