1. My wishes are:
    1. Provide HA for traditional storage engines (InnoDB) as defined by the features in the Google patch. The features include support for semi-sync replication, binlogs that survive a master failover and slave replication state that does not get corrupt on a slave crash. For the binlog to survive a master failover, the slaves position in the master's binlog must be represented by something other than the file offset or binlogs must be mirrored.
    2. Support parallel IO. Parallel query is very hard to support. Parallel IO is a bit simpler. External sort (index creation) can be much faster on multi-disk servers when async IO is used so that more disks are utilized concurrently. Async IO can be provided by libaio or a set of threads as InnoDB does for Linux. Parallel IO can also be used for external hash join, external sort merge join and prefetch. InnoDB uses async IO on some platforms and when the Google patch is used. But external sort does not use it and nested loops join is the only join method in production MySQL releases.
    3. Continue to improve InnoDB thread scalability.
    4. Separate threads from connections in the MySQL server so I can run a server with many more connections than is possible today or provide a proxy that provides connection pools.
    5. Fix the InnoDB performance regressions in MySQL 5.0.
      • Group commit is broken for InnoDB in MySQL 5.0. This bug has been open for some time. I may try to fix it.
      • There might be a performance regression for insert statements with InnoDB in MySQL 5.0.37. I say might because I have great respect for Heiki and InnoDB and I am still investigating the problem. But I think that the performance difference is significant (30% to 50% slower for table restore using mysqldump output). The difference does not exist for queries and I have yet to test update and insert. I need to fix this if I am to use MySQL 5.0.
    2

    View comments

Loading