# OLAP Database -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Data Store is a highly-scalable, cloud-based relational database that stores the persistent data of your app that includes the data from the application’s backend and the data of the application’s end users." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/olap-database/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # OLAP Database ## Introduction Catalyst comes with a built-in proprietary OLAP (Online Analytical Processing) database feature, exclusively built to handle analytical queries that you run on the Data Store. You can execute advanced analytical queries on the OLAP database directly, instead of the Data Store's primary relational database for instantaneous results on datasets of any scale. With its speed and efficiency, the OLAP database enables you to perform intricate analysis on multidimensional data and is designed for advanced business intelligence. {{%link href="/en/cloud-scale/help/zcql/introduction/" %}}Catalyst ZCQL{{%/link%}} supports querying the Data Store to execute the typical CRUD operations, and even include clauses and statements in them. In addition to this, ZCQL also supports {{%link href="/en/cloud-scale/help/zcql/zcql-functions/" %}}built-in functions{{%/link%}} that help you perform quick arithmetic and analytical operations on the data in read queries, and manipulate the results to meet your requirements. As these involve advanced calculations, Catalyst provides you with a state-of-the-art OLAP system to handle these queries exclusively. With a single one-time action, you can enable automated synchronization of the data from the primary Data Store's database to the OLAP database, and then execute data retrieval queries on it directly through our platform SDKs and APIs. {{%note%}}{{%bold%}}Note:{{%/bold%}} The OLAP database is a secondary database to the primary Data Store's database, optimized for analytical processing in data retrieval. Direct write operations to the OLAP database are not allowed. You will not be able to perform Create, Update, and Delete operations on OLAP; you will only be able to perform Read operations.{{%/note%}} The OLAP system is designed to make complex data analysis easy for business users and decision makers. Some common applications where advanced data analysis and business intelligence can be integral include aggregated report generation, real-time dashboards and analytics, financial analysis that includes budgeting and forecasting, sales and marketing performance analysis, inventory and logistics management, data mining and trend analysis. If your application involves any of these aspects, you can query on the OLAP database and utilize its features to the fullest. <br> ### Differences between the Primary Data Store and the OLAP Database Consider the factors listed below to determine when you would need to enable the OLAP database and query it, instead of querying the primary Data Store. <table class="content-table"> <thead> <tr> <th>Primary Data Store</th> <th>OLAP Database</th> </tr> </thead> <tbody> <tr> <td>The primary Data Store implements OLTP (Online Transaction Processing) that is suited to handle queries to process transactions, rather than for the purpose of business intelligence.</td> <td>The OLAP system is built for a multidimensional data model, that allows for complex analytical and ad hoc query executions with a quick execution time, more suited for advanced data analysis.</td> </tr> <tr> <td>The primary Data Store can process all CRUD operations in an equally optimized manner, as it is fundamentally transaction-oriented. </td> <td>The OLAP database is highly read-optimized, as it is designed to handle analytical queries, which are typically executed in read operations. </td> </tr> <tr> <td>You can perform all CRUD operations on the primary Data Store.</td> <td>You will not be able to execute direct write operations on the OLAP database. </td> </tr> <tr> <td>Use this to execute transactional SELECT, INSERT, UPDATE and DELETE operations. </td> <td>Use this to execute analytical SELECT operations that include built-in ZCQL functions..</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Key Features" description: "Catalyst Data Store is a highly-scalable, cloud-based relational database that stores the persistent data of your app that includes the data from the application’s backend and the data of the application’s end users." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/olap-database/key-features/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Key Features of Catalyst OLAP Database * {{%bold%}}Data Analysis and Advanced Business Intelligence{{%/bold%}} The OLAP system is built to analyze complex business data and provide you with actionable insights, allowing you to plan strategy and make informed business decisions. It uses columnar storage to organize data and define the relationships between them. Data is represented in the form of cubes that are categorized by multiple dimensions. These allow you to perform aggregations and manipulations on the data easily and efficiently. You can execute key analytical operations on your data that include: **Drill-down**, **Roll-up**, **Slice**, and **Dice** using the various clauses and analytical functions provided in ZCQL. For more, refer to the examples in the {{%link href="/en/cloud-scale/help/data-store/olap-database/olap-operations-guide/" %}}next section{{%/link%}}. * {{%bold%}}Fully Platform-Managed Storage{{%/bold%}} Catalyst eliminates any efforts from your end in setting up or managing the OLAP database. It is built on Zoho's tried-and-tested infrastructure that is fully platform-managed. You can enable the OLAP database as a one-time action for a project from the console. This will then automate data synchronization from the primary Data Store. You will not be required to perform any other actions towards managing it. * {{%bold%}}Near Real-Time Sync with the Primary Data Store{{%/bold%}} After you enable the OLAP database for your project, data from the primary Data Store is automatically synced with the OLAP system in near real-time. The synchronization is not based on a scheduler that runs in periodic intervals, and is rather triggered by any updates made to the primary Data Store. This ensures that the sync is close to real-time, allowing you to perform analysis on data as it arrives with minimal delay between ingestion and query execution. The sync is maintained throughout the period of the OLAP database being enabled, for all the tables created and updated in the Data Store. * {{%bold%}}Instant Results with Large Datasets{{%/bold%}} Catalyst delivers a highly scalable, streamlined, and hassle-free experience with querying the OLAP database. It enables high-concurrency query processing, allowing you to experience instant results on datasets of any scale. You can obtain results for complex queries, without timeouts or lags even with the largest of datasets. -------------------------------------------------------------------------------- title: "Help Guide on OLAP Operations" description: "Catalyst Data Store is a highly-scalable, cloud-based relational database that stores the persistent data of your app that includes the data from the application’s backend and the data of the application’s end users." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/olap-database/olap-operations-guide/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Help Guide on OLAP Operations This section includes examples of some of the common OLAP operations you can perform on the OLAP database using ZCQL. **Example Database:** Given below is a sample table that contains the sales data of products by region, year, and quarter. <table class="content-table"> <thead> <tr> <th>sale_id </th> <th>region</th> <th>product</th> <th>year</th> <th>quarter</th> <th>amount</th> </tr> </thead> <tbody> <tr> <td>101</td> <td>East</td> <td>Laptop</td> <td>2024</td> <td>Q1</td> <td>900</td> </tr> <tr> <td>102</td> <td>East</td> <td>Laptop</td> <td>2024</td> <td>Q2</td> <td>1100</td> </tr> <tr> <td>103</td> <td>East</td> <td>Phone</td> <td>2024</td> <td>Q1</td> <td>500</td> </tr> <tr> <td>104</td> <td>West</td> <td>Laptop</td> <td>2024</td> <td>Q1</td> <td>800</td> </tr> <tr> <td>105</td> <td>West</td> <td>Phone</td> <td>2024</td> <td>Q2</td> <td>600</td> </tr> <tr> <td>106</td> <td>West</td> <td>Laptop</td> <td>2024</td> <td>Q2</td> <td>700</td> </tr> <tr> <td>107</td> <td>North</td> <td>Phone</td> <td>2024</td> <td>Q1</td> <td>300</td> </tr> <tr> <td>108</td> <td>North</td> <td>Phone</td> <td>2024</td> <td>Q2</td> <td>400</td> </tr> </tbody> </table> <br> ### Roll-Up Roll-up involves aggregating or summarizing the data to a higher-level hierarchy, reducing granularity. For example, summarizing the data from quarter to year, or from individual sales amount to a total. This example query will roll up from a quarter-level sales to a yearly sales total, per region. {{%code class="language-sql"%}}SELECT region, year, Sum(amount) FROM sales_fact GROUP BY region, year ORDER BY region{{%/code%}} It will generate the following output: <table class="content-table"> <thead> <tr> <th>region</th> <th>year</th> <th>Sum(amount)</th> </tr> </thead> <tbody> <tr> <td>East</td> <td>2024</td> <td>2500</td> </tr> <tr> <td>North</td> <td>2024</td> <td>700</td> </tr> <tr> <td>West</td> <td>2024</td> <td>2100</td> </tr> </tbody> </table> <br> ### Drill-Down The drill-down operation moves down from a summary-level to a lower level in the concept hierarchy, providing a more detailed view of the data and adding new dimensions. This example query will drill down and provide totals for each quarter, instead of yearly totals. {{%code class="language-sql"%}}SELECT region, year, quarter, Sum(amount) FROM sales_fact GROUP BY region, year, quarter ORDER BY region, quarter{{%/code%}} It will generate the following output: <table class="content-table"> <thead> <tr> <th>region</th> <th>year</th> <th>quarter</th> <th>Sum(amount)</th> </tr> </thead> <tbody> <tr> <td>East</td> <td>2024</td> <td>Q1</td> <td>1400</td> </tr> <tr> <td>East</td> <td>2024</td> <td>Q2</td> <td>1100</td> </tr> <tr> <td>North</td> <td>2024</td> <td>Q1</td> <td>300</td> </tr> <tr> <td>North</td> <td>2024</td> <td>Q2</td> <td>400</td> </tr> <tr> <td>West</td> <td>2024</td> <td>Q1</td> <td>800</td> </tr> <tr> <td>West</td> <td>2024</td> <td>Q2</td> <td>1300</td> </tr> </tbody> </table> <br> ### Slicing The Slice operation selects a single dimension from the cube where data is represented, and creates a slice of the cube with reduced dimensionality. This operation helps focus on a specific data slice for analysis. This example query will provide the average Q1 sales amount per region. {{%code class="language-sql"%}}SELECT region, Avg(amount) FROM sales_fact WHERE quarter = 'Q1' GROUP BY region ORDER BY region{{%/code%}} It will generate the following output: <table class="content-table"> <thead> <tr> <th>region</th> <th>Avg(amount)</th> </tr> </thead> <tbody> <tr> <td>East</td> <td>700</td> </tr> <tr> <td>North</td> <td>300</td> </tr> <tr> <td>West</td> <td>600</td> </tr> </tbody> </table> <br> ### Dicing The Dice operation applies multiple filters on two or more dimensions of the cube where the data is represented, to form a smaller sub-cube. It provides a multidimensional subset of the original data cube. This example query will count the number of Laptop sales in the East and West regions during Q1 or Q2 of 2024. {{%code class="language-sql"%}}SELECT region, Count(sale_id) FROM sales_fact WHERE product = 'Laptop' AND region IN ('East', 'West') AND quarter IN ('Q1', 'Q2') AND year = 2024 GROUP BY region ORDER BY region{{%/code%}} It will generate the following output: <table class="content-table"> <thead> <tr> <th>region</th> <th>Count(sale_id)</th> </tr> </thead> <tbody> <tr> <td>East</td> <td>2</td> </tr> <tr> <td>West</td> <td>2</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Enable and Query OLAP Database" description: "Catalyst Data Store is a highly-scalable, cloud-based relational database that stores the persistent data of your app that includes the data from the application’s backend and the data of the application’s end users." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/olap-database/enable-and-query/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Enable and Query OLAP Database ### Enable OLAP Database You can enable the OLAP database for a Catalyst project as a whole. All the tables created in the Data Store in this project will then be automatically synchronized to the OLAP database. To enable the OLAP database for your project: 1. Navigate to **Data Store** in *CloudScale*, then click the **OLAP Database** tab. 2. Click **Enable** from this section. <br /> 3. Click **Enable** in the confirmation pop-up. <br /> The OLAP Database will be enabled and Catalyst will start syncing your data from the primary Data Store. <br /> <br> ### Disable OLAP Database You can disable the OLAP database whenever you require it. Typically, you can disable this when you do not have any requirements to execute analytical queries and would prefer querying the primary Data Store alone. Your data from the primary Data Store will not be synchronized with the OLAP database when it is disabled. If you choose to re-enable it later again, Catalyst will synchronize the updated data then. To disable the OLAP database for your project: 1. From the **OLAP Database** tab in the Data Store, click the ellipsis icon in the window. Click **Disable**. <br /> 2. Click **Disable** in the confirmation pop-up window. <br /> <br> ### Querying on the OLAP Database When the OLAP database is enabled, you can execute queries on it the same way you execute queries on the primary Data Store with {{%link href="/en/cloud-scale/help/zcql/introduction/" %}}ZCQL{{%/link%}} programmatically. Catalyst auto-synchronizes data from the primary Data Store in real-time, so the queries will be run on the up-to date data from your tables. You can construct ZCQL queries and execute them using the Catalyst server-side SDKs ({{%link href="/en/sdk/java/v1/cloud-scale/zcql/execute-zcql-query/" %}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/zcql/get-component-instance/" %}}Node.js{{%/link%}}, {{%link href="/en/sdk/python/v1/cloud-scale/zcql/get-component-instance/" %}}Python{{%/link%}}) or the client-side SDKs ({{%link href="/en/sdk/web/v4/cloud-scale/zcql/get-component-instance/" %}}Web{{%/link%}}, {{%link href="/en/sdk/android/v2/cloud-scale/zcql/execute-zcql-query/" %}}Android{{%/link%}}, {{%link href="/en/sdk/ios/v2/cloud-scale/zcql/execute-zcql-query/" %}}iOS{{%/link%}}, {{%link href="/en/sdk/flutter/v2/cloud-scale/zcql/execute-zcql-query/" %}}Flutter{{%/link%}}), as well as our {{%link href="/en/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery" %}}REST API{{%/link%}}. Refer to the respective help pages for the syntax to execute queries on the OLAP database using these SDKs. Catalyst provides a **{{%link href="/en/cloud-scale/help/zcql/zcql-console/" %}}ZCQL console tool{{%/link%}}** that allows you to execute ZCQL queries on the data stored from the Data Store, in the Catalyst console. You can avail features like code-completion, code saver, ZCQL explorer to reuse saved queries, and more. You can choose to execute queries on the primary database or the OLAP database in the ZCQL console. Click the **ZCQL Console** tab in the Data Store, then click **OLAP DB** next to *Execute on*. You can now type in your analytical query and click **Execute Query**. <br /> The console will return the query result, that you can choose to view in a table format or the JSON format using the drop-down. <br /> Refer to the {{%link href="/en/cloud-scale/help/zcql/zcql-console/" %}}ZCQL console help section{{%/link%}} for details about the various features available in the console.