This is not SO Meta question. I am using SO only as example.
In StackoverFlow each answer, each comment, each question, each vote has a effect which produces a badge at some point of time. I mean after every action a list of queries are tested.
E.g. If Mr.A up votes Mr.B Answer. So we have to check is this Mr.B’s answer upvoted 100 times so give the Mr.B a badge , Has Mr.A upvoted 100th time so give him a badge.
It means I have to run at least 100 queries/IfElse for each action.
Now my real life example is I have an application where I receive online data from an attendance machine. When a user shows his card to machine. I receive this and store it as a record. Now based on this record I have multiple calculations.i.e Is he late. Is he late for continues 3 days. Is he in a right shift(Day shift/Night Shift). Is today holiday. Is this a overtime. Is he early…….etc.,etc.,etc.
What is the best strategy for this kind of requirements.
Update:
Can SO team guide us on this?
You use queues and workflows. This way you decouple the moment of the update from the actual notifications, allowing the system to scale. Tighly coupled, trigger based or similar solutions cannot scale, as each update has to wait for all the interested parties to react to the notification. The design of processing engine using workflows allows to easily add steps and notifications consumers by changing the data, w/o changing the schema.
For instance see how MSDN uses queues to handle similar problems with MSDN content: Building the MSDN Aggregation System.