|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
data cache invalidation: the old sql 2000 polling way or the new sql 2005 notification way?http://blogs.msdn.com/dataaccess/archive/2005/09/27/474447.aspx, Sushil Chordia wrote: "Push Model to Pull Model In Beta2 we had an HTTP/TCP listener that was active on the client that would listen on changes pushed by the server. The client for the first time acting as a listener added additional level of complexity. It was difficult to get the firewall set up right. Also, both the HTTP/TCP opened ports that were not secure. In RTM, we have static method on SqlDependency called Start that opens a new non-pooled connection creates a new queue with a unique name is created creates a new service with a unique name is created for that queue creates a new procedure is created on the server to clean up the transient queue and service created in case the client is no longer listening listens on the newly created queue for change notifications. One thing to note that there is only one connection that is opened per process (even if there are multiple calls to the default Start() method). This connection then pulls the change notification from the server queue and raises the appropriate event." So now the new notification model is using pull modal, then what is the difference between the notification model and the old sql 2000 polling model? Does not "pull" and "poll" mean the same thing? If both pull and poll mean the same, then which one will have performance advantage? The consideration is, in polling model, the polling has to be done continuous once in a while. In push model, then this continuous polling will be saved. But if now it's pull, does this "saving" still hold true? The word "notification" means instantaneous, while the word "poll" means latency. Now the notification model also uses "pull", then is "instantaneous" still maintained? There is another issue related to the choosing of which cache invalidation model to use. The old sql 2000 polling model is easier to incorporate into current 3- tier structure(data access layer, business layer), while the notification model is not so easy, and is only specific to MS SQL 2005. I would also like to hear any comments on this issue. |
|||||||||||||||||||||||