It wasn't me. You can't prove anything.


2010-10-28

Network analogy

People love wireless networks. I hate them. The quality of the network connection is poor most of the time. Instead of making a good connection, wireless systems make a good enough connection. The numbers sell wireless. If you have a 11.x kilobit connection or a 56.x kilobit connection or a 300 kilobit connection is what rakes in the upgraders who have money for the bleeding edge.

The faster these things get, the more tricks they play to make the numbers work. You have dropped packets and flipped bits. There are recovery and survival mechanisms to keep things from getting hairy. If something breaks, the protocols and routers try to fix things as they go and keep the bits flowing.

When you are talking a wrong character on a web page or an off color pixel in a video or photo, the idea of keeping things going instead of keeping them accurate works pretty well. This is the surfing the net side of the equation. Surely you have noticed this kind of thing at some point. A page seems to be all messed up, tables are out of kilter, the design looks badly mutated. What do you do in this case? You hit refresh. Well, this happens in database communication too.

When working on databases, all the data has to match. What is coming off end A must be correct on end B and vise verse. Another packet travels beside the real data that exists only to back check the original data. If things do not match in the slightest, the whole transaction might just start over. This will happen as many times as it takes to not fail the back check. The client or server sits there and pumps the refresh key on multiple levels. This may only be one step in a tremendous burst of data that needs to go back and forth between the server and client.

If you can surf the net without noticing any degradation, it does not mean that you can do things that require database communication without trouble. The only analogy I can think of is the difference between trowing and juggling. Surfing the net is throwing a request out there and seeing what comes back. Microsoft Outlook and other database communication is like juggling communication between the client, server and CRM, while dancing with the server on the dance floor shared with the entire internet. There is a unicycle in there somewhere.

No comments: