Multi-db and hosting

I've been developing my multi-site on a shared Go-Daddy hosting account. It's time to launch our first beta. I want to prepare for growth and therefore use your multi-db. I have quite a few of your plugins already, but since I want to use Anti-Splog, Support System & Supporter all of which require global table lines inserted with multi-db, I thought it best to do all of it now. (I have test installed the 3 plugins on another multisite test site but not in a multi-db.

Since I also need a new hosting provider, I contacted your recommended provider, WPEngine. They do not allow the use of multi-db. They told me they provide a service called "MYSQL Cluster" which replicates files. What is your opinion on this? Is it technically the same or should I find an alternate provider that allows for the utilization of Multi-db? If I went with them, if they did not meet our needs and we needed to migrate off, I'm not certain what structure would have been created with their process. Any thoughts?

  • LexBlog

    Hi antKat,

    WPEngine does not want to use the Multi-DB plugin because they offer a hosted WordPress solution, which includes the database. They have a standard configuration they support, and do not want to make changes to the DB structure that will impact their ability to provide you support. This is totally reasonable, and expected with a hosted WordPress provider.

    A MySQL Cluster is a replication configuration for MySQL that provides redundancy and performance at the -physical server- level. This is a similar (though not the same) functionality to multi-DB.

    Multi-DB spreads out the database configuration to many smaller databases, so that you can move each DB to a particular server in order to alleviate load and increase performance. It is better used if you are in control of the hosting server, and can manage MySQL yourself.

    If you must install Multi-DB, you should rent a hosted server, install WordPress and then you can manage it in any way you see fit. If you are looking to have someone provide you a hosted WordPress installation, you shouldn't expect they will install the Multi-DB plugin.

    - Tim

  • antKat

    Thanks for the response. I had assumed that their Touring Package for a Multi-Site was a different service offering from their Sport - Standard Wordpress. I wasn't expecting that they install the multi-db (although I did ask if they could) - but they basically said that their system would not work with it - period.

    I had also been looking into as a possibility. I am still looking for someone to do the multi-db install. I previously posted on the board but only got one response and I haven't been able to reach since.

  • antKat

    I'm now leaning towards, hoping that the cloud "elasticity" will help with scalability.
    At first they recommended a starting point of 3 nodes; however, when I told them that I wanted to use multi-db with 4,096 databases for the future - they came back and said I needed 6 nodes. When I questioned the leap of 3 additional nodes for just running the plugin and establishing the DBs with no additional users, blogs, etc. They came back with the possibility of accomplishing it with 4.

    Each node isn't that expensive, although initially its more than I need, I just don't want to be penny wise and pound foolish. So the following is what they have ultimately said. I'd appreciate your comments and recommendation.

    If you go 4 nodes, we'd setup the infrastructure like this:

    Web server - 2 nodes
    SQL Server - 2 Nodes

    If you went 6 nodes, we could do:

    Web server - 2 nodes
    SQL Server 1 - 2 nodes
    SQL Server 2 - 2 nodes

    In reality though, you'd really be fine running just one server. To setup a replication cluster now while the site is in it's infancy, you're just spending an unnecessary amount of money. It's very easy to migrate to using a replication cluster.

  • webatonic1

    I contacted RackSpace and they said I can have my Multi-site Setup with Multi-DB and 4096 databases setup installed using the following:

    1 x 2GB Server (Lin) $58.40
    1 x 2 GB Database (Lin) $58.40
    1 x Load Balancer (100) $21.90

    Estimated total: $138.70 (per month)

    If I plan to have hundreds of thousands of sites, and grow steadily by adding more servers, can this initial setup work?

  • Jason

    I've been using Amazon's AWS service since moving from Hostgator and have amazing response rates and performance. The best part is, they offer JUST the databases connected on the back end of your server. You only pay for what you use and if you do the reserved instances, you can save a lot of cash.

    Load balancing your front end with backend MySQL databases is easily accomplished without "servers" for the databases.

  • DavidM

    Hi @webatonic1, Yes, Snapshot works with Multi-DB, fortunately. You'll see that's been confirmed by the current lead developer for the plugins here:

    I'm gonna ask some of the server guys over here to have a look at those stats, though to me they look great. I'm more accustomed to far less horsepower but a whole lot of tweaking. :slight_smile:

  • DavidM

    Hi @webatonic1,

    I actually ran this matter by Michael, head honcho of servers over here (He's the go-to server guy behind the scenes for Edublogs), and I'll just quote him verbatim here in entirety:

    You can in theory put millions of blogs on a 2GB database node, with "unlimited" storage -- so long as no one accesses those blogs! At the same token, you can have a small number of blogs on a 2GB node, with very little disk space and suffer poor performance if it's a write heavy load. You can also have thousands of blogs with a relatively small set of nodes, and get good performance if those blogs are static and well cached.

    My point here is that it's kind of hard to quantify what would be sufficient: it all depends on what's going on under the hood. The ideal scenario would be to benchmark the workload and plan accordingly. However, in absence of that you can safely assume that a typical WordPress install is probably mostly reads, fewer writes.

    Having said that, this configuration with thousands of blogs may work, so long as you have a relatively low number of requests, low write rate, and good caching (CDN, caching/acceleration like CloudFlare, etc.) ... Performance might begin to degrade when one of those get out of whack.

    Given that, I would think your setup is great, at the very least to start with. But there's the matter of honing it all over time.

    Hope that helps some.


Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.