What are some database high-performance clustering options?
December 2, 2006 5:04 AM   Subscribe

I need recommendations for affordable database solutions that provide high availability and high performance, preferably in a clustered environment.

I.e., where you can add another node to the cluster to gain increased performance, without re-architecting your application.

I have been mainly using MS SQL Server for development, which is great for small to mid-size needs, but seems to hit the wall when scaling out. The Microsoft clustering solution provides high availability, but not high performance. I have looked into Oracle RAC, but the cost is hefty (it seems it could easily go over a million dollars for a smallish Oracle cluster). Are there other platforms I should consider that fit in the price gap between Microsoft and Oracle?

Some info: OS platform doesn't matter, the application is a large North American e-commerce OLTP system that will cost the client a lot of money if it goes down. The load is guaranteed to be heavy.
posted by SNACKeR to Computers & Internet (6 answers total)
 
Depending on your specific needs, you could also custom-add load balancing to a MSSQL failover cluster, e.g. by using distributed partitioned views or replication.
posted by Herr Fahrstuhl at 5:17 AM on December 2, 2006


Response by poster: Yes, we are considering rolling our own load balancing through partitioning, etc., but that can be done with any database platform. I am looking for the "throw more hardware at it" solution - if it really exists.
posted by SNACKeR at 5:34 AM on December 2, 2006


Writing your application correctly in the first place is really the best and cheapest solution. Scalablity starts and ends there. Throwing more hardware at bad software it is not something you design for.

That said, use Oracle RAC. A lower quality product may just you cost more money in the end.
posted by Slenny at 7:03 AM on December 2, 2006


If you want to go the Open Source route, PostgreSQL + Slony I (replication) + pgpool (load balancing).

I know a number of people running such a setup with great success.
posted by jacobian at 8:06 AM on December 2, 2006


Best answer: The problem with "throw more hardware at it" performance solutions is that they never scale in practice quite as well as they do on paper, particularly in terms of availability. There's no way of employing more parallelism in database operations that is a "win" on all counts. At some point, things stop scaling economically, and the assembled complexity becomes more of a battle in management, redundancy and power cost than it is worth. So, if you are looking for high availability and good performance, it might pay to look for mid-range solutions from the outset, particularly in a commercial situation where "the application is a large North American e-commerce OLTP system that will cost the client a lot of money if it goes down." There are various capacity-on-demand licensing terms in the mid-range space that can control your costs vs. workload, and it is a very competitive marketplace at present, giving you considerable negotiation advantage, if your workload actually justifies such capabilities.

But, if you're for some reason committed to clustering on small scale commodity hardware in such a high stake environment, you might at least look at DB2 v9 for Linux.
posted by paulsc at 11:20 AM on December 2, 2006


Response by poster: It is not that I want to use more hardware in place of a well-designed application, I want to do both, and already have some ideas about how to design the application to work best with multiple servers.

@jacobian - from what I can tell, this doesn't really load balance, it just connection pools. I am looking for something a little more heavyweight.

@Slenny - I think your philosophy is dead on, and I plan to do that. And run it on some hardware that will give me some breathing room to scale out.

@paulsc - thanks for the pointers!
posted by SNACKeR at 4:39 AM on December 5, 2006


« Older I want my 44hz iSub working again!   |   Help me juggle school and work before I wither... Newer »
This thread is closed to new comments.