AtScale has three major components:
- A web-based toolset for defining and managing multidimensional models
- A semantic-layer that transforms the models into data source queries
- A high-performance runtime OLAP engine
Data engineers work in the toolset to create and structure multidimensional OLAP models. In a very typical OLAP manner, engineers define dimensions, hierarchies, and measures that make up the cube structure, with the result looking like a star or snowflake schema.
AtScale can use data from two major areas: data lakes and databases. Data lake sources include files, cloud object stores (AWS S3, Azure ADLS, etc.), and big data SQL data stores (Hive, Impala, Spark, etc.). It can also connect to and query from typical databases (Oracle, Teradata, Microsoft SQL Server, MySQL, etc.) and cloud data warehouses (Snowflake, Redshift, BigQuery, etc.)
The semantic layer is the repository of multidimensional models that analysts can use for their analytics. Users can see physical metadata about the models: dimensions, measures, etc. Users can find models to use by browsing through a basic catalog. Queries can be run on models via BI and analytical tools via OLAP interfaces (MDX/XMLA) or SQL ones (ODBC, JDBC) or AtScale’s REST API.
The OLAP engine executes user queries on the data, based on the models registered in the semantic layer. It uses data virtualization to query the source data and then its engine to index and generate the results. Models can be pre-aggregated, pre-indexed, materialized, and cached. This provides better performance and compute cost savings versus directly querying the data sources.