Reputation: 3615
I have developed a grails application that stores a great deal of information. Currently, when I wish to run analysis on the large sets of data, it can be pretty time consuming. To help speed things up, I have decided to move all the calculated and aggregated data off into a "data mart". This way, a process can be run, maybe by a cron job, to work with all the records, pull out all the requested information, and store the calculated and requested data in separate tables.
My questions are: First, does this seem like the best way to tackle the problem? If so, I'm trying to figure out the best way to manage the new domain classes. Should I keep them in the same domain project folder or is it possible to create a new folder? My domain classes just seem to be getting very cluttered and I would rather a way to separate the relational tables from the data-mart tables. Any suggestions for best structuring would be great.
I am using groovy on grails and MySQL database
thanks jason
Upvotes: 1
Views: 186
Reputation: 120308
It sounds like what you are doing is a pretty good idea. You will notice that the stack set of apps also have data aggregation processes the run every day (rankings), every few days (badge calculations), etc.
You could create a new package for all the 'datamart' classes required, to keep it separate.
If you don't need anything in your current app, you can even create a new project. Keep in mind that if you need to pull all of the data out of your tables, hibernate might not be the best solution. If possible, leverage your db to do calculations for you.
Upvotes: 1