New and Enhanced Features for InterSystems IRIS 2020.3
This document describes the new and enhanced features in the 2020.3 release of InterSystems IRIS® data platform, which is a continuous delivery release. The enhancements in this release make it easier to develop and deploy real-time, machine learning-enabled applications that bridge data and application silos.
Enhancements that Improve Deployment and Operations Experience
This release provides the following enhancements to the deployment and operations experience, both in the cloud and on-premises:
Configuring a Kubernetes cluster is much easier with the new InterSystems Kubernetes Operator (IKO). See “Using the InterSystems Kubernetes Operator.”
The InterSystems Cloud Manager (ICM) adds support for InterSystems API Manager deployments. See “Deploying InterSystems API Manager.”
Asynchronous mirroring support for sharded clusters.
You can now manage Work Queues from the System Management Portal.
Enhancements that Improve Developer Experience
This release provides the following enhancements t the developer experience, including new facilities, higher performance, and compatibility with recent versions of key technology stacks:
Python Gateway — this release extends the dynamic object gateway to allow you to call Python code from ObjectScript and provides forward and reverse proxy access to Python objects. In previous releases, the dynamic object gateway only supported calls to Java and .NET.
Support for JDBC and Java Gateway reentrancy.
.NET Gateway now supports .NET Core 2.1.
XEP adds support for deferred indexing and indexes can be built as a background process. See “Controlling Index Updating.”
Support for Spark 2.4.4.
IntegratedML Machine Learning
This release introduces IntegratedML, a new feature that brings best-of-breed machine learning frameworks, such as SciKit Learn, TensorFlow, and H2O, to InterSystems IRIS. This feature allows you to build and deploy machine learning models using simple SQL statements. IntegratedML emphasizes ease of use by providing a universal interface to different frameworks and streamlining the iterative process of data preparation, training and deployment.
IntegratedML will be included in future releases, and it is available in a separate kit based on InterSystems IRIS 2020.3.
Other Enhancements and Efficiency Improvements
In each release, InterSystems makes many efficiency improvements and minor enhancements. In this release these improvements include:
The configuration and utility functions in $SYSTEM.SQL have now been organized thematically in subclasses such as %SYSTEM.SQL.Functions, %SYSTEM.SQL.Schema and %SYSTEM.SQL.Stats.Runtime, making their signature and behavior more consistent across the board. The old entry points in %SYSTEM.SQL have been deprecated but are still available for backwards compatibility.
You can now use Transact-SQL through JDBC. Please see the Transact-SQL Migration Guide for more on hosting Transact-SQL applications on InterSystems IRIS.
Node.js Native API now includes the List class. See “Native API Quick Reference for Node.js.”
Java Messaging Service (JMS) adapter is able to connect to a broader range of servers.
InterSystems IRIS on Linux has been enhanced to use Asynchronous I/O for writes to database files, as it always has on all UNIX® and Windows platforms. This is coupled with automatic use of direct I/O instead of buffered I/O. This change optimizes the disk I/O characteristics for database files in the following ways:
Improves application responsiveness at higher scaling levels by more fairly sharing I/O bandwidth with database reads and journal writes.
Improves integrity check performance by allowing integrity check to read multiple blocks asynchronously.
Improves effectiveness of asynchronous reads performed by $prefetchon.
Continuous Delivery Releases of InterSystems IRIS
InterSystems IRIS 2020.3 is a continuous delivery release of InterSystems IRIS. There are now two streams of InterSystems IRIS releases:
Extended maintenance (EM) releases — these are annual releases and provide maintenance releases. These releases are ideal for large enterprise applications where the ease of getting fixes in maintenance releases is more important than getting early access to new features.
Continuous delivery (CD) releases — these are quarterly releases provide that access quickly to new features and are ideal for developing and deploying applications in the cloud or in local Docker containers.
The quarterly schedule of continuous delivery releases reduces the time between when a customer requests a feature and we deliver it to them. Having regular schedules for both the continuous delivery releases and the major extended maintenance releases provide customers with a predictable schedule that helps them plan and schedule updates.
Continuous delivery releases are provided in container format and are available on Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Docker Hub, and the InterSystems WRC download site. You can run a continuous delivery release on any of these cloud platforms or a local system using Docker container. InterSystems does not provide maintenance releases for continuous delivery releases, but instead fixes issues in subsequent continuous delivery releases.
The extended maintenance releases are provided on all Supported Platforms Guide, including UNIX®, Windows, the cloud platforms, and the Docker container.
If your application runs on a non-container platform, you can only use an extended maintenance release for that application but can consider using the continuous delivery releases for:
Evaluating new features and testing your custom code — this will reduce your upgrade costs when you upgrade to the next extended maintenance major release.
Using it for new projects that can be deployed in the cloud or in local containers.
In addition to providing fully-suppported releases, InterSystems provides access to prerelease software for developers who want to get an early look at new features.