Can Druple CMS be installed on DB clusters ? OR it is possible on one database instance.

sree36 - November 9, 2009 - 08:10

Hi

I have a few doubts regading drupal can any one clarify it

1. Can Druple CMS be installed on DB clusters ? OR it is possible on one database instance.

2.We do need scalability in Webserver and Database server level.( I hope webserver and database server can be on separate machines)

Suppose i have installed Druple on one Webserver( Apache) and Database server(MYSQL).
If i want to increase database server how can i ? If it allows so, then contents are automatically replicated to both the database servers.

3.Regarding Workflow engine can we customise for our own need ?

4.Does Druple takes care of Distributed Session Transaction ?
( suppose we are using two webserver and two database server(WS1,WS2, DBS1, DBS2)., let say as user comes to
WS1 and further DBS1 is serving . Suddenly if WS1 goes down the same
user requests will be routed to WS2 due to load balancer.
What happend to the sessions established on WS1)
please clarify my doubts

opinion

dman - November 9, 2009 - 09:48

As with any system at that scale, the answer is not simple. It's been done, and can be done, but only by folk who know the system inside-out already. See the groups.drupal.org on scalability and some hefty case studies (including d.o itself)

It's best to avoid until you really have to. The bottleneck is really in the PHP processing and memory, although DB calls are pretty serious on user-heavy sites too.
Broadly speaking, you'll get best results by load-balancing some (say up to 4) Apache servers on the front end, still talking to the one back-end DB.

If that's not enough (!), and you really need to split out the DB, there's a couple of approaches, but I'd look into splitting off the read-only and read-write database accesses (it's been done, and has some deep support), so you'd have :
One master R/W DB
x (4) slave Read-only DBs through realtime database replication (see mysql),
each serving y (4) more PHP/Apache instances.
And a modification to push the write-requests (but not read) back upstream.
That quickly gives you (say) 16x the scalability of a single Drupal instance.

That's just a napkin sketch.
There are other scaling and caching approaches. Boost.module (and maybe light httpd) is suggested for read-only sites. And is much easier than all that.
As with any optimizations, identify the pressure point before changing the architecture.

In the real world, you are WELL served by just throwing hardware $$ at one (or two - web + DB) central machines long before the time investment in replication (and support for that) pays off. Compare the cost of several weeks of professional IT development to set up a load-balanced system on a couple of cheap boxes to just buying some big iron. Memory and CPU is cheap now. Just buy bigger, not more.
If you must have more, buy more Apaches.
Only after they top out think about splitting up the DB.

</IMO>

.dan.

_

WorldFallz - November 9, 2009 - 15:31

and don't forget opcode caching ;-)

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

 
 

Drupal is a registered trademark of Dries Buytaert.