Editorials

Editorial Thoughts for Today

Asynchronous Programming
We have been talking about the expansion of the number of CPUs in a single server, and the impact it has on software and software strategies. I started off talking about parallel programming.

As David mentioned in the reader’s feedback in the newsletter yesterday, the biggest issue with parallel threads is when you have to share memory.

One technique to resolve the shared memory issue is to use asynchronous programming techniques. Work is broken down into multiple actions and fired off with no concern regarding when things complete, or the order of completion.

One of the simplest versions of this technique I have seen is a telephone switch application that captured all activity and wrote it into message queues. A separate process read from the message queues, added the detail into the OLTP database, and updated the summary data in data marts for data mining.

The advantages were:

  • The original capture event saved in the quickest storage mechanism possible allowing the capture process to be light weight, only capturing new activity
  • The Process writing to the OLTP database was able to take the data and normalize it appropriately, as well as performing heavy duty auditing tasks
  • The OLTP process was able to take the detail event, roll it up into multiple data marts, and update them providing near real time summary data

All of these processes had the assumption that the data would ultimately arrive at the final destination.

Are you using Asynchronous programming techniques? How about Message Queues? Are you using the SQL Server broker service to participate more natively in message queues? What asynchronous patterns have you found useful; things like Map Reduce, etc.?

I’d really like to hear your thoughts, comments or experiences when using Asynchronous Programming Techniques. Send your comments to btaylor@sswug.org.

Cheers,

Ben

SelecTViews
With Stephen Wynkoop
As a follow up on CPU Utilization, watch this SelecTViews edition where Stephen answers a question from our Facebook community about SQL Server CPU utilization.
Watch the Show

$$SWYNK$$

Featured Article(s)
Why to Consider Moving from Oracle EE to SE
Before making the switch from EE to SE, DBAs and their managers need to understand the differences in the advanced management features available in EE and SE. Then, they can decide which applications can safely operate on SE, and then fill in the gaps with lower cost, third-party tools to supplement the features lost with SE.

Featured Script
dba3_TriggerDemo_SystemUser_HostName_GetDate_Audit
Demonstrates a tamper resistant update audit trigger implementation suitable for single or multiple row updates (and insertio… (read more)