What is our primary use case?
In my recent projects with Cube, I was tasked with finding crashes and the reasons behind them using three datasets: people, crash, and vehicles. I had to merge them and preprocess them, clean and fill the missing values and outliers, and then divide the datasets into the star schema. After filling the data from local sources, I uploaded the data to the server and ran Cube. We do this to retrieve data by creating hierarchies; for example, within a city, we can specify particular areas and then drill down. When we fetch one thing, we connect with the hierarchy to retrieve the latest part of the data.
I have recently worked with two tools related to Cube: SSIS and SSAS, which are SQL Server Integration Service and Analytical Service. It is important when we build the pipelines and make the checks to insert new data into the pipelines, validating any null or missing values that might still be there. To make the pipelines efficient, we have checks in the pipeline that enhance the efficient features for Cube as well as the keys.
What is most valuable?
Cube's caching mechanism impacts my database query loads and response times significantly. Once we create the star schema and Cube, we do this to retrieve specific data as quickly as possible because with billions of records, fetching everything takes a lot of time. We establish specific measures and counts and design a specific star schema. Based on that, we use fact tables and dimension tables to fetch records as quickly as possible.
When it comes to Cube's multi-tenant features, I need to observe the requirements of the data when it is available across different clouds, including Google GCP and AWS. If I need something that exists on both clouds, I have to fetch the specific data based on these requirements using data analytics queries and analytical queries.
Regarding Cube's dynamic access controls, I have to keep in touch with the compliance departments to control data security and inform them about everything I have. This includes encrypting the data to make it more efficient. Sharing everything with the compliance departments adds security features that make the dynamic data more secure and efficient. I understand that data is vital, and I need to ensure it remains confidential.
What needs improvement?
To evaluate Cube's efficiency in handling large data volumes, I use metrics including F1 scores, AUC (Area Under the Curve), and RMC (Root Mean Squares), along with RSE (Root Square Errors). These factors help me gauge the efficiency of the algorithms clearly.
Regarding improving Cube, I believe that when we are building hierarchies, I should enhance the type of hierarchies. For instance, in a few countries lacking state systems, there could be a hierarchy without proper categorization—such as continent, country, and city. Therefore, it would be beneficial if I could improve the hierarchies to retrieve data as quickly as possible from Cube.
For how long have I used the solution?
I have been working with Cube for two and a half years. I am still working on many projects, and I have worked on many datasets, including vehicle crash results and HR-related datasets. I am still collaborating with professors on my Tech Well Group. I recently finished my internship from there as well. I am familiar with many of these aspects.
How are customer service and support?
Regarding Cube's technical support, I have discussed issues with my professors whenever I faced technical difficulties. They provided guidance by suggesting possible troubleshooting methods to help overcome the technical issues I encountered.
How was the initial setup?
When it comes to the initial setup of Cube, I faced some challenges, including server issues when uploading data from local sources to the Unipi servers. Most of the time, I encounter connectivity errors, but I navigate these issues by ensuring I match IDs and records and align the columns of the tables I have created in the data warehouse with those in local CSV files. Once everything is matched, I can transfer data to the data warehouse and construct the schemas. These are the common challenges I face while developing Cube, yet I still manage to proceed.
Which other solutions did I evaluate?
When considering other options in the market, I find that I make Cube when handling a large amount of data. I create Cube for specific segments of data. For example, if I manage one million records, I focus on that critical data which I will use most often. This is why I create Cube for that one million records, making it easier and faster to retrieve and validate the data.
What other advice do I have?
I have not utilized Cube's pre-aggregation feature, but I have studied how to build decision trees from parent to child leaves. I understand how it is structured with two branches, three branches, and so on. I have worked on that aspect as well concerning decision trees.
From the functionality perspective, at this moment, I do not think there are any missing features in Cube that I would want to see included in the next release. Perhaps some features could be added depending on specific working conditions.
Given my experience with Cube, I would advise organizations to prioritize managing hierarchies when developing Cube, as hierarchies are vital for efficient data retrieval. The hierarchy resembles a tree structure with parent, child, and then child leaf, and it essentially continues. If I manage these hierarchies effectively, it greatly facilitates retrieving the specific data and records I need in an efficient and timely manner. Overall, I would rate this product a 7.5 out of 10.