Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

email article
printer friendly

SQL Server Architecture 101
It's important to have a solid understanding of how a system works before you try to administer, code, or design it.
by Buck Woody

Posted June 15, 2004

In North Carolina they tell the story of a young man from a humble farming family who went off to the city to attend college. On his return he walked from the bus station down a dusty road toward home. As he passed by a field, he came across an old family friend leaning on a fence next to a small, scraggly tree.

"Well, hello," said the old man. "How was college?"

"I learned a great deal!" was the young man's reply.

ADVERTISEMENT

"What did they teach you up there?" the old man asked.

"Well, I learned that for many years now we've been doing things the wrong way here in the valley."

"Have we now?" said the old man with a gleam in his eye. "Tell me about it."

"Well," the young man began, "we're not rotating the crops here as often as we should. Our fertilizer mixture is all wrong; it certainly won't produce much growth. For instance," he said, gesturing at the tree, "this apple tree won't produce fruit long into the third season because of the poor soil aeration. Notice how the leaves are too small, indicating the sap hasn't got enough nitrogen to create a larger growth." He stood by, proud of his newly demonstrated knowledge.

"Well, you're certainly right about that," the old man said. "This tree will probably never produce too many apples. This here's a pear tree!"

Technology is a bit like that. Having pure theoretical knowledge without understanding how things work at the core can produce some pretty embarrassing results.

Is Theory Important?
When faced with a problem, I've seen a lot of technical professionals grab a checklist or Google the Web, download some instructions and start punching buttons. Sometimes that works, but when it doesn't, there's no understanding of why it didn't work. Even worse, I've seen the same approach used when designing software or making a platform decision. Here the lack of knowledge carries itself through the design of the entire system, and all the administration, tuning, and maintenance in the world won't help when it all goes wrong. It's important to have a solid understanding of how a system works before you try to administer, code, or design it.

It's also important to understand the path of a program, especially when it is broken out between client systems back to one or more servers. To troubleshoot or optimize the system properly, you have to know what the various parts of the path are, in addition to how each one works. In many PC-based programs, the path of an action is contained on a couple of sets of files—one for the programming code and one for the storage of any data it produces. Larger, more complex programs, such as Microsoft SQL Server, can use multiple computers joined by a network to run their logic and store their data. At this level it's vital to understand the pieces and parts that make up the system.

Back to top












Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTP Home