How to use MySQL Server 5.6 for GeoIP replication?

WePython 1 Months+

I have downloaded the new MySQL Community Server 5.6 and I dont quite understand how to use it properly for GeoIP based replication across 20 nodes. I want to have one central node, then three smaller ones, and then 8 sub-sub nodes so it's like a tree, and the writes are propagating in the cycle around the globe.

Have anyone has any link to point any theory on the above scenario, or what would be appropriate option without migrating to MySQL Cluster?

-----------------Answer-----------------

Would you be interested in a MySQL Replication setup that is shaped like a snowflake ?

You could setup a Star Topology

  • Have a Write Master
  • Setup up a Distribution Master (DM). The role of the Distribution Master is simple
    • Slave to Write Master
    • Store No Data (All tables use BLACKHOLE Storage Engine)
    • Have Binary Logging Enabled
    • Act as Master to Multiple Read Slaves

For your case, you could have

Write Master in WM1

  • DM1 as Slave to WM1
    • SLV1 as Slave to DM1
    • SLV2 as Slave to DM1
  • DM2 as Slave to WM1
    • SLV3 as Slave to DM2
    • SLV4 as Slave to DM2
  • DM3 as Slave to WM1
    • SLV5 as Slave to DM3
    • SLV6 as Slave to DM3

You could hang a DM as a Slave off of another DM

The possibilities are endless

I have written about setting this up before

  • https://stackoverflow.com/a/5781504/491757
  • https://serverfault.com/a/264444/69271
  • https://dba.stackexchange.com/a/9336/877

Previous : Analysing SQL Server Network I/O
Next : Does 'Cities' deserve a separate table?