Wednesday, September 29, 2010

Drizzle beta is here!

Congratulations!

Can we please tone down the marketing? It is great to see a community project grow, especially in the MySQL family. But you are judged by successful deployments, not by the class libraries used by your project.

Drizzle is only more reliable than MySQL when it keeps the replication log and InnoDB in sync during crash recovery. But it does not do that today. Official MySQL supports this on a master via sync_binlog. MySQL slaves do this today via rpl_transaction_enabled which is available in the Facebook and Google patches. I think it is also available in Percona Server, MariaDB and XtraDB.

I have been told that Drizzle was designed for multi-core scalability. I am not sure what that means on real workloads or benchmarks. I know that there are some bottlenecks in InnoDB that have nothing to do with the code above it (MySQL, Drizzle). I also know that MySQL has made huge strides this year and MySQL 5.5 far exceeds my expectations. Alas I cannot validate whether "designed for scalability" results in performance that is better than MySQL 5.5 as I cannot build Drizzle on my servers due to the  dependency on gcc 4.2 or greater.

7 comments:

  1. Hey Mark!

    Sorry about your problems building. My CentOS5 build machine has a copy of gcc 4.4 I was able to install with yum install gcc44-c++. I _thought_ that was part of the normal repo, but it's entirely possible that I'm wrong. The biggest issue I imagine you'll run in to would be boost version ... and I'm working on getting some newer boost libs into rhel5 rpms for folks still on RHEL/CentOS5.

    I'd also be more than happy to make and send you some RPMs if that would be helpful.

    I agree that success is defined in terms of successful deployments. Up until today we've been begging folks to not install us just yet, but now that we're in beta, I fully look forward to hearing how that starts going for people... and I certainly can't wait to get some solid feedback from you!

    ReplyDelete
  2. It is easily available for CentOS 5.X depending on the value of X. Otherwise it is difficult to get gcc 4.2.

    Given the sponsorship by Rackspace I am sure Drizzle has an excellent opportunity to get a lot of production use.

    ReplyDelete
  3. Hi!

    For us the command is --transaction-log.flush-frequency. If you are using the disk based log (if you are using the RabbitMQ replicator (or any of the other ones) it is a matter of how well they do HA.

    If you are using the file you are at the same disadvantage as any of the current systems. This is just the issue of having two different files and relying on a local sync (we have never finished the replicator to allow Innodb to just store everything).

    I will be the first one to tell you that replication still needs more testing, that is why this is a beta :)

    Cheers,
    -Brian

    ReplyDelete
  4. How is the disadvantage the same? With sync-binlog=1, InnoDB and the binlog are kept in sync on crash recovery.

    What happens in Drizzle when there is a crash after the replicator log is written and before COMMIT is done to InnoDB. I assume that XA is used as there are two resource managers (replicator, innodb) that must agree.

    This isn't a property of the replicator (rabbit MQ or anything else). If you don't use something like XA then the storage engine and the replicator will eventually disagree after a crash.

    ReplyDelete
  5. Hi!

    A quick note on benchmarks. If you want to see ours you can read them from this mailing list:
    https://lists.launchpad.net/drizzle-benchmark/

    We generate numbers for DBT2, sqlbench, and sysbench with each push to our staging tree (ie we look for regression with each run). So if you want to follow our benchmarking just subscribe to the mailing list.

    We will be adding new boxes in the very near future which are beyond the current 16core systems we use today.

    Cheers,
    -Brian

    ReplyDelete
  6. VadimTk,

    I tried to install Drizzle from source - but I died in the middle of process fighting with libraries and dependencies.

    Binary distribution would be very appreciated if you want to get more users for Drizzle.

    ReplyDelete
  7. apachephp:

    We have packages for Ubuntu ready built in our PPA at:

    https://launchpad.net/~drizzle-developers/+archive/ppa

    Fedora should be easy to compile on, CentOS/RedHat < 6 will be difficult due to the really old libraries in them.

    We will work towards more binary releases in the near future.

    ReplyDelete

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.