Oct
30
2009
0

Pathfinder Session 7: October 30, 2009

We continue our adventure in our apartments after a wonderfully successful play in the City of Westcrown.

The Party

Bort Taberd – Human [native Chelish] fighter. The son of wealthy merchants.
Toobufforu – Human [native Chelish] rogue. The son of the late famed opera singer (and known lover of young boys) Michelangelo.
Scarvend – Human [immigrant Khellid] sorcerer. Immigrant from the bizarre city of Starfall, he believes himself to be a prophet of the void beyond.
Max Blackstone – Dwarf cleric of Torag. Seeks to bring back open worship of deities other than Asmodeus to Westcrown.
Bindle – Gnome Illusionist. Seeks to allow art back into city.

The Adventure

(more…)

Written by in: D&D,Pathfinder | Tags: ,
Oct
30
2009
--

New MariaDB release is out

MariaDB project kept development going in the repository only not providing any binary releases since April, so release was well over due and it is here now.

If you’re wondering how this release of MariaDB is different from MySQL you should read this FAQ


Entry posted by peter |
No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Written by in: MariaDB,Zend Developer |
Oct
30
2009
--

Giving a talk in Palo Alto, November 3rd

I’m going to give a talk on Goal Driven Performance Optimization next Tuesday. This is one of my favorite talks as it goes beyond MySQL to the principles you can apply to performance optimizations of the complex systems, especially when you have to do a lot in limited time or budget and so you can’t just fix everything what can be fixed.

Please RSVP if you’re planning to attend as space is limited.

Thanks to Sam Ghods and Box.Net for organizing the event.


Entry posted by peter |
No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Written by in: community,Zend Developer |
Oct
27
2009
--

State of the art: Galera – synchronous replication for InnoDB

First time I heard about Galera on Percona Performance Conference 2009, Seppo Jaakola was presenting “Galera: Multi-Master Synchronous MySQL Replication Clusters”. It was impressed as I personally always wanted it for InnoDB, but we had it in plans at the bottom of the list, as this is very hard to implement properly.
The idea by itself is not new, I remember synchronous replication was announced for SolidDB on MySQL UC 2007, but later the product was killed by IBM.

So long time after PPC 2009 there was available version mysql-galera-0.6, which had serious flow, to setup a new node you had to take down whole cluster. And all this time Codership ( company that develops Galera) was working on 0.7 release that introduces node propagation keeping cluster online. You can play with 0.7pre release by yourself MySQL/Galera Release 0.7pre.

In current version propagation is done by mysqldump from one of nodes (“donor”). In next release Codership is going to support LVM snapshot and xtrabackup which will make the setup of new node even easier. The current annoyance I see is that if you shutdown one node for short period of time for quick maintenance, after start, the node has to load whole mysqldump, like it is new empty node. I hope Codership guys will address this also.
Another thing I miss for now is support of InnoDB-plugin, which as we know performs much better than standard InnoDB ®.

So what is so interesting about Galera. Couple things:

– High Availability. Any of N standby nodes are available immediately when main node fails. Galera is serious pretender to be included to the list, Yves put recently, http://www.mysqlperformanceblog.com/2009/10/16/finding-your-mysql-high-availability-solution-%e2%80%93-the-questions/. I am not sure how many nines it will provide :) , but efforts on test setup and deployment should be comparable with MMM setup.

– Scale Writes. Galera allows to write to any of N nodes and automatically propagate to other nodes. It sounds too ideal, and there is drawback – with increasing amount of nodes you write to, your transaction rollback rate may increase, especially if you working on the same dataset. You can find some results on Codership’s page, and I am going to run my own benchmarks also. Also from benchmark you can see that communication overhead maybe significant for short writes.

– Scale Reads. It can be done with regular replication, but with synchronous your “slaves-nodes” are in the same state, there is no “slave behind”. When you read from any slave, you read actual data. Although it also has serious drawback – our cluster is fast as fast the “weakest” node in the chain. So if one node gets overloaded and performance degrades, the same happens with whole cluster.

– Heterogeneous-database replication. It is not here yet, and I do not know what’s in Codership roadmap, but group manager protocol in Galera is database independent, and it’s only matter of database drivers. For InnoDB currently it is set of patches, and I see it is quite possible to make the same for Postgres. So MySQL-Postgres cluster setup is not so far ahead :)

On “Company page” Codership says their goal is “to promote and exploit the latest developments in computer science to produce fast and scalable synchronous replication solution that “just works” for databases and similar applications”, which I think they have success in. Implementing fast, scalable and working group communication and transaction manager is the art.

As for now I would not put 0.7 release into production yet, but you may seriously consider to play with it in test environment, and report bugs to Codership team, they are very responsive.
I am waiting for next releases and looking to make integration with XtraDB.


Entry posted by Vadim |
6 comments

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Oct
26
2009
--

Air traffic queries in LucidDB

After my first post Analyzing air traffic performance with InfoBright and MonetDB where I was not able to finish task with LucidDB, John Sichi contacted me with help to setup. You can see instruction how to load data on LucidDB Wiki page

You can find the description of benchmark in original post, there I will show number I have for LucidDB vs previous systems.

Load time
To load data into LucidDB in single thread, it took for me 15273 sec or 4.24h. In difference with other systems LucidDB support multi-threaded load, with concurrency 2 (as I have only 2 cores on that box), the load time is 9955 sec or 2.76h. For comparison
for InforBright load time is 2.45h and for MonetDB it is 2.6h

DataSize
Another interesting metric is datasize after load. In LucidDB db file after load takes 9.3GB.
UPDATE 27-Oct-2009 From metadata table the actual size of data is 4.5GB, the 9.3GB is size of physical file db.dat, which probably was not truncated after several loads of data.

For InfoBright it is 1.6GB, and for MonetDB – 65GB. Obviously LucidDB uses some compression, but it is not so aggressive as in InfoBright case. As original dataset is 55GB, compression rate for LucidDB is somewhat 1:12

Queries time

Let me put list of queries and times for all systems.

– Lame query “count start”
LucidDB:
SELECT count(*) FROM otp."ontime";
1 row selected (55.165 seconds)

Both InfoBright and MonetDB returned result immediately.
It seems LucidDB has to scan whole table to get result.

– Q0:
select avg(c1) from (select "Year","Month",count(*) as c1 from otp."ontime" group by "Year","Month") t;
LucidDB: 103.205 seconds
InfoBright: 4.19 sec
MonetDB: 29.9 sec

– Q1:
SELECT “DayOfWeek”, count(*) AS c FROM OTP.”ontime” WHERE “Year” BETWEEN 2000 AND 2008 GROUP BY “DayOfWeek” ORDER BY c DESC;
LucidDB: 49.17 seconds
InfoBright: 12.13 sec
MonetDB: 7.9 sec

– Q2:
SELECT “DayOfWeek”, count(*) AS c FROM otp.”ontime” WHERE “DepDelay”>10 AND “Year” BETWEEN 2000 AND 2008 GROUP BY “DayOfWeek” ORDER BY c DESC;
LucidDB: 27.131 seconds
InfoBright: 6.37 sec
MonetDB: 0.9 sec

– Q3:
!set rowlimit 10
SELECT “Origin”, count(*) AS c FROM otp.”ontime” WHERE “DepDelay”>10 AND “Year” BETWEEN 2000 AND 2008 GROUP BY “Origin” ORDER BY c DESC;
LucidDB: 27.664 seconds
InfoBright: 7.29 sec
MonetDB: 1.7 sec

– Q4:
SELECT “Carrier”, count(*) FROM otp.”ontime” WHERE “DepDelay”>10 AND “Year”=2007 GROUP BY “Carrier” ORDER BY 2 DESC;
LucidDB: 2.338 seconds
InfoBright: 0.99 sec
MonetDB: 0.27 sec

– Q5:
SELECT t.”Carrier”, c, c2, c*1000/c2 as c3 FROM (SELECT “Carrier”, count(*) AS c FROM OTP.”ontime” WHERE “DepDelay”>10 AND “Year”=2007 GROUP BY “Carrier”) t JOIN (SELECT “Carrier”, count(*) AS c2 FROM OTP.”ontime” WHERE “Year”=2007 GROUP BY “Carrier”) t2 ON (t.”Carrier”=t2.”Carrier”) ORDER BY c3 DESC;
LucidDB: 7.351 seconds
InfoBright: 2.92 sec
MonetDB: 0.5 sec

– Q6:
SELECT t.”Carrier”, c, c2, c*1000/c2 as c3 FROM (SELECT “Carrier”, count(*) AS c FROM OTP.”ontime” WHERE “DepDelay”>10 AND “Year” BETWEEN 2000 AND 2008 GROUP BY “Carrier”) t JOIN (SELECT “Carrier”, count(*) AS c2 FROM OTP.”ontime” WHERE “Year” BETWEEN 2000 AND 2008 GROUP BY “Carrier”) t2 ON (t.”Carrier”=t2.”Carrier”) ORDER BY c3 DESC;
LucidDB: 78.423 seconds
InfoBright: 21.83 sec
MonetDB: 12.5 sec

– Q7:
SELECT t.”Year”, c1/c2 FROM (select “Year”, count(*)*1000 as c1 from OTP.”ontime” WHERE “DepDelay”>10 GROUP BY “Year”) t JOIN (select “Year”, count(*) as c2 from OTP.”ontime” GROUP BY “Year”) t2 ON (t.”Year”=t2.”Year”);
LucidDB: 106.374 seconds
InfoBright: 8.59 sec
MonetDB: 27.9 sec

– Q8:
SELECT “DestCityName”, COUNT( DISTINCT “OriginCityName”) FROM “ontime” WHERE “Year” BETWEEN 2008 and 2008 GROUP BY “DestCityName” ORDER BY 2 DESC;

Years, LucidDB, InfoBright, MonetDB
1y, 6.76s, 1.74s, 0.55s
2y, 28.82s, 3.68s, 1.10s
3y, 35.37s, 5.44s, 1.69s
4y, 41.66s, 7.22s, 2.12s
10y, 72.67s, 17.42s, 29.14s

– Q9:
select “Year” ,count(*) as c1 from “ontime” group by “Year”;
LucidDB: 76.121 seconds
InfoBright: 0.31 sec
MonetDB: 6.3 sec

As you see LucidDB is not showing best results. However on good side about LucidDB I can mention it is very reach featured, with full support of DML statement. ETL features is also very impressive, you can extract, filter, transform external data (there is even access to MySQL via JDBC driver) just in SQL queries (compare with single LOAD DATA statement in InfoBright ICE edition). Also I am not so much in Java, but as I understood LucidDB can be easily integrated with Java applications, which is important if your development is Java based.

Worth to mention that in LucidDB single query execution takes 100% of user time in single CPU, which may signal that there some low-hanging fruits for optimization. OProfile can show clear places to fix.


Entry posted by Vadim |
10 comments

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Oct
25
2009
--

XtraDB Amazon Image

For those who use Amazon EC2 service and were anxious about having XtraDB ready to launch there is a good news.

We created a public AMI (Amazon Machine Image) with XtraDB release 8 installed on CentOS 5.3.

How to use it.

First make sure it is avaiable.

CODE:

  1. $ ec2-describe-images ami-4701e22e
  2. IMAGE   ami-4701e22e    xtradb/centos-5.3-x86_64.fs.manifest.xml        834362721059    available       public          x86_64  machine
  3. $

Run it. It is built for x86_64 plaform, so allowed types are m1.large, m1.xlarge and c1.xlarge

CODE:

  1. $ ec2-run-instances ami-4701e22e -t m1.large
  2. RESERVATION     r-46b3432e      834362721059    default
  3. INSTANCE        i-ecc74084      ami-4701e22e                    pending         0               m1.large        200910-25T18:31:06+0000        us-east-1c

Wait till the instance starts

CODE:

  1. $ ec2-describe-instances i-ecc74084
  2. RESERVATION     r-46b3432e      834362721059    default
  3. INSTANCE        i-ecc74084      ami-4701e22e    ec2-75101203143.compute1.amazonaws.com      domU-123139-0A-2622.compute1.internal       running      0
  4. m1.large        200910-25T18:31:06+0000        us-east-1c

Now it is up and ready.


Entry posted by Aleksandr Kuzminsky |
5 comments

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Oct
24
2009
--

xtrabackup-0.9.5rc

Dear Community,

As of today release 0.9.5rc is available.

In this release there are following changes:
Changelog:

  • Option –no-lock is added to innobackupex-1.5.1. Use it only while ALL your
    tables are InnoDB and you DO NOT CARE about binary log
    position of backup
  • XtraBackup is ported for InnoDB Plugin 1.0.4. Barracuda file format as well as compressed tables are supported. We thank a well known Social Network site for the sponsorship.
  • Windows conscious change more
  • Impoved error messages in innobackupex
  • Windows conscious experimental change
  • Suppress purge when –stats
  • Build number in RPM name. For instance, in the name xtrabackup-0.9.5rc-50.rhel5.x86_64.rpm 50 is the build number.
  • Suppress master_thread ibuf operations for –stats
  • Suppress ibuf operations for –stats
  • fFx fatal bug at –backup when added –stats
  • New option –stats to gather index stats
  • Fixed some bugs for a 32bit platform

Fixed bugs:

The binary packages for RHEL4,5, Debian, FreeBSD, MacOS as well as source code of the XtraBackup is available on http://www.percona.com/mysql/xtrabackup/0.9.5rc/.

The Debian package is also available via APT. Just add these lines  in /etc/apt/sources.list

deb http://repo.percona.com/apt lenny main
deb-src http://repo.percona.com/apt lenny main

Update the local database

# apt-get update

And install xtrabackup

# apt-get install xtrabackup

The project lives on Launchpad : https://launchpad.net/percona-xtrabackup and you can report bug to Launchpad bug system:
https://launchpad.net/percona-xtrabackup/+filebug. The documentation is available on our Wiki.

For general questions use our Pecona-discussions group, and for development question Percona-dev group.

For support, commercial and sponsorship inquiries contact Percona.


Entry posted by Aleksandr Kuzminsky |
5 comments

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Oct
23
2009
0

D&D Pathfinder Session 6

We continue our adventure in our apartments after a day of rest in the City of Westcrown.

The Party

Bort Taberd – Human [native Chelish] fighter. The son of wealthy merchants.
Toobufforu – Human [native Chelish] rogue. The son of the late famed opera singer (and known lover of young boys) Michelangelo.
Scarvend – Human [immigrant Khellid] sorcerer. Immigrant from the bizarre city of Starfall, he believes himself to be a prophet of the void beyond.
Max Blackstone – Dwarf cleric of Torag. Seeks to bring back open worship of deities other than Asmodeus to Westcrown.
Bindle – Gnome Illusionist. Seeks to allow art back into city.

The Adventure (more…)

Written by in: D&D,Pathfinder | Tags: ,
Oct
23
2009
--

Percona Performance Conference 2010

It’s time to announce our plans for Percona Performance Conference 2010. We will hold the event on April 12th and 13th in Santa Clara, California. In the months to come we will announce the theme, the exact location (we have it reserved, but it’s subject to change), the exact dates (we may add days), and we’ll open up registration and a Call For Proposals. Stay tuned!


Entry posted by Baron Schwartz |
7 comments

Add to: delicious | digg | reddit | netscape | Google Bookmarks

Oct
23
2009
--

Vote for Lime-Support in Netbeans

The Netbeans-IDE already has PHPUnit support. It is possible to run the unit tests from the IDE and get the result shown in a pretty way. I opend a feature request at the netbeans tracker to support Lime too. I think Lime2  support should not be really difficult through the xUnit XML-Resultfile-Support of Lime2. If you like to have the feature in a future version of Netbeans just vote for it under: http://www.netbeans.org/issues/show_bug.cgi?id=175256

:-)

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com