We need to build a management reporting system to answer various queries through our system.

We need to build a management reporting system to answer various queries about the progress of customer cases through our system. When each customer case begins, a new row will be created in the reporting table. As the case progresses, the row attributes will be updated with date & time values (and other values) to show the progress of the case and the user who completed some of the case functions. In total there will be about 40 columns of data. There will be approximately 100k rows in the table (by the time we have added data from historical and current cases).

The table will have CREATE and UPDATE operations of a frequent basis - say 10 times per minute. The READ operation will be much less frequent - say once per hour.

Are there any recommendations about using one datastore to access the table for CREATE / UPDATE and another datastore for READ?

Are there any other recommendations for achieving the Write and Read operations in the most efficient ...

OriginalPostID-208978

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    From your description the recommendation would be to have your management reports read from a database view which would handle all the effort of joins, aggregation and sorting for example. This would naturally separate the datastore from your create/edits and your reads for the reports. I can't think of any performance benefit though as all transactions will still go through the same connection pool. What style of management reports are you talking about? Are the aggregation based or going to be handling all 100k rows?
Reply
  • 0
    Certified Lead Developer
    From your description the recommendation would be to have your management reports read from a database view which would handle all the effort of joins, aggregation and sorting for example. This would naturally separate the datastore from your create/edits and your reads for the reports. I can't think of any performance benefit though as all transactions will still go through the same connection pool. What style of management reports are you talking about? Are the aggregation based or going to be handling all 100k rows?
Children
No Data