ActivePivot is a distributed, in-memory DBMS designed for HTAP workloads, which supports real-time data streams. It uses a columnar storage architecture with dictionary compression and binary representation of Java objects.[03]
- Developer
- Country of Origin
- FR
- Project Type
- Commercial
- Written in
- Java
- License
- Proprietary
ActivePivot is a distributed, in-memory DBMS designed for HTAP workloads, which supports real-time data streams. It uses a columnar storage architecture with dictionary compression and binary representation of Java objects.[03]
Compression[03]
ActivePivot uses both dictionary encoding and Java primitives for compression.
Dictionary Compression: When there is a small number of distinct values for an attribute, the attributes can be encoded into an integer from 1 to N where N denotes the total number of distinct values by using a dictionary that stores the distinct values.
Java Primitives: Instead of storing integers as Java Integer objects, ActivePivot stores these as primitives. The number of bits stored for each number is based on the range of possible values. For example, if the values in a column are given to be between 0 and 256 then the system would only store 8 bits per number. This form of compression can be combined with dictionary compression
Concurrency Control[03]
The system allows for multiple versions of a database. For example, there can be one version that continuously gathers incoming data, and another version from an earlier point in time for analysis.
Hardware Acceleration[03]
ActivePivot provides support for multi-core processing and non-uniform memory access architectures.
Parallel Execution[03]
When a server receives a query, it also sends the query out to the other servers. Once it receives a response from all the servers it aggregates all of the information and returns the result.
Query Execution[03]
The system provides support for continuous queries, where the results of the query are returned every time the data in the system is updated. Data within the system can be updated in real-time based on data streams.
Query Interface[03][04]
ActivePivot supports queries through Multidimensional Expressions (MDX) either through ActiveUI or any another MDX-compliant interface.
System Architecture[03]
All servers act independently and do not have access to the information contained on other servers. Data can be distributed between servers based on the values of a given attribute. For example, if one of the attributes is city then the data can be distributed based on geographic regions.
Citations
4 sources- https://www.activeviam.com/en/products/activepivot-in-memory-analytical-database activeviam.com
- Atoti Server documentation - ActiveViam activeviam.com
- https://activeviam.com/images/pdf/white-papers/ActiveViam_Technical_White_Paper_-_ActivePivot.pdf activeviam.com
- https://www.activeviam.com/activepivot/5.8.5/docs/mdx/mdx_functions.html activeviam.com