Hi,

We are trying to find a way to distribute a large MySQL database across 
several systems, each configured as a master to a slave.  At this point we are 
tossing architectural ideas around and here is where we are right now:



                              Primary (Master) 
                                  MySQL DB
                                           |
          +--------------------+--------------------+-------------------+
           |                     |                     |                     |
     partitionA-G   partitionH-M     partitionN-S    partitionT-Z    
           |                     |                     |                     |
           |                     |                     |                     |
                    <<<----(MySQL Replication)---->>
           |                     |                     |                     |
          V                    V                   V                    V
      slaveA-G        slaveH-M         slaveN-S         slaveT-Z      (slaves)

Machines
-----------------
Primary DB      dual 2.2+ Ghz/1Gb RAM and 250Gb of RAID 1 storage, dual Gb eth
      <<<----(Gb Ethernet Switch)---->>>
PartitionA-G     dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth 
    
PartitionH-M     dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
PartitionN-S     dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
PartitionT-Z      dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
      <<<----(Gb Ethernet Switch)---->>>
SlaveA-G         dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
SlaveH-M         dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
SlaveN-S         dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
SlaveT-Z          dual 2.2+ Ghz/2Gb RAM and 2Tb of RAID 5 storage, dual Gb eth
 
The idea is that users would typically connect to the PartitionA-Z for normal 
read access.  Overflow queries would connect to the SlaveA-Z.  Update 
processes would connect to the Primary DB machine.

For what its worth, we will be running RH 9.0, MySQL 4.0??? (depending on 
features we need to accomplish this); no two-phase commit transactional support 
required, no stored procs.

I am not certain about how to split the database across multiple machines (or 
is can be done).  we are also toying with the idea of using a hardware load 
balancer as a fabric of sorts to route traffic and possibly bi-directional 
replication <shudder>.

Has anyone ever tried this?  Have any thoughts?

Thanks in advance.
Tony




-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to