Daily Report

Shinetech’s daily report is a kind of working schedule, from which the clients could know project progress and existing problems. Shinetech’s developers give some constructive suggestions about the project in it as well, and the clients may get a better understanding of the developers’ quality, like their working efficiency and attitude, which would help the cooperation between both of us.

The report consists of three parts: what has been done today, what is the problem and the possible solution to solve it, what will be done tomorrow.

To learn more, please see below the working report from a developer in Shinetech on Jul 11. 2011.

My daily report _Jul 11, 2011
Index Actions State
1 insert/update data to Target Insight Server. For details, please see attachment or check it in SVN. [Done]
2 implement the ‘SimulationJobs’ solution. It seems to have performance issues, please see my suggestion below in the index 2 of Q&A table.
Q &A
Index Question
1 You get all files from SVN site, and successfully run the TargetInsight.Scheduling.Server, don’t you ?
2

Say collecting latest data every 1 minutes, we have performance issues:
Our test data are as follows:

Number of data inserted:  3,400 rows/minutes
Number of data updated:  1,190 rows/minutes

According to the estimate of client data, we expect as below:
Number of data inserted:  50,000 rows/minutes  (100 * 500)
Number of data updated:  15,000 rows/minutes   (30*500)

The Possible solutions:

  • If the database of client is sqlserver2008/2008R2 , we can get the ‘latest’ data by  ‘SQLCDC’  .

    CDC: Change Data Capture records INSERTs, UPDATEs, and DELETEs applied to SQL Server tables, and makes a record available of what changed, where, and when, in simple relational 'change tables' rather than in an esoteric chopped salad of XML.

    These change tables contain columns that reflect the column structure of the source table you have chosen to track, along with the metadata needed to understand the changes that have been made. Pinal Dave explains all, with plenty of examples in a simple introduction.

    More about ‘SQLCDC’ :
    http://www.simple-talk.com/sql/learn-sql-server/introduction-to-change-data-capture-(cdc)-in-sql-server-2008/

    If the database of client is sqlserver2000/5/express etc.  we can use trigger to get the added/deleted/updated rows for the tables  to be collected .

    Client: SQLCDC/Trigger-> Change Data Capture->clinet’s sql jobs->
    Server: TargetInsight server.

  • If we do not need to get near real time collection , We can split ‘collect data from source clients’ and ‘insert data into destination database’ to different independent processes, they will run every day.
To Do
Items state Date
Investigate mapping relationship from  different versions of the clients to the target database by the old solution.(SSIS) [will do] 07/12/2011