How apache/ignite works
Apache Ignite is a distributed in-memory database with optional persistence, distributed transactions, SQL, and compute APIs. Users submit cache operations, SQL, or compute work to a cluster; nodes execute and coordinate that work over distributed data, returning results through native or thin-client APIs. The graph preserves the README’s major capabilities and includes binary marshalling as an internal layer. Source excerpts are sparse, so most product-level relationships below are documented capability links rather than inspected call paths.
Main entry points: cache Cache API · thin-client Client APIs · platforms SQL Interfaces · internal Ignite Cluster
Components 17
Client Access
- Client APIs
modules/thin-client - SQL Interfaces
modules/platforms - Query Results
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientQueryCursor.java
Distributed Data
- Cache API
modules/core/src/main/java/org/apache/ignite/internal/processors/cache - Ignite Cluster
modules/core/src/main/java/org/apache/ignite/internal
Query and Compute
- Cache Query
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java - Calcite Engine
modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite - H2 Indexing
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2 - Cluster Compute
modules/core - Query Tracking
modules/core/src/main/java/org/apache/ignite/internal/processors/query/running/RunningQueryManager.java
Storage and Transactions
- Memory Tier
modules/core/src/main/java/org/apache/ignite/internal/processors/cache - Native Persistence
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence - Transactions
modules/core/src/main/java/org/apache/ignite/internal/processors/cache
Runtime Internals
- Binary Marshalling
modules/binary/impl/src/main/java/org/apache/ignite/internal/binary - Event Storage
modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
Other components
- Application
- External Database
Connections 19
- Application → Client APIs: uses
README.md - Application → SQL Interfaces: submits SQL
README.md - Client APIs → Cache API: accesses data
- SQL Interfaces → Calcite Engine: runs queries
README.md - SQL Interfaces → H2 Indexing: runs queries
- Cache API → Memory Tier: reads and writes
README.md - Cache API → Transactions: supports ACID
README.md - Transactions → Ignite Cluster: coordinates across nodes
README.md - Cache API → Native Persistence: persists data
README.md - Cache API → External Database: uses optional tier
README.md - Cache Query → Calcite Engine: dispatches SQL
- Cache Query → H2 Indexing: uses indexing
- Calcite Engine → Query Results: returns rows
- H2 Indexing → Query Results: returns rows
- Ignite Cluster → Cluster Compute: distributes work
README.md - Cluster Compute → Query Results: returns output
README.md - Client APIs → Binary Marshalling: marshals data
- Query Tracking → Cache Query: tracks execution
- Ignite Cluster → Event Storage: records events
modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java