MongoDB OLAP with pre-aggregated cubes

1,565 views
Skip to first unread message

Stefan Urbanek

unread,
Jan 17, 2011, 7:30:53 AM1/17/11
to mongodb-user
Hi,

I am working on a OLAP python framework for multidimensional analysis
and creating pre-aggregated multidimensional cubes:

http://databrewery.org/cubes/doc/

The first back-end cube builder and aggregation browser is for MongoDB
[1]

Typical workflow for using OLAP is:

1. create logical model for your data

http://databrewery.org/cubes/doc/cubes.html

2. build aggregated cube:

http://databrewery.org/cubes/doc/computing.html

Currently implemented simple MongoDB aggregator requires one
denormalized collection (no joins should be required, however does not
have to be flat - might contain deep structure). Cube is computed to
separate collection or aggregations might be computed into the same
collection (there are cases where it might be desirable, records are
recognised by a configurable flag _is_aggregate).

In simple cube builder all combinations of all dimensions and their
levels are pre-aggregated.

3. browse aggregates in your application:

http://databrewery.org/cubes/doc/aggregate.html

Browser will get data from collection generated in the step 2.

The project is in its early stage. Future plans are to create backends
for other databases as well (mainly relational/SQL based) and create
generic MongoDB backend for storing preaggregated cubes from other
sources (including SQL). In other words, you will be able to do: SQL
database schema --> MongoDB preaggregated cube. You will use SQL for
detailed/transactional usage, mongo backend for analytics.

The project is hosted on bitbucket (mercurial repository):

https://bitbucket.org/Stiivi/cubes/overview

And on github for convenience (synchronized with mercurial):

https://github.com/Stiivi/cubes

I would like to hear what you think of it. Also I am looking for
people who would like to try it/test it on their data and give me
feedback - mainly for bugs and requirements.

Regards,

Stefan


[1] http://databrewery.org/cubes/doc/api/builders.html#cubes.builders.MongoSimpleCubeBuilder
Reply all
Reply to author
Forward
0 new messages