The Data Tier - A Critical Dependency and Clustering
I was thinking deeply at the weekend about clustering as it pertains to the data tier in "N" tier infrastructures. This is another "get a life" situation as I was walking through the streets of Paris at the time. A personal friend of mine lives there and he is a particularly talented DBA, so that is my excuse. He is very interested in both JavaEE and Web Server level clustering and we were ruminating on the ideal mode of clustering for a particular enterprise application. For those, out there, who have tried clustering at the database layer it can be very difficult to get up and running and also difficult ongoing, particularly where "active-active" load balancing is required. The reason is that unlike the web/application tier where most of the data replicated is textual with some larger media files and perhaps complex objects, at the database tier the likely amount of data needed to traverse the network between nodes will no doubt be significantly larger.
This brought us to the conclusion that where real-time "active-active" clustered load balancing is required the most effective way to achieve this is by having the data itself on a Storage Area Network (SAN) with redundancy at that level being within the SAN. A key piece here is to make sure that the spindles in the SAN be dedicated to your data and not shared spindles. I have planned and helped clients transition to this sort of infrastructure and it was good to have this vindicated by an experienced DBA.
In 2009 I will be blogging a lot about the data tier it is the most critical dependency we deal with on a day to day basis. With the continued growth of Blaze DS, and LifeCycle ES, the data tier will become ever more critical as AIR and Flex continue to proliferate across all operating systems and platforms. For those interested, I completed a recent paper for Abobe on all things HA as they relate to ColdFusion.