Apache Ignite 3 is a distributed database for high-performance computing.
- ACID TRANSACTIONS: Ignite can operate in a strongly consistent mode that provides full support for distributed ACID transactions executed at the Serializable isolation level.
- DISTRIBUTED SQL: Use Ignite as a traditional SQL database by leveraging JDBC drivers, ODBC drivers, or the native SQL APIs that are available for Java, C#, C++, and other programming languages.
- COMPUTE API: With traditional databases, for in-place calculations, you use stored procedures that are written in a language such as PL/SQL. With Ignite, you use modern JVM languages to develop and execute custom tasks across your distributed database.
- SCHEMA-DRIVEN ARCHITECTURE: Ignite built around schema-driven model ensuring consistency between DDL, internal models and data.
- PLUGABLE STORAGE ENGINES: Ignite's modular architecture enables the customization of underlying data and metadata storage, offering in-memory storage and RocksDB as default options.
- UNIFIED CLI TOOL AND REST API: Management tools now include built-in CLI and REST API allowing simple access and configuration of Ignite cluster.
The latest documentation is generated together with the releases and hosted on the apache site.
Please check the documentation page for more information.
Ignite is a top level project under the Apache Software Foundation
- Ignite web page
- Mailing lists
- For any questions use: [email protected] or [email protected]
Latest release artifacts (source release and binary packages) are available from the Ignite web page.
To start Ignite you need to download latest zip archive from the Ignite web page. Scroll down to the "Binary releases" section and download the version you are interested in.
Here is the command you can run to download current latest release:
https://dlcdn.apache.org/ignite/3.0.0-beta1/ignite3-3.0.0-beta1.zip
unzip ignite3-3.0.0-beta1.zip
After this you should have two directories: ignite3-db-3.0.0-<version>
and ignite3-cli-3.0.0-<version>
.
The first one contains everything you need to start Ignite node, and the second one contains Ignite CLI tool.
After unpacking it, go to the ignite3-db-3.0.0-<version>
folder and run the following command:
cd ignite3-db-3.0.0-beta1
./bin/ignite3db start
This command starts the Ignite node with the name defaultNode
.
If you want to change any node configuration, change values in etc/ignite-config.conf
before the start.
After that you need to connect to your node with Ignite CLI in interactive mode:
cd ../ignite3-cli-3.0.0-beta1
./bin/ignite3
In CLI you need to initialize simple cluster via the following command:
cluster init --name myCluster --cmg-node defaultNode --meta-storage-node defaultNode
Now CLI can be switched into SQL interactive mode with command:
sql
In SQL interactive mode user can simply type SQL commands in CLI:
CREATE TABLE IF NOT EXISTS Person (id int primary key, city varchar, name varchar, age int, company varchar);
INSERT INTO Person (id, city, name, age, company) VALUES (1, 'London', 'John Doe', 42, 'Apache');
INSERT INTO Person (id, city, name, age, company) VALUES (2, 'New York', 'Jane Doe', 36, 'Apache');
SELECT * FROM Person;
Ignite distributive zip archive can be built with Gradle:
./gradlew clean distZip
Build artifacts can be found in packaging/db
and packaging/cli
directories.
Ignite can be started with the help of Docker:
./gradlew docker
cd packaging/docker
docker compose up -d
You can also run the CLI within the Docker:
docker run -it --rm --net ignite3_default apacheignite/ignite3 cli
> connect http://node1:10300
> cluster init --name cluster --meta-storage-node node1 --meta-storage-node node2 --meta-storage-node node3
For more information, you can check the Developer notes
All contributions are welcome.
- Please open a Jira issue
- And create a pull request
For more information, you can check the Contribution guideline
The Apache Ignite project is licensed under the Apache 2.0 License. See the LICENSE file for details.