Download Funcom Hardware Statistics System Vision Document
Transcript
Project FHaSS Design Document 2012 Figure 33: Sequence for exception handling The last few entries in the log should be viewable on the administration page under the interface section. 50 Caching As our queries to the database took longer and longer as the database grew we had no chance of meeting the loading time requirements with the current system, so after a discussion with the product owner and other Funcom employees this requirement has been dropped. Good performance is of course one of our top priorities so we (with the help of Funcom employees) developed a solution which could work as a compromise between extremely large amounts of data as well as fast loading times. The compromise would be that this solution only works on a preset time span of data, in our case this became one month of information. By caching every entry for the last month into the service memory, any request regarding information within that time span would be processed without needed to query the database. This way we avoid the heavy loading time caused by accessing the database with several million rows (about four and a half at the moment). The caching is implemented by having the WCF service retrieve the database rows for the previous month and store this in memory. Every day it should update the memory so that this stays true. For example, one day the memory will contain data from 10.04.2012 to 10.05.2012 and the next day the memory will contain data from 11.04 to 11.05. A logical check on the dates is needed in the ReadDataService to decide whether or not to use the cached memory, the input (parameters like universe and country) and the output (the result) from the service remains the same. Page 161 of 194