The Doradus v2.4.0 contains many new features and bug fixes. Here are some of the highlights:
- Logging Service: A new storage service is available, optimized for immutable, time-series log data. This service can store up to 500K events/second/node, uses very little disk space, and provides fast searching and aggregate queries.
- Docker support: In addition to the OpenShift environment, Doradus can now be hosted as a Docker application using its embedded Jetty server. The Docker implementation also supports the AWS Elastic Container Service (ECS), giving Doradus automatic load balancing and failover.
- Logging for Docker apps: A Logstash-based Docker image is available to capture Docker application log files and store them using the new Doradus Logging service.
- Dory client: The doradus-client package offers a new Java POJO client we call "Dory". The primary interface class is
com.dell.doradus.dory.DoradusClient
. This "generic" client can call all REST commands for all active storage services, including future ones. It uses the builder pattern for constructing application schemas, update batches, and queries. You can find an example application atcom.dell.doradus.client.utils.HelloDory
. - REST command metadata: You can get a list of all available REST commands with the new command: GET /_commands. (Add ?format=json to the URI to see the result in JSON.) The name, description, and parameters of each command are described.
- Multi-tenant features: New multi-tenant features have been added such as the ability to define tenant-specific users with explicit permission lists.
- Config command: Get the server's current version and parameter settings with the REST command: GET /_config.
- OLAP optimizations: Several performance and space optimizations were implemented for Doradus OLAP, including the olap_search_threads parameter, which allows parallel shard searching for multi-shard queries.
- OLAP merging: OLAP applications can now request automatic background merging with the auto-merge option. This option is compatible with explicit, REST command-based merge requests, and merge tasks are distributed in a multi-instance cluster.
- OLAP live data queries: Data batches that have not yet been merged can be included in object and aggregate queries by adding the parameter &uncommitted=true to the URI. There are a few caveats with this option, but when updates mostly add new objects to shards, this option allows you to query "live" data.
- OLAP new query functions: OLAP supports a new ROUNDUP function for aggregate queries, and new set quantification functions: EQUALS, INTERSECTS, DISJOINT, and CONTAINS.
- Java 1.8: Doradus is now compiled with and requires Java 1.8. The source code trees have also been reorganized to follow Maven standard practices.