If you ever looked at Apache Ignite, you have probably noticed that it is a fairly rich platform with lots of components. However, despite the extensive feature set, Ignite community aims to make the platform easy to use and understand. Here is how the Ignite community defines their project:

Apache Ignite is
the in-memory computing platform
that is durable, strongly consistent, and highly available
with powerful SQL, key-value and processing APIs

So, in summary, Ignite looks like a distributed data storage that can work both, in-memory and on-disk, and provides SQL, key-value and processing APIs to the data. Sounds simple enough. However, to get a complete picture, perhaps it is better to define Ignite by answering several "Is Ignite a ...?" questions:

Is Ignite a persistent or pure in-memory storage?

Both. Native persistence in Ignite can be turned on and off. This allows Ignite to store data sets bigger than can fit in the available memory. Essentially, the smaller operational data sets can be stored in-memory only, and larger data sets that do not fit in memory can be stored on disk, using memory as a caching layer for better performance.


Is Ignite an in-memory database (IMDB)?

Yes. Even though Ignite durable memory works well in-memory and on-disk, the disk persistence can be disabled and Ignite can act as a pure distributed in-memory database, with support for SQL and distributed joins.


Is Ignite an in-memory data grid (IMDG)?

Yes. Ignite is a full-featured data grid, which can be used either in pure in-memory mode or with Ignite native persistence. It can also automatically integrate with any 3rd party databases, including any RDBMS or NoSQL stores.


Is Ignite a distributed database?

Yes. Data in Ignite is either partitioned or replicated across a cluster of multiple nodes. This provides scalability and adds resiliency to the system. Ignite automatically controls how data is partitioned, however, users can plugin their own distribution (affinity) functions and collocate various pieces of data together for efficiency.


Is Ignite an SQL database?

Not fully. Although Ignite aims to behave like any other relational SQL database, there are differences in how Ignite handles constraints and indexes. Ignite supports primary and secondary indexes, however, the uniqueness can only be enforced for the primary indexes. Ignite also does not support foreign key constraints.

Essentially, Ignite purposely does not support any constraints that would entail a cluster broadcast message for each update and significantly hurt performance and scalability of the system.


Is Ignite a transactional database? 

Not fully. ACID Transactions are supported, but only at key-value API level. Ignite also supports cross-partition transactions, which means that transactions can span keys residing in different partitions on different servers. At SQL level Ignite supports atomic, but not yet transactional consistency. Ignite community plans to implement SQL transactions in version 2.4.


Is Ignite a key-value store?

Yes. Ignite provides a feature rich key-value API, that is JCache (JSR-107) compliant and supports Java, C++, and .NET.

You can find out more about Ignite by visiting the freshly redesigned Ignite website.


1

View comments

  1. This comment has been removed by a blog administrator.

    ReplyDelete
What is Apache Ignite?
1
Apache Ignite - In Memory Performance with Durability of Disk
5
GridGain In-Memory Data Fabric 7.5 is Released
Benchmarking Data Grids: Apache Ignite vs Hazelcast, Part II
3
Benchmarking Data Grids: Apache Ignite vs Hazelcast, Part I
7
Streaming and Transforming Data with Apache Ignite
1
Apache Ignite Word Count Streaming Example
Apache Ignite Word Count Streaming Example
Asynchronous APIs Done Right
1
Virtual Cluster Groups with Apache Ignite
5
Emergence of the In-Memory Data Fabric
Emergence of the In-Memory Data Fabric
4
Apache Ignite In-Memory Data Fabric v1.0 is Born
3
Chrontrack Technology, Powered by GridGain, Tracks NYC Marathon Runners
Chrontrack Technology, Powered by GridGain, Tracks NYC Marathon Runners
One-Phase-Commit - Fast Transactions For In-Memory Caches
1
Two-Phase-Commit for In-Memory Caches - Part II
4
Two-Phase-Commit for Distributed In-Memory Caches
4
GridGain 6.2.0 Released with Portable Objects and Distributed Services
GridGain 6.2.0 Released with Portable Objects and Distributed Services
GridGain 6.1.9 - One Click Installation - One Jar Dependency
GridGain 6.1.9 - One Click Installation - One Jar Dependency
1
G1 Garbage Collector Thrashes On Larger Heaps
1
Distributed Caching In 5 Minutes
2
Getting Started With Clustering
GridGain 6.1.0 Is Released with Support for JDK8 and Geospatial Indexes
GridGain 6.1.0 Is Released with Support for JDK8 and Geospatial Indexes
1
Five Easy Tips for Benchmarking In-Memory Data Grids
3
Five Easy Clustering Tips With GridGain
Grid-Enable Your Local Operations Across Cluster
GridGain Goes Open Source Under Apache v2.0
GridGain Goes Open Source Under Apache v2.0
6
Web Session Clustering - No Session Left Behind
Web Session Clustering - No Session Left Behind
5
Efficient Techniques For Loading Data Into Memory
Efficient Techniques For Loading Data Into Memory
3
Custom SQL Functions in GridGain IMDB
Custom SQL Functions in GridGain IMDB
Continuous Queries
Continuous Queries
1
Java Serialization - Good, Fast, and Faster
31
GridGain and Hadoop: Differences and Synergies
GridGain and Hadoop: Differences and Synergies
1
GridGain 4.3.1 Released
GridGain 4.3.1 Released
In-Memory Data Grids... Explained
9
MergeSort on GridGain
MergeSort on GridGain
10 Useful Performance Tuning Tips For GridGain
10 Useful Performance Tuning Tips For GridGain
6
Can Delaying Events Boost Performance Of Your Cluster?
Can Delaying Events Boost Performance Of Your Cluster?
1
Segmenting Locks for Concurrency
Segmenting Locks for Concurrency
7
HBase As Your Persistent Store?
HBase As Your Persistent Store?
1
Adding LevelDB store for your In-Memory Cache?
Adding LevelDB store for your In-Memory Cache?
Can You Manage Your Grid From Code?
3
What does "Real Time" in "Real Time Big Data" mean?
What does "Real Time" in "Real Time Big Data" mean?
Distributed HPC with Scala and GridGain, June 5, NYC Scala Meetup
Distributed HPC with Scala and GridGain, June 5, NYC Scala Meetup
GridGain Drivers on Cruise Control
GridGain 4.0.2 Released!
GridGain 4.0.2 Released!
Streaming MapReduce - GridGain Will Present at TriJug on April 16
Streaming MapReduce - GridGain Will Present at TriJug on April 16
Counting Words In Real Time On GridGain
Counting Words In Real Time On GridGain
1
GridGain 4.0 Released - Real Time Big Data Platform
1
GridGain 3.6.0 Released!
GridGain 3.6.0 Released!
1
GridGain is hiring
GridGain is hiring
GridGain 3.5 Released!
GridGain 3.5 Released!
PDC Theorem – The Underlying Principle of Real-Time Distributed Processing
PDC Theorem – The Underlying Principle of Real-Time Distributed Processing
How about distributed queues?
1
Clever Singletons on the Grid
Even better AtomicInteger and AtomicLong in Java
Even better AtomicInteger and AtomicLong in Java
16
Better AtomicLong and AtomicInteger in Java
Better AtomicLong and AtomicInteger in Java
10
Remote Actors vs. GridGain and Concurrency Unification
Remote Actors vs. GridGain and Concurrency Unification
GridGain 3.1.0 Released
GridGain 3.1.0 Released
Presenting at Scala Days 2011
Presenting at Scala Days 2011
Cool GridGain Transaction Example
GridGain 3.0.9 released
GridGain 3.0.9 released
Sitting on the cloud with Nikita Ivanov
Sitting on the cloud with Nikita Ivanov
Asynchronous Functional APIs in Java
Asynchronous Functional APIs in Java
10
Querying Cached Data - Paradigm Shift
Querying Cached Data - Paradigm Shift
2
GridGain Presents at TriJug
GridGain Presents at TriJug
1
GridGain User Group Started
GridGain User Group Started
GridGain at CodeMotion, Rome, Italy, March 5th
3
Compute Grids - What To Expect?
2
Taste Of SQL For In-Memory Cache Queries
4
Which Grid Product To Use?
Collocation - First Rule Of Distributed Programming
3
Say Hello To GridGain Data Grid
Say Hello To GridGain Data Grid
1
Presenting at NYC Scala Meetup, January 4th
Presenting at NYC Scala Meetup, January 4th
GridGain 3.0.3 Is Out
GridGain 3.0.3 Is Out
GridGain advances into Asia
GridGain advances into Asia
GridGain + Scala at Vancouver Island JUG, Dec. 2nd
GridGain + Scala at NYC JavaSIG, November 23
GridGain + Scala at NYC JavaSIG, November 23
GridGain Presents at Global CME Group Conference
GridGain Presents at Global CME Group Conference
November 2nd – Paris & Los Angeles – GridGain + Scala
November 2nd – Paris & Los Angeles – GridGain + Scala
“GridGain + Scala” European Tour 2010
“GridGain + Scala” European Tour 2010
1
“GridGain + Scala” at Memphis JUG, Tuesday October 19th
“GridGain + Scala” at Memphis JUG, Tuesday October 19th
The World's Shortest MapReduce App
3
Presenting at OCJUG, October 14th, 2010
Presenting at OCJUG, October 14th, 2010
GridGain at Silicon Valley Code Camp 2010, Sat, October 9th
GridGain at Silicon Valley Code Camp 2010, Sat, October 9th
GridGain Presenting at CEJUG, Brasil
GridGain Presenting at CEJUG, Brasil
Nice Scalar Video at Jazoon
Nice Scalar Video at Jazoon
2
True Art of Functional Cloud Recursion with GridGain 3.0
True Art of Functional Cloud Recursion with GridGain 3.0
GridGain 3.0 - Revolution Begins
GridGain 3.0 - Revolution Begins
Presenting at Jazoon 2010, June 2nd, Zurich
Presenting at Jazoon 2010, June 2nd, Zurich
GridGain is a Skill
GridGain is a Skill
1
CloudDog For Sale - Dynamic Images On The Cloud
3
Introducing GridGain 3.0
Introducing GridGain 3.0
10
Lower Your Electricity Bill With GridGain
1
GridGain Is Presenting at Dallas JUG, November 11
GridGain Is Presenting at Dallas JUG, November 11
1
Endless Conversations with Cucumber
Endless Conversations with Cucumber
GridGain - Simplicity and Developer Usablity
1
What is a Native Cloud Application
1
GridGain presents at Chicago Java User Group, August 18th
GridGain presents at Chicago Java User Group, August 18th
About me
About me
- Antoine de Saint-Exupery -
- Antoine de Saint-Exupery -
"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."
Blog Archive
Blogs I frequent
Loading
Dynamic Views theme. Powered by Blogger.