DBMS InterSystems Caché 2014.1. Release notes
Functionality Development
- REST support;
- Globals C API;
- UDP support;
- development of Caché SQL;
- Enterprise Manager support;
- DeepSee Cube Manager;
- a single trigger model for objects and SQL.
Performance enhancements
- Up to 40% increase in TROLLBACK performance.
- Performance Diagnostics MDX.
- Improving query performance with UNION and improvements in Tune Tables.
- Defragment and compress Caché databases.
More about this and much more under the cut.
REST support
Starting with the 2014 version, Caché supports REST request processing at the CSP Gateway level. To support a REST interface by a web application, you need to define a handler class that, using the built-in URL matching tool, will pass the call to the desired class and method.
At the level of data transfer between the client (browser) and the database server, XML and JSON are supported.
An example of building a REST application in Caché is considered on Habré .
Globals C API
This innovation concerns the NoSQL component of the Caché - Globals API, which allows you to work with Caché stored structures - globals - most quickly and directly. To existing Java, Node JS and C # API Globals C API was added. In particular, this allows you to use work with data in Caché and GlobalsDB directly from C and C ++ applications, such as, for example, Ruby.
UDP support
This release introduced UDP socket support, which is implemented through the% Net.UDP class. The class allows communication with the Caché server without connection support.
See the% Net.UDP class documentation for more details .
Unified trigger processing model for objects and SQL
This version of Caché adds support for a single trigger model that works on both object and SQL access for INSERT / UPDATE / DELETE events. New class triggers, however, do not cancel the existing% OnXXX family of callbacks for object access: all these calls will continue to work and will be supported.
New SQL command: INSERT OR UPDATE
This release supports the new SQL command - INSERT OR UPDATE. It works as an INSERT, but if the UNIQUE constraint for the inserted record is triggered, UPDATE is executed instead of INSERT. This innovation will be useful for cases when only one record is possible in a table with a certain value of a unique index, and instead of checking whether a record exists and further INSERT or UPDATE, you can use the same SQL INSERT OR UPDATE command.
More details .
MDX Performance Diagnostics
A utility for diagnosing the performance of MDX queries for OLAP solutions on DeepSee has appeared. If you have any questions about the performance of MDX queries using the % DeepSee.Diagnostics.MDXUtils utility, you can now collect all the necessary diagnostic information and send it to InterSystems support.
Documentation .
DeepSee Cube Manager
New component in InterSystems DeepSee BI technology.
Cube Manager provides a web-based user interface for defining cubes into groups in large BI solutions and to schedule rebuilding and updating cubes.
Cube Manager can be found in the DeepSee tab.
Model Browser allows you to visually see the relationships between dependent cubes.
Details .
Rollback Performance Increase
TROLLBACK transaction rollback performance increased by 20% -40%. The improvement concerns both long single transactions and bulk transaction cancellations during recovery from the log.
Support for separate calculation of the selectivity of a property for outlier values
TuneTable calculates the Selectivity in percent for each property. Selectivity is based on the assumption that values are evenly distributed. For example, in a table with a list of people, any particular birthday will appear in 0.27% of the data (1 time out of 365).
Starting with this version, for one value that occurs much more often than the rest, the so-called Outlier Selectivity will be calculated, and for the other values, the usual selectivity will be calculated. For example, if one value occurs in 75% of cases, and the remaining 20 in 25 percent, then Selectivity will be calculated as (100% -75%) / 20 = 1.25%.
The most popular case of a value knocking out of a uniform distribution is NULL. If the number of records with a NULL value significantly exceeds the number of other values, then NULL is a statistical outlier and OutlierSelectivity will be calculated for it.
Article in the documentation .
Defragment and compress: works again!
In this version, the functionality for defragmenting and compressing databases is again available.
Compression utility - moves unallocated space to the end of the file; as a result, the database file can be reduced by the amount of empty space.
Defragmenting globals - the utility redistributes the location of blocks for the global into databases in an increasing sequence, which gives a slight increase in performance when sequentially traversing the global.
More details .
Zen Mojo and Enterprise Manager
Also, starting with the Caché 2014 version, two new promising InterSystems technologies are supported: Zen Mojo and Enterprise Manager.
Enterprise Manager (EM) is a product for efficiently managing a large number of Caché and Ensemble installations. EM allows you to conveniently perform uniform configuration changes (for example, security settings for web applications, managing roles and users, or mapping globals) simultaneously on multiple servers or server groups, which simplifies administration and minimizes errors.
Zen Mojo is a framework for the rapid development of mobile and web applications with responsive design using popular JS frameworks (Dojo, jQuery, etc.). Zen Mojo releases are not tied to Caché releases, and today Zen Mojo 1.06 is available for download at WRCInterSystems customers and partners.
About Zen Mojo and Enterprise Manager there will be separate detailed posts - stay tuned.
The full text of Release Notes can be found here.