Zimbra offers Open Source email server software and shared calendar for Linux and the Mac
Go Back   Zimbra :: Forums > Zimbra Collaboration Suite > Administrators

Welcome to the Zimbra :: Forums!
Welcome, if you would like to post a comment please register. We also encourage you to explore all things Zimbra with our team and members of the community.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 10-02-2010, 10:59 AM
Senior Member
 
Posts: 51
Default Separate database server?

Hi all

This has bee brought up earlier, but I want to ask again. What will it take to separate the database server out of Zimbra? It's a MySQL database, not patched, a standard thing, and in larger setups you usually have a dedicated database server, of good reason. It is usually better on I/O than your general pizzabox, it may have more memory et ceterea.

Now, earlier answers to this question has been something like "Zimbra is a closed platform, don't touch it". Since Zimbra uses mostly open source software, I find this hard to beleve.

So, can someone please tell me how I can use my fat-ass database server with Zimbra instead of running it all in one place?

roy
Reply With Quote
  #2 (permalink)  
Old 10-02-2010, 06:29 PM
Moderator
 
Posts: 1,554
Default

zimbra is open source, but the particular build the zimbra team produces relies on having a local mysql server.

so what do you need to do? you need to build zimbra yourself, modifying it to establish all connects to mysql via tcp/ip instead of local socket. you'd probably also have to modify a lot of scripts like hte mailboxd startup script in order to make it start even though it detects mysqld not running (or maybe you could fool it with some fake pid files)

it's a lot of work, but if you have a real fat-ass database server perhaps it'll be worth it.
Reply With Quote
  #3 (permalink)  
Old 10-03-2010, 07:54 AM
Senior Member
 
Posts: 51
Default

Wouldn't it be a good idea to add a global configuration parameter for this? I'm certain a lot of people would find this useful.
Reply With Quote
  #4 (permalink)  
Old 10-03-2010, 08:38 AM
Moderator
 
Posts: 1,554
Default

it's not as easy as that. zimbra would essentially have to carve out the mysql into a separate package, almost like ldap is. in a multiserver environment you can have a server that does nothing but ldap, and even replicas too.

so many utilities would have to be rewritten to accomidate this sort of setup. like zmmailboxmove which normally moves the messages, index, and database to another server when moving mailboxes in a multiserver setup would have to be rewritten to not move the db because the db would stay central.

you could file a rfe for this, but it would be a pretty large overhaul of the code and unlikely to see it anytime soon since zcs7 is in beta now and theres no way it'd make it into that
Reply With Quote
  #5 (permalink)  
Old 10-03-2010, 08:48 AM
Senior Member
 
Posts: 51
Default

This looks like a major design flaw. Any other app I've worked with over the years have the database interface separately, and commonly, configured. Hardcoding that sort of info in a bunch of scripts is not good. Is this really what Zimbra is doing?
Reply With Quote
  #6 (permalink)  
Old 10-04-2010, 01:40 AM
Moderator
 
Posts: 7,928
Default

If your feelings are that strong then please feel free to raise an RFE.
__________________
Reply With Quote
  #7 (permalink)  
Old 10-04-2010, 07:10 AM
Moderator
 
Posts: 1,209
Default

Quote:
Originally Posted by RoyK View Post
This looks like a major design flaw. Any other app I've worked with over the years have the database interface separately, and commonly, configured. Hardcoding that sort of info in a bunch of scripts is not good. Is this really what Zimbra is doing?
I would respectfully disagree that Zimbra's 1:1 relationship between each mailbox server and a unique MySQL instance is a design flaw.

It is not uncommon in a multi-server Zimbra environment for each mailbox server to be configured to host groups of users with similar needs and consequently where the load on each mailbox server is very different. Zimbra's architecture enables us to tweak each mailbox server's MySQL instance appropriately for each mailbox server's use case. If there was one separate MySQL server (or MySQL farm) for all Zimbra mailbox servers in a Zimbra farm, our ability to tune MySQL would be severely restricted.

We also support a number of different LAMP stack applications aside from Zimbra, and in one very large multi-site Drupal installation we have taken to running separate instances of MySQL (on different ports, on one server) as one MySQL instance could not be tuned appropriately for all of the sites in the farm.

We have also done quite a bit of MySQL tuning for EMRs, CRM and other DB-heavy applications, and I can tell you that I very much appreciate in Zimbra the flexibility to tune each mailbox server's MySQL instance as needed.

Hope that helps,
Mark
__________________
___________________________________
L. Mark Stone, CIO


"Uptime. All the time."

477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678

proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
Reply With Quote
  #8 (permalink)  
Old 10-04-2010, 09:12 AM
Senior Member
 
Posts: 51
Default

Hi

May I ask what sort of fine-tuning is done except by database structure and indices? The installed package, mysql-standard-5.0.90-pc-linux-gnu-i686-glibc23, looks pretty standard to me

roy
Reply With Quote
  #9 (permalink)  
Old 10-04-2010, 10:00 AM
Moderator
 
Posts: 7,928
Default

I believe Mark is referring to the fact that he is able to tune each individual mailbox server based on its usage profile; not that it is fully tuned out of the box.
__________________
Reply With Quote
  #10 (permalink)  
Old 10-04-2010, 12:30 PM
Moderator
 
Posts: 1,209
Default

Quote:
Originally Posted by uxbod View Post
I believe Mark is referring to the fact that he is able to tune each individual mailbox server based on its usage profile; not that it is fully tuned out of the box.
Exactly!

Zimbra's default MySQL settings are very good, but sometimes it is appropriate to increase for example the InnoDB buffer pool size on one mailbox server, but reduce it on another (to make more RAM available for Java).

All the best,
Mark
__________________
___________________________________
L. Mark Stone, CIO


"Uptime. All the time."

477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678

proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads

Why Join?

Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.

blog.zimbra.com




 

SEO by vBSEO ©2011, Crawlability, Inc.