Discover our quick start guide and build your first application in 5-10 minutes
Quick Start GuideApache Ignite provides multiple ways to access data. Use SQL with standard JDBC drivers. Use the Table API with typed RecordView or efficient KeyValueView. Use native language-specific APIs. All approaches access the same underlying data and benefit from memory-first architecture with partition-aware routing.
Apache Ignite implements ANSI SQL with support for DDL (CREATE, ALTER, DROP), DML (SELECT, INSERT, UPDATE, DELETE, MERGE), and complex queries with joins, aggregations, and subqueries. The query planner generates distributed execution plans.
Queries execute across cluster nodes in parallel. The planner routes operations to nodes holding relevant partitions. Results stream back through the coordinator. This enables queries against datasets larger than any single node's memory.
When tables share colocation keys, joins execute locally without data movement. The colocateBy annotation in schema definitions enables this optimization. Colocated joins deliver join performance comparable to single-node databases at distributed scale.
Apache Ignite provides standard JDBC drivers. Applications connect using familiar JDBC patterns. The driver implements automatic failover and connection pooling. This enables integration with existing tools and frameworks expecting JDBC connectivity.
RecordView provides typed access to complete table rows. Methods accept and return objects matching the table schema. The API handles serialization automatically. Use RecordView when working with full records or when type safety matters.
KeyValueView separates key and value types for efficient partial updates. Operations specify only the columns involved. This reduces network traffic and serialization overhead. Use KeyValueView for high-throughput scenarios or targeted column updates.
The Table API calculates partition ownership from keys. Operations route directly to nodes holding the data. No coordinator overhead. This single-hop access delivers minimal latency for point lookups and targeted updates.
Both RecordView and KeyValueView support batch operations. Methods like getAll, putAll, and deleteAll process multiple keys efficiently. The API groups operations by partition and executes them in parallel across relevant nodes.
Apache Ignite provides native clients for Java, .NET, C++, Python, and other languages. Each client implements the same core APIs with language-specific patterns. Consistent functionality across languages enables polyglot architectures.
All clients communicate via an efficient binary protocol. The protocol minimizes serialization overhead and supports request pipelining. Partition awareness works identically across languages. This delivers consistent performance characteristics regardless of client language.
SQL queries and Table API operations both support transactions. Begin transactions explicitly or use single-statement transactions. Choose isolation levels (REPEATABLE_READ or READ_COMMITTED). All access patterns provide the same transactional guarantees.
The Table API offers asynchronous methods returning CompletableFuture. This enables non-blocking operations for high-concurrency scenarios. Reactive streams support backpressure for controlled data ingestion. Choose synchronous or asynchronous based on application requirements.
Discover our quick start guide and build your first application in 5-10 minutes
Quick Start GuideLearn about SQL syntax, Table API methods, and client configuration
SQL and JDBC Documentation