IGNITE-13309: Extended cpp build documentation
2 files changed
tree: 7e7ceffee6a93ce2e92f62171a3b43f7a981a39a
  1. .asf.yaml
  2. .github/
  3. .gitignore
  4. .idea/
  5. .travis.yml
  6. CONTRIBUTING.md
  7. DEVNOTES.txt
  8. LICENSE
  9. MIGRATION_GUIDE.txt
  10. NOTICE
  11. README.md
  12. README.txt
  13. RELEASE_NOTES.txt
  14. assembly/
  15. bin/
  16. checkstyle/
  17. config/
  18. dev-tools/
  19. doap_Ignite.rdf
  20. docker/
  21. examples/
  22. idea/
  23. ipc/
  24. modules/
  25. packaging/
  26. parent/
  27. pom.xml
  28. scripts/
README.md

Apache Ignite

Build Status GitHub Maven Central GitHub release GitHub commit activity Twitter Follow

What is Apache Ignite?

Apache Ignite is a horizontally scalable, fault-tolerant distributed in-memory computing platform for building real-time applications that can process terabytes of data with in-memory speed.

Multi-Tier Storage

Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and IntelĀ® Optaneā„¢ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device.

Read More

Ignite Native Persistence

Even though Apache Ignite is broadly used as a caching layer on top of external databases, it comes with its native persistence - a distributed, ACID, and SQL-compliant disk-based store. The native persistence integrates into the Ignite multi-tier storage as a disk tier that can be turned on to let Ignite store more data on disk than it can cache in memory and to enable fast cluster restarts.

Read More

ACID Compliance

Data stored in Ignite is ACID-compliant both in memory and on disk, making Ignite a strongly consistent system. Ignite transactions work across the network and can span multiple servers.

Read More

ANSI SQL Support

Apache Ignite comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or native SQL APIs available for Java, C#, C++, Python, and other programming languages. Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and DELETE queries as well as a subset of DDL commands relevant for distributed systems.

Read More

Machine Learning and High-Performance Computing

Apache Ignite Machine Learning is a set of simple, scalable, and efficient tools that allow building predictive machine learning models without costly data transfers. The rationale for adding machine and deep learning to Apache Ignite is quite simple. Today's data scientists have to deal with two major factors that keep ML from mainstream adoption.

High-performance computing (HPC) is the ability to process data and perform complex calculations at high speeds. Using Apache Ignite as a high-performance compute cluster, you can turn a group of commodity machines or a cloud environment into a distributed supercomputer of interconnected Ignite nodes. Ignite enables speed and scale by processing records in memory and reducing network utilization with APIs for data and compute-intensive calculations. Those APIs implement the MapReduce paradigm and allow you to run arbitrary tasks across the cluster of nodes.