Apache Ignite 2.7: Deep Learning and Extended Languages Support
Deep Learning With TensorFlow
Even though it was natural to provide machine learning algorithms in Ignite out of the box, another direction was taken for deep learning capabilities. Primarily because machine learning approaches have already been adopted in businesses from big to small -- while deep learning is still being used for narrow and specific use cases.
Thus, Ignite 2.7 can boast about an official integration with TensorFlow deep learning framework that gives a way to use Ignite as a distributed storage for TensorFlow calculations. With Ignite, data scientists can store unlimited data sets across a cluster, gain performance improvements and rely on fault-tolerance of both products if an algorithm fails in the middle of an execution.
Extended Languages Support - Node.JS, Python, PHP
Java, .NET and C++ have been extensively supported by Ignite for a while now. But until now, when it came to other languages, developers had to fall back to REST, JDBC/ODBC calls. To address the limitation of missing native APIs for programming languages different from the three above, the community released a low-level binary protocol used to build thin clients. A thin client is a lightweight Ignite client that connects to the cluster via a standard socket connection.
Based on this protocol, Ignite 2.7 adds support for Node.JS, Python and PHP. As for Java, .NET and C++, you can leverage from thin clients, as well, if the regular clients are not suitable for some reason.
Transparent Data Encryption
For those of you who are using Ignite persistence in production, this functionality brings peace of mind. Whether you store any sensitive information -- or an entire data set has to be encrypted due to regulations -- this feature is what you need. Check this page for more details.
Transactional SQL Beta
Last, but probably the most anticipated addition to Ignite, is fully transactional SQL. You're no longer limited to key-value APIs if an application needs to run ACID-compliant distributed transactions. Prefer SQL? Use SQL! Yes, it's still in beta and might not yet be the best fit for mission-critical deployments, but definitely try it in your development cycles and share your feedback. It took us several years to reach this milestone and before GA release comes out, we want to hear what you think.
Finally, I have no more paper left to cover other optimizations and improvements. So, go ahead and check out our release notes.