There are a lot of MySQL udf's floating around, but there are not
a lot of resources to just site down and write a UDF.
For this reason I put up a skeleton project for UDFs:
http://hg.tangent.org/skeleton-mysql-udf
You are welcome to pull it and make use of it for your own
projects. Its a very simple design and could use a few more
people contributing to it.
It does though handle all of the make/build environment for you,
which is pretty nifty :)
My recoup cost for this is one cup of Green Tea from the Victrola
here in Seattle.
From the Oracle TechBlogs:
The Falcon Has Landed
You can check out the camera they have setup as well:
http://pressroom.oracle.com/falconcam.jsp
When I first saw the headline, I wondered if Oracle was as
excited as MySQL is to see new releases of our Falcon Storage Engine!
Oh well, their falcons are still cute!
I had the interesting customer case today which made me to do a bit research on the problem.
You can create merge table over MyISAM tables which contain primary key and global uniqueness would not be enforced in this case, this is as far as most people will think about it. In fact however it is worse than that - if you have same key values in underlying base tables some of the queries may give you wrong results:
PLAIN TEXT SQL:
- mysql> CREATE TABLE t1(id int UNSIGNED PRIMARY KEY);
- Query OK, 0 rows affected (0.07 sec)
- mysql> CREATE TABLE t2(id int UNSIGNED PRIMARY KEY);
- Query OK, 0 rows affected (0.02 sec)
- mysql> CREATE TABLE tm(id int UNSIGNED NOT NULL PRIMARY KEY) type=merge union(t1,t2);
- Query OK, 0 rows affected, 1 warning (0.03 sec)
- mysql> INSERT INTO t1 …
You might have noticed that MySQL is hiring. We need more people. Last time I looked, we had 29 open positions, nearly all of which worldwide.
Internally, we have an initiative to come up with a canonised list of “The Top Reasons To Work for MySQL“. This is my input to the internal group of people compiling that list:
- You get to work with some of the smartest people on the planet, as users, customers and colleagues.
- You don’t have to relocate, but you can, if you (or your spouse) want to.
- You usually work from home and can be available for family emergencies.
- You can influence your own daily working rhythm.
- You get to travel, meet …
Today seems to be Innodb day in our Blog, but well this is the question which pops ups quite frequently in Innodb talks and during consulting engagements.
It is well known to get better performance you should normally set innodb_log_file_size large. We however usually recommend caution as it may significantly increase recovery time if Innodb needs to do crash recovery.
I'm often something like what recovery time would expect for 512MB total log file size. This is however question with no exact answer as there are many things which affect recovery time.
For example Paul mentioned YouTube has something like 4 hours recovery time even if logs are of reasonable size and wikipedia has 40 minutes or so with innodb_log_file_size=256MB. In other cases I know same log file time may have recovery time of 5-10 minutes.
To understand things affecting recovery time you better to understand how Innodb recovery …
[Read more]It was long overdue, but now it has happened: Planet MySQL now provides a section to aggregate french blogs about MySQL! Thanks a lot to Jay for updating the code and Pascal Borghino for the localization. If you are a MySQL enthusiast located in France (or any other french-speaking country) and you enjoy writing about your passion in your native language, submit your feed now!
Eric
Bergen from Proven Scaling (which I had the pleasure to meet
in person during the MySQL Conference & Expo in Santa Clara last month)
was kind enough to send me a patch for the mylmbackup tool, which
justifies a new release:
Attached is a patch file for mylvmbackup that adds the ability to use
lvm version 2 and perform innodb recovery on the snapshot prior to
creating a tar ball. The option is named --innodb-recover.
I've also fixed a bug with default value handling for command line
options. In version 0.4 if a config file was specified default values
in the script were all changed to blank. This means that the config
file had to supply values for every variable instead of just the
values that need to be changed from default.
This …
[Read more]It might look like it is too late to write about stuff happened at Users Conference but I'm just starting find bits of time from processing accumulated backlog. The Theme of this Users Conference was surely Storage Engines both looking at number of third party storage engine presented, main marketing message - Storage Engine partnership with IBM, "Clash of Database Egos" - Storage Engine developers showcase as one of keynotes.
Today let me start with most popular transactional storage engine for MySQL - Innodb.
Innodb Storage Engine was covered in a lot of talks, many of them done by Innodb users. I found these items forth interest
Innodb Zip Page Compression This feature was in development for a while. I believe it is at least 3rd Users Conference it is being talked about, but now it is working enough to do some tests. There seems to be still fair amount of work required to make it work well such as having …
[Read more]
The weather today was wonderful, time for the kilt.
I met up with sierrascape at her studio, picked up sushi
at Hah-Nah, and ate lunch outdoors on the grass at Cal Anderson
Park.
This afternoon I met up with krow at
Victrola Cafe, and watched and assisted as he wrote up a skeleton
UDF for MySQL. The idea is that I use the UDF mechanism to load
my SNMP agent for MySQL into 4.0, 4.1, and 5.0.
This evening Paul came over, and we did Knuth, with Eric on
Skype.
And now, Kidde keeps coming over and yelling at me to come to
bed.
Just a little heads-up and a bit of MySQL-related technical content for all of you still out there following along…
At Proven Scaling, we take on MySQL performance problems pretty regularly, I’m often in need of good tools to characterize current performance and find any issues. In the database world, you’re really looking for a few things of interest related to I/O: throughput in bytes, requests, and latency. The typical tool to get this information on Linux is iostat. You would normally run it like iostat -dx 1 sda and its output would be something like this, repeating every 1 second:
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz
avgqu-sz await svctm %util
sda 0.00 8.00 0.00 4.00 0.00 96.00 0.00 48.00 24.00 0.06 15.75
15.75 6.30
Most of the output of iostat is interesting and reasonable for its intended …
[Read more]