They are polling until they receive the desired response.Similarly, the database cache invalidation technique used for SQL Server 7.0 and SQL Server 2000 polls the database to check for changes.Any time you introduce known blocking operations into your application, you are adding a potential bottleneck to scalability and performance.
The Web application simply receives an HTTP request that contains a cache key that needs to be removed. This technique does not have the Web garden problems associated with the extended stored procedure push model, but it does share many of the same blocking issues associated with the extended stored procedure technique.A common task is to retrieve paged sets of data through a stored procedure to display a paged view of threads in a particular forum.The stored procedure that fulfills a paged thread view requests executes a series of select statements joining from 3-5 tables, creates a temporary table, selects out of the temporary table, and performs another join.This model breaks down, however, in larger server environments or environments where the database is already a gating resource in the system.As you can see, both techniques have applicability, but you need to make good decisions as to whether or not you can use these techniques based on server size and load.Let's briefly discuss why these existing techniques are flawed, starting with the extended stored procedure model. But here are the downsides: If you are running in a small server environment, not running the Web servers in Web garden mode, and SQL Server is not a contentious resource in your system.The extended stored procedure push model uses the following architecture: When a change is detected, using whatever logic is necessary in a stored procedure or trigger, a change notification stored procedure is called. The extended stored procedure HTTP push model works great, but if you get into a situation where you're application suddenly grows, you may bottleneck your database or get into a situation where your Cache is not always in sync.Whereas in SQL Server 2005, notifications can be received from changes to the results of dynamic SQL, stored procedures, views, and simple table level invalidations.Unfortunately, the database cache dependency model used by SQL Server 2005 cannot be replicated with ASP.In fact, as a company Microsoft knew how important this was and put together a team from ASP. NET, and ISA server to work on this problem, also known as The Caching Taskforce. The result of this caching task force was two new architectures for database cache invalidation. It built a scalable model for push notifications at a super-granular level.Note My blog posting of the Bill Gates meeting was specifically to walk him through the work we had done in the ASP. The first was designed into the system and was simply part of ASP. For example, tell me when this results of this stored procedure change.