A new version of Caché 2013.1 has been released. What's new?
Functional development- further development of EXtreme Event Persistence;
- WebSocket support;
- extended JSON support;
- The new panel editor in BI DeepSee.
Increase development speed- multicompile classes;
- new COS command return;
- args by reference;
- % Find for Caché SQL.
Performance improvement- XML processing performance + 50%;
- improved de-journaling performance;
- increase in productivity of ROLLBACK up to 20%;
- increase the limit of the global buffer to 16 TB;
- increasing the limit of shared memory to 1 TB;
- building class indexes with minimal downtime -% Library.IndexBuilder;
- lock escalation;
- increase in the performance of competitive updates - up to 30%.
Full version of the document in
English .
About everything one after another and about other changes of the version under a cat.
EXtreme Event Persistence (XEP) Improvements
- Expanded support for inheritance, links, interfaces, and synchronous indexing.
- Support for simpler storage options.
- XEP now has two types: TCP / IP and JNI.
- The @ Id notation for Java and .NET allows a field to become a database ID.
- New mechanisms for calling Caché Object Script (COS) class methods from Java / .NET.
- Support for calling COS functions, procedures with several parameters and return types.
- Improved performance of insert operations.
- A new API (parallel storage API) has been added to maximize the capabilities of multi-core servers and increase write performance to the database.
- Improved InterSystems JDBC query engine.
- Reduced JNI usage.
Read more
here .
')
Globals API Improvements
This version adds support for $ query in the Java and .NET APIs. ValueList globals now support decimal values. Methods in the Globals API can call Caché Object Script functions, procedures with several parameters and return types, as well as class methods. Visual Basic support now comes with an example of usage. Read more
here .
New element language RETURN
A new
RETURN command has been
added to Caché Object Script to optimize code and improve readability. Its definition is similar to the QUIT expression, but results in exiting a subroutine, method, or class method in the code that caused them.
Parameter support by reference with Args ...
Construction
args ... to transfer an unspecified number of variables for a method or procedure can now be used to pass parameters by reference.
WebSocket support
The CSP gateway now includes support for the HTML 5 specification for WebSocket communication between the server and an HTML 5 compliant browser. This feature is available in Apache version 2.2 and higher and will be available for IIS 8.0, which is part of Windows Server 2012.
The class% CSP.WebSocket is added to the class library - to create / manage the WebSocket functionality, it is necessary to inherit from it.
Caché SQL Development:% FIND Support for WHERE
This version introduces a new Caché SQL element with the following construct:
% FIND [SIZE]
denotes a set of values that are a filter for. The condition is satisfied if it is in.
Improved FrameStack Processing
<FRAMESTACK> errors can now be handled in error handlers. Caché will no longer remove these items from the execution stack before calling the error handler.
Third Party Updates
This release now includes Java 7 and Java 6 libraries. Additionally, Caché now supports JDBC 4.1.
Also ANTLR has been updated to version 3.4, Xerces has been updated to version 3.1.1 on UNIX®.
Studio Assistant for MVB
Studio Assistant now recognizes the following constructs:
- Caché Basic: “ClassName” .ME.
- MVBasic: “ClassName” -> @ ME->
- Caché Basic: “ClassName” .ME. MV BASIC: “ClassName” -> @ ME->
XML support for list of streams (List of Streams)
The list of streams (List of Streams) will be correctly transferred to XML. The list of streams can be specified using the 'List Of' construct, or by creating a class that is a subclass of% ListOfObjects with an ELEMENTTYPE pointing to streamclass.
JSON handling improvements
Major changes have been made to the JSON API. Now the Caché API can generate JSON strings from objects, globals, or the results of SQL queries. This increases the efficiency of using when working with third-party client interfaces (jQuery, angular.js, etc.) that support JSON as a data transfer mechanism. In addition to converting external structures into JSON, the system supports accepting JSON sent by the client and converting them into multidimensional COS arrays inside the Caché application.
DeepSee improvements
DeepSee is a new editor for creating and editing panels. The new panel editor uses improved schemas and new ZEN components. The editor is invoked if you click on the bar on the left side of the panel. The new panel editor provides significantly more options for controlling the appearance of charts and tables.
In addition, covers (covers) appeared in the DeepSee portal - as a result, BI elements on the home page (panels, summary tables, reports, links) are displayed as icons. The new cover editor allows you to customize the cover (images, text, colors, etc.) for the DeepSee elements.
Performance and Scalability
XML performance
XML performance has been enhanced by improving XML processing between Caché and Xerces. You can expect an improvement in import performance in% XML.Reader to 50% and up to 25% in SOAP messages.
HTTP 1.1 Keep-Alive
Keep-Alive support with HTTP 1.1 has been added to this release. This allows clients to keep the TCP / IP socket to the web server active so that multiple requests can be made through a single socket, instead of closing and opening a new socket for each request.
Improved de-logging performance
InterSystems in this version has improved de-journaling performance (De-Journaling), by optimizing the prefetching algorithms even better. Logging (for shadow copying, mirroring, and logging from the log during recovery) uses a prefetch mechanism to speed up the completion of writing and deleting values to the database. These samples are responsible for the “pre-reading” of blocks in the buffer pool. At the same time, the actual update process can occur very quickly and produce updates without slowing down due to the disk reading process. This version includes an auxiliary algorithm that allows the prefetch sample to be read in additional (reference) blocks, further accelerating the overall performance of the de-logging.
Improved ROLLBACK performance
In this release, the ROLLBACK performance is improved by 10% -30% compared with previous versions. The improvement refers to the rollback of both individual (large) transactions, and block rollback (such as occurs during recovery at startup).
AES Encryption on Intel hardware
Intel supports the latest AES-NI processors, which significantly speeds up the encryption and decryption of AES. The first tests show a significant performance improvement when running AES software. This minimizes performance costs for encrypted databases with high physical I / O rates.
Improved encryption performance
Previously, the performance feature called “parallel encryption WIJ” was available on the AIX platform. This feature now works on HP-UX, Linux and Solaris, and can accelerate database encryption speeds during write cycles up to 4 times.
Improved asynchronous I / O performance
This version includes improvements in asynchronous I / O. The new algorithm detects multiple sequential updates and writes data in larger blocks, which, according to measurements, speeds up recording with sequential load 1.6 - 1.8 times.
MultiCompile is enabled by default.
Caché now uses MultiCompile to compile classes by default, which reduces compile time on multi-core processors.
Multicolumn join optimization
In this release, some of the old functions used to optimize multi-column join have been removed. Now a more general approach provides better performance for all types of multi-column join expressions.
Improved performance of competitive inserts
In this version, the competitive insert functionality is optimized on very large systems. With this optimization, tests showed an improvement in overall database scalability from 20% to 30%.
Add class indexes with minimal downtime
The current version introduces the new function% Library.IndexBuilder. This class and its methods allow you to add one or more indexes to an existing class. The function is implemented specifically for cases when:
- the usual% BuildIndices method will take a long time because a large amount of data is involved and
- The application runs on a system where downtime should be minimized.
This new feature has already been considered on
Habré .
Improved block escalation
This release introduces a new lock mode, “E”, created to automate lock management and improve lock table management. In this mode, if a single transaction exceeds a certain number of locks, they “merge” into one higher level lock (if Caché considers this action safe). This will make room in the lock table.
TuneTable export / import statistics
In this release, Caché SQL adds support for exporting / importing TuneTable statistics for a region. This allows you to export TuneTable, Selectivity and ExtentSize data from the system and reload it without sending and compiling class metadata.
Reliability, availability, serviceability, monitoring
4K sector disk support
This version includes support for disks with 4K native sectors, which are implemented in Advanced Format disks (AF).
TIFF output in Zen reports
Zen reports can now create content in TIFF format, in addition to the formats that were previously supported - HTML, XML, PDF, Excel, etc.
Licensing of individual applications
Some Caché customers license their applications in full or in functional modules. Among the difficult tasks with which they are encountered, it is possible to name the correct accounting of licensed units in various application processes and abnormal situations. Some customers additionally request the ability to associate their licenses with a primary system license provided by InterSystems.
Through the licensing of individual applications, InterSystems provides the customer with the ability to create, deploy and use application licenses. InterSystems uses this form of licensing for its HealthShare and TrakCare application products.
Increasing the limit of the global buffer
This version includes support for very large globals. Previously, the limit was about 107 GB. Now global buffers can be configured for up to 16 TB.
Increasing the limit of shared dynamic memory (Shared Memory Heap)
This version includes support for very large shared dynamic memory. Previously, the limit was about 4GB. Now shared dynamic memory can be configured to up to 1 TB.
Eliminating reloads associated with changing configuration settings
The following Caché configuration options can now be updated dynamically without rebooting the system for the new settings to take effect.
List of parameters:- MaxServers: the maximum number of client machine connections to ECP servers.
- VMSConsoleTerminal: device name of the console terminal for logging messages to the OpenVMS system.
- netjob: enable / disable remote process requests.
- wijdir: file directory Write Image Journal.
- console: console log file name.
- LineRecallBuffer: total size (in bytes) of all input lines to be stored in the command line buffer / read lines.
- LineRecallEntries: The maximum number of entries stored in the command line buffer / read string, subject to a size limit in the LineRecallBuffer setting.
- bbsiz: maximum allocation of memory allowed for processing (in kilobytes).
Automatic start of prefetching daemons
The auto-start prefetch mechanism ($ PREFETCHON / $ PREFETCHOFF) requires the initialization of system-wide daemons. This version of Caché automatically checks that the prefetching daemons are running when they are needed and stopped when they are no longer needed. Thus, now you do not need to manually start and stop them.
Improved SQL performance analysis tools
In this release, Caché comes with additional utilities that enhance SQL performance analysis. Utilities allow you to: calculate the number of times the index is used; identify queries that trigger table scans, or depend on the creation of temporary structures; find queries using Join and calculate how well they are supported by existing indexes.
Overcoming Failure and Disaster Recovery
In previous releases of the Caché DB for disaster recovery (Disaster Recovery), an asynchronous mirroring configuration was proposed. In this release, InterSystems made it easier to switch from the asynchronous mirroring site in the event of a crash (or for testing purposes). It is also now easier to switch back to the main mirror to continue working.
WS Reliable Messaging
In this release, Web Services Reliable Messaging can be used to reliably deliver (identify, track and manage) messages between origin and destination points.
Full online documentation Caché 2013.1
in English .