Data Storage

The life blood of a dynamic application is the data store. Whether it be flat files, XML or a Relation Database like Oracle, MySQL or our prefered SQL 2005 by Microsoft, this piece of the puzzle will no doubt play a critical part in how your application runs. Unfortunately it is also the least seen, least glamorous and most readily misused part of the application stack. A properly structured and configure Database can mean a much more simple maintenace cylece, improved speed, more relieable data retention and more secure data store. Poor database design will lead to poor scalabitly, poor performance & nightmare-ish maintance. Get it right the first time and the rest of the application developemnt will be a much more pleasant experience.

Development

"Get it right the first time and the rest of the application developemnt will be a much more pleasant experience." Well thats easy to say, but what is "right"? How far do you normalise? Where do you put your indexes? Do we use views? ..Functions? ..Stored proceedures? The answers to these questions will no doubt be related to the overall architecture of the system. Due to secuirty and seperation of concerns, it may be enforced that all application data access must go via stored proceedures. This approach may be disregarded in favour of a more ORM friendly appproach that allows dynamic queries through the ORMs framework. Your approach to normalisation may be dictated by performance SLA in relation to perceived maintainabilty of the underlying data structure. Many factors will have to be considered before deciding on the most appropriate approach for your solution.