In my previous post, I began to explore the advantages of EMC technology over NetApp for Oracle database storage, focusing in that post on Consistency Groups. This post will examine the nature of clustering.
You have to bear in mind that when I joined NetApp back in 1997, they had no clustering technology at all. Everything was just a single headed filer, with lots of single points of failure. I also had no clustering experience, having come to NetApp from a background in development. When NetApp came out with their first clusters, it seemed incredibly cool to me. We used to sit around in the lab and watch the cluster countdown happen, chanting "ten!", "nine!", "eight!" and so forth until the filer failed over. All to peals of laughter when the failover happened.
Those times seem so simple now. I really had no idea what a real cluster was, and how the band-aid that NetApp clustering was (and largely still is) did not fit that model at all.
Let me explain.
A real cluster looks like this:
You have two redundant pieces of hardware running in intimate fellowship with one another. They both know pretty much everything about each other. If one of them fails, the LUNs or file systems owned by the failed member of the cluster are simply trespassed over to the other member. End of story.
NetApp's version: In the event of failure, the OS environment representing the failed member of the cluster reboots inside a virtual machine environment on the surviving member, running under, you guessed it, Java. Then this virtual machine Java thingy takes ownership of its storage objects, and continues whatever it was doing. With lots and lots of overhead. Goody!
EMC's clustering is simply better. There is really no question about this. EMC has been making clustered systems for a long, long time, and makes them very, very well. It's what we do.
Comments