I am trying to build a 1TB database on MySQL which will need strong read performance. I intend to replicate my database to prevent downtime.

Do my database servers need load balancing to improve performance, or would a memcached setup be better?

What is the best failover solution for databases?

  • 1
    I don't know because I'm not a DBA, but it sounds like this depends entirely on the implementation of the database.
    – dreamlax
    Sep 28 '12 at 8:52
  • 2
    You'll need to be way more specific in your question. Answering broad questions / starting discussions is not what this site is for. If you have any very specific scenarios that you need advise for, please revise your question. Sep 28 '12 at 9:31
  • i am sorry. i should have been more specific. my requirement is to support around 1 TB of database with best performance read performance. i would be using mySql and have been checking out multiple available systems like amazon and gogrid. which justs turn out to be too expensive. because the project although has potential growth but revenue model has not been decided. a dedicated setup will allow me to have more performance while keeping the costs down.
    – Same Here
    Sep 28 '12 at 10:06
  • 1
    Please can you edit that info into your question and focus on one answerable question at a time? Sep 28 '12 at 10:21
  • 1
    added some edits, but this is still somewhat vague and could use additional clarity. Oct 1 '12 at 9:05

If you want to have a solution for automated failover you could take a look at Galera replication with Galera load balancer up front of your servers. Galera will allow you to have a multi master cluster that uses the InnoDB storage engine. You can write and read to all servers. If you don’t want to use a load balancer you can make your database logic aware of multiple database servers and distribute load in the database abstraction logic.

Continuent also provide a really nice MySQL replication/clustering product (Tungsten), the basic software is free however the full clustering system costs money.

Memcached: You should always implement caching whenever possible and try to cache as much static or infrequently changing data as you can. This is another thing you can handle in your database abstraction logic.

Implementing a true multi master system using a software like Galera or Tungsten with Memcached can provide HA and speed if done correctly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.