Question

I'm new to OLAP and I ran into the following situation:

I have a none star schema database(PostgreSQL) that contains hundreds of tables, and now I need to convert it to star schema database in order to perform OLAP. Here comes some questions:

  1. Do I have to create a new database in the form of star schema and insert existing data into new database? If so, is there any tools that can help me to finish that task automatically?

  2. The data that Mondrian needs should be at a star schema database, but my web project is based on none star schema DB. That is to say, every time I got a new record, I have to update both DB simultaneously, right?

I'll appreciate your help, thanks!

Was it helpful?

Solution

The process of moving data from an OLTP database to an OLAP database is called ETL (Extract, Transform, Load). There are many ETL tools. Try Pentaho (Kettle). You could create the dimensional database tables in your existing server or a new one -depends on how busy your existing server/database is. As far as upadting data in the OLAP schema is concerned, better not do it as part of your business transaction. It could have performance issues. Also, the business transaction need not fail because of some issue in moving data to the OLAP tables. Depending on the data latency you can afford, you could have a batch process that runs a few times a day. How will you identify changed data (Change Data Capture) is a challenge in most cases.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top