Showing entries 331 to 340 of 378
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: Technology (reset)
Faster queries because of higher(!) isolation level

Please note that I am in no way affiliated with MySQL (AB). I am just a user of their products. Everything you read here, especially my explanations and conclusions are to the best of my knowledge, but there is a chance that they are awfully wrong!

I recently had to investigate the cause for a very long running delete operation in one of our applications. Apparently the time was spent in a single MySQL statement. While looking into the matter I exchanged numerous mails with the MySQL customer support, until I finally came up with a (much) improved version of the query. Along the way I learned some valuable information about MySQL's (or better InnoDB's) transaction levels.

Problem

The general problem looks quite simple:

  • Three tables, let's just call them A (500.000 rows), B (4.000 rows) and C (180.000 rows)

  • B contains detail information for …

[Read more]
MySQL 5.0, Bug 10210

In my previous post about enhancing the graphs the MySQL Administrator displays I added a remark that there seems to be a difference between MySQL 4.1 and 5.0.

As it seems this has already been reported as MySQL Bug #10210 and fixed, however only for 5.1. Summarizing the bug report is easy: They implemented Heisenberg (or better: the observer effect). You cannot query the counters for e. g. the number of temporary tables created without modifiying it as you go. In 4.1 all the SHOW STATUS... commands (see the manual page) could be executed without modifying the values displayed, because they …

[Read more]
Enhanced MySQL Administrator Graphs

Update: MySQL 4 and 5 behave differently.
In MySQL5 there is a steady activity on some handlers, probably caused by the status queries themselves. This does not happen in 4.1. I have issued a support call with MySQL and will see what to do about it.

Update 2: See the follow-up post for more information on how to work around this.

MySQL Administrator is one of the graphical tools MySQL provide to manage their database servers. Apart from other things like server daemon control and a log file viewer this tool includes visual controls to display the load of the database server.

Even though the out-of-the-box configuration already contains some useful diagrams, I added some …

[Read more]
Leaving Yahoo!; storage, consulting

As many of you know already, I’ve decided to leave Yahoo!. Today was my last day. I’ve had a great time at Yahoo! and worked with a bunch of brilliant people. I will miss you all!

   

Where am I headed? That’s actually a complicated question. I’ll be working part time at Pivot3, a mature startup that’s doing great things in the storage industry. Contact me if you’re interesting in cutting storage costs, getting some amazing management tools, and some awesome performance. I would love to tell you more! MySQL will absolutely rock on this platform.

Yes, I said part time. I have a startup of my own, Proven Scaling, providing advanced MySQL …

[Read more]
MySQL Replication: Error 1053

When setting up MySQL replication there are some things to remember. Although the setup is quite easy if you thoroughly read the documentation on MySQL's developer site you might still hit some issues.

We have quite a large scale replication setup (MySQL 4.1.12) with several hundred slaves. Today we saw a very strange situation: All of the slaves stopped replicating and claimed that a statement had been partially executed on the master side. The exact message was

Query partially completed on the master (error on master: 1053) and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;

The error code 1053 which means as much as "server shutdown".

We checked the master and could not …

[Read more]
Second Life

Back in April MySQL had its yearly user's conference. Each year there are more users and more people to talk to, which means I get fewer chances to listen to any of the talks being presented. I did though take time out to listen to the talk on Second Life. I've been playing with BBS'es, Talkers, and other assorted digital online communities ever since I got my first modem. What fascinated me about Second Life was the prospect of it taking a shot at being the first "metaverse". I am a big fan of "Snow Crash" and would love to see that sort of environment spring to life. I work daily with friends and colleagues using IM and IRC, and any depth that can be added to those conversations is great as far as I am concerned.

I have also been fascinated with learning about how they are scaling with MySQL. Their design is fairly classic with replication, but what is interesting is to look and see how this is applied to a virtual …

[Read more]
Would your geek interface read your email?

Last Sunday I was heading out to a party when I overheard the conversation of "You shouldn't buy an iPod, they have a horrible interface". Now this always holds my interest since I do believe that the interface to my iPod could be a lot better. I stepped into the conversation and heard similar complaints as mine as to why the iPod was the wrong interface, and I also got an earfull on the "Geek Interface".

What is the "Geek Interface"? It is the interface that all geeks want.

It has a thousand buttons.
It will fetch RSS for you.
It reads your email.
It will control your remote vacuum cleaner/indestructible fighting robot.
It probably has an interface to a database (or this could be just because I work for MySQL).

Every geek wants one of these. They want it to be wearable, they want it to look cool.

The "geek …

[Read more]
Plugin-based backup for MySQL

I’ve been working on a new project to fulfill a specific need: consistent, fast, cheap, and flexible backups for MySQL, for all storage engines1. To that end I’m creating a tool called dbsnapper—a plugin-based backup tool. The tool itself is very basic and handles a few jobs: getting configuration information from the user, running through a “run sheet” of different configurable tasks, and reporting status and errors to the user.

The tasks then—the actual backup steps—are fully configurable, via plugins. In fact, the whole process isn’t even MySQL specific, and can potentially be used for PostgreSQL2 and other database as well. Remember the requirements for backups (above):

  • Consistent—We need to do some locking inside MySQL to make sure that the backups are consistent, for both MyISAM and InnoDB tables. This generally means the FLUSH TABLES WITH READ LOCK command.
  • Fast—There …
[Read more]
New Storage Engines: A welcome change

There’s been a lot of buzz lately about new storage engines (Solid’s SolidDB and Jim Starkey’s Falcon) being developed for MySQL. Quite a few people have asked me what I think about them, and if it’s really a seamless process to switch storage engines. Everybody still has Oracle’s acquisition of Innobase Oy fresh on their minds, so nobody is really terribly surprised by the recent announcements. As for my opinion on the matter, well, it’ll take some discussion. I was quoted in ComputerWorld’s article

[Read more]
Stop the madness: SHOW STATUS

Are you a MySQL user? Have you tried 5.0? Did you notice that SHOW STATUS was giving you strange results?

Here’s the skinny: The SHOW STATUS command, which has been in MySQL, well forever, has had a long-standing feature request; to have the ability to report its metrics per-session. That functionality was added in MySQL 5.0, in the form of two new syntaxes: SHOW SESSION STATUS and SHOW GLOBAL STATUS to give the per-session and server-wide statistics, respectively. It’s great, and I’m happy to see it.

The problem comes in because of the default behaviour that was chosen for the basic SHOW STATUS with no SESSION or GLOBAL keyword—that is, the command that every MySQL DBA has been using for years—now defaults to per-session statistics.

Every tool, program, monitoring script, performance graph, etc., that uses SHOW STATUS (which is pretty much all of them) is broken in 5.0. Why? Well, for no reason, …

[Read more]
Showing entries 331 to 340 of 378
« 10 Newer Entries | 10 Older Entries »