Quantcast
Channel: StackExchange Replication Questions
Viewing all articles
Browse latest Browse all 17268

Need advises for a new MySQL architecture

$
0
0

I need to deploy a MySQL-based application with the following requirements and would love to receive some guidance (any) as to how I could set things up:

  1. Scale of deployment

    5 servers with a latency of 200-400ms between them.

  2. Database content/structure

    Running InnoDB. 1GB of data split across 50 tables which are categorized as follows:

    -user tables: about 200MB across 10 tables which store information on users (e.g. user, user_favorites, user_votes...).
    -content tables: about 800MB across 40 tables which store information about everything else (these tables don't have any relationships with the user tables).

  3. Content creation/access

    -user tables: each server should have READ-WRITE access to these tables. The frequency of writes depends on users' activity on the website (e.g. people creating account, updating it, voting and/or putting items in favorites...).

    -content tables: each server should have READ ONLY access to these tables which would be updated once a week when the webmaster updates the website's content (and on some occasions maybe on a daily basis to perform urgent content updates).

And here is the setup I've come up with so far:

  • each server would have its own local copy of the database for READ-ONLY access.
  • WRITE queries for user tables would be forwarded to 1 MASTER server using MySQL splitting techniques.
  • WRITE queries for content tables would be performed directly on the MASTER server.
  • The MASTER server would be replicated to the other servers operating as SLAVES.

And here are my questions:

Q1: Do you see anything fundamentally wrong with my setup / can you recommend something better?

Q2: What tool would you use to split READ and WRITE queries?

Q3: WRITE queries for user tables are going to be delayed because of the latency of writing to the MASTER: is there anything that can be done to mitigate that?


Viewing all articles
Browse latest Browse all 17268

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>