Skip to main content

Release Notes

This section provides a brief overview of the new features and improvements of Atoti Server.

For a detailed list of all changes, see our Changelog.
For migration tips, see our Migration Notes.

Atoti server 6.1 requires :

  • Java 21
  • Spring 6
  • Spring boot 3.2

6.1.3

released on 2025-01-13

Improvements

Datastore

  • Improve approximate distinct count performance with HyperLogLog algorithm

Cube

  • Expand usability for virtual hierarchies [doc]
    They are now usable from an Excel client and within a distributed context (horizontal or polymorphic).

Aggregation engine

  • Improve measure computation default partitioning in DirectQuery context
    When no partitioning is implied, default partition is now chosen based on query filters and level cardinalities.

Observability

  • Improve query tracing [doc]
    MDX query journey is now entirely traced from endpoint call to database retrieval.

6.1.2

2024-11-28

New features

DirectQuery
  • New distributed date roll over procedure with downtime [doc]
    This procedure describes how you can roll a date between data nodes with a minimal downtime.

Aggregation engine

  • New MaxAppendOnlyFunction and MinAppendOnlyFunction native aggregation function
    These functions does not keep a history and thus does not support fact disaggregation.
    But, they can be used in aggregate providers.

Improvements

Copper

  • Define continuous query handler for your copper measures [doc]

Observability

  • New available metrics [doc]

Changes

Spring

  • Atoti server beans name are now qualified with AtotiServer- to avoid collision

Fixes

DirectQuery

  • Fix aggregate table bootstrapper on specific cases
    Multiple hierarchies on the same selection field. Aggregate provider with native measures.

6.1.1

2024-10-17

New features

AI Query Optimizer

  • AI-based aggregate provider recommendation (experimental) [doc]
    Optimizer can analyze your query patterns and recommend an aggregate provider configuration.

Live extension

  • Extend your java application on the fly with Atoti Python API [doc]
    Expose your java application with the runtime starter.
    Then use Atoti Python API to customize your application at runtime.

Improvements

Sources

  • Cloud multiple files CSV topic
    Load multiple CSV files in a topic from the cloud with CloudMultipleEntitiesCsvTopic.

Distribution

  • Ensure all your measures are serializable with activeviam.activepivot.ensureSerializableMeasures
    In a distributed context, all your post processors measures should be serializable. This allows their transmission to the query node.
    You can activate this property to check, at startup, if your measures are serializable.

Fixes

DirectQuery

  • Fix time travel activation Snowflake and Databricks
    From 6.1.0, it was not possible to activate time travel for Snowflake and Databricks.

Aggregation engine

  • Fix default partitioning in DirectQuery context
    Before this fix, in a DirectQuery context, when no aggregate provider was defined, measure computation was not partitioned.
    Now, Aggregation engine applies a default partitioning.
    Definition of a partitioning on the jit is now forbidden.
  • Fix timeout propagation for drillthrough queries
    Before this fix, the timeout was not propagated to the database on drillthrough query.
    Now, the timeout is correctly propagated.

WebServices

  • Fix incorrect empty location filtering in data export
    Before this fix, tuples with no data was filtered from export.
    Now, they are correctly exported.

Deprecations

  • Source API streamlining deprecations
    A source API rework is planned for 6.2.0.
    Preparing this work, several API have been deprecated (with alternatives).
    Refer to the change log for an exhaustive list of deprecations.

6.1.0

2024-09-06

Public and Internal APIs

In this new release, the boundaries of public and non-public classes/APIs have been clearly delimited.

There are now two broad types of classes for use in Atoti:

  • Public apis, marked with .api.. These classes can be used in any project. The public API are guaranteed to remain compatible between bug fix releases. Moving to the latest bug fix will in time become frictionless.
  • Not public, marked with .private., .internal. or .avinternal are not destined for use outside ActiveViam’s own developer teams. These classes have no guarantee to be compatible between bug fix releases.

A tool for automatically reorganizing imports is available in the migration notes.

This major change aims to simplify maintenance for both ActiveViam and customers.

Projects that still utilize classes that reside in a package that is not part of the delimited public API after migration to this new version should contact ActiveViam's support teams to find a suitable solution.

Discussing the technical challenges behind the use of an internal API will shed light on how Atoti Server is used, what it is used for, and will help shape the future of the product's API.

New features

Distribution

  • Copper in distributed cubes is now stable [doc]
    Copper calculations can now be defined in Query cubes.

DirectQuery

  • DQ API V2 [doc]
    Full control on table and field building.
    Common runtime interface for all databases.
  • Emulated time travel (experimental) [doc]
    Direct query can now leverage defined versioning columns in tables to provide a versioned experience on external databases which does not supports time travel.
  • Official support of Dremio database [doc]
  • Aggregate table is now stable [doc]
  • Incremental refresh is now stable [doc]

Project building

  • Spring Boot Starters [doc]
    Spring Boot Starters are now available to help with building an Atoti Server application.
    As of now, the following modules can be used in your projects:

    • com.activeviam.springboot:atoti-server-starter
    • com.activeviam.springboot:atoti-ui-starter
    • com.activeviam.springboot:atoti-admin-ui-starter
    • com.activeviam.springboot:atoti-server-apm-starter
    • com.activeviam.springboot:excel-addin-starter

    See the Sandbox for an example of their usage in a project.

Data structure

  • SameValueVector:
    Newcomer in vector computation components allowing to manipulate a same value vector.

Improvements

DirectQuery

  • Multithreaded result set parsing
  • Queries with inequality operators (<, <=, > and >=) can now use aggregate table
  • Clustering fields can be used by runtime queries (not only feeding)

Copper

  • Switch measure (experimental) [doc]
  • Database measure (experimental) [doc]

Mdx Engine

  • Calculated measures evaluation [doc]
    The Mdx engine will now analyze the expression of each calculated member in order to find a better companion than contributors.COUNT. This will reduce the computation time of some calculated measures. Also, this optimization aims to improve polymorphic cluster performance by reducing the number of queried data nodes in some cases.

Distribution

  • Option to conceal branches from the distributed application
    The query node will have no knowledge of some of all the branches created on the data nodes. One can also change if a branch is concealed or not on the fly.
  • Execution of PostProcessors in horizontal distribution [doc]
    PostProcessors will now be executed in data nodes only if they opt-in for.

Test API

  • Public API for testing [doc]
    Atoti Server now ships an official API to test your Atoti Server project. This API is available in the module com.activeviam:atoti-server-test. It provides a series of helper classes to run queries on ActivePivot instances and check the results as well as a helper class to write tests involving the Distribution layer.

Observability

  • Observability is now implemented with OpenTelemetry [doc]