by
Štefan Urbánek
for
EuroPython 2012
Cubes is a light-weight Python framework for Online Analytical Processing (OLAP), multidimensional analysis and (in the future) pre-aggregated cube computation. Main features are:
- aggregation browser of multidimensional hierarchical data
- logical model metadata (end user layer) description of how data are being analysed and reported, independent of physical data implementation
- hierarchical dimensions (attributes that have hierarchical dependencies, such as category-subcategory or country-region)
- localizable metadata and data Localization
- OLAP server
- modular back-end architecture
Intended use is aggregated browsing, slicing and dicing the data.
The training would introduce participants to the Online Analytical Processing and multidimensional databases briefly (what it is, what is the purpose, how it is used). Then the Cubes framework will be introduced as a light-weight alternative to corporate tools and over-bloated tools. The attendees will learn:
- how to prepare data for aggregated browsing - star and snowflake schemas
- how to create a logical model, define cubes, dimensions and hierarchies
- how to slice and dice cubes from within Python program
- how to create a WSGI OLAP server ("in 15 minutes") for aggregated data browsing and how to use it in your web application for providing (browsable) data to end-user reports
- anatomy of the framework and how to implement a backend for another kind of data store
References: