THE WORLD DISCUSSES #PYTHIAN ON TWITTER. HAVE A QUESTION? USE OUR HASHTAG AND ASK AWAY.

Gerry Narvaja: the Winds Of Change

For very personal reasons that don’t belong in this article, I decided a few weeks ago that it’s time for me to move on. The year and a half that I worked for Pythian have been a wonderful experience, and this is article is my tribute to this great company.

The MySQL Team

Being able to work side by side with two MySQL experts like Sheeri Cabral and Augusto Bott has been a great experience. I have learned a lot, not only about MySQL, but also about what a great DBA should be like. Both of them are recognized MySQL Community members and regular speakers at the MySQL Users Conference and other events. Sheeri has been named MySQL Community Member of the Year twice in a row. Both are a guarantee of excellent service.

My Predictions For Pythian

Read the rest of this entry . . .

sar-sql: The Script Formerly Known as MySAR

As pointed out by Schlomi Noach on my last blog, MySAR was already taken by a project related to Squid reports with MySQL. I decided then to look for a new name, and as I posted initially, I want to keep the sar prefix to describe the script’s purpose by association with the OS utility of the same name. I brainstormed many names. I liked Dave Edwards’s suggestion: SARkila, but it sounds too close to tequila, so I settled with Sheeri Cabral’s suggestion: sar-sql.

The title of the Launchpad page already reflects the change. What remains to be done is: a) change the name of the Perl script and documentation; and b) change the Launchpad URL. It is likely that I will change the name of the script when I release version 1.x (see below). I’m not sure of all the implications in Bazaar regarding the URL change, so that task will have to wait for now.

Now a little more info on the status of the project. Read the rest of this entry . . .

Log Buffer #166: a Carnival of the Vanities for DBAs

This week the Log Buffer is a little more challenging for two reasons: a) Oracle Open World 2009 and b) the controversy around Monty Widenius‘ opposition to Oracle owning MySQL due to the Sun acquisition, so let’s go straight to the articles.

Oracle – Oracle Open World 2009

There is so much material about OOW09, that I’m giving a full subtitle to it.

Let’s start with a quick recap of the keynotes by Scott McNealy and Larry Elison in this article by Andrew Clarke: The return of The Scott And Larry Show. The recap suggests that the presentations aimed to show how Sun & Oracle (aka Team Red) would challenge IBM (aka Big Blue) head-on. Larry didn’t fail to mention Oracle’s intention to invest in MySQL.

Of course the conference wasn’t short on technical issues, and these articles prove it. Jason Arneil talks about 11 Things about 11gR2. Chen Shapira discusses one of the lessons she learned, and shares with us some Shell Script Tips.

Read the rest of this entry . . .

MySAR, a Sidekick for Other Monitoring Tools

I’m sure that most people have at least one of the tools listed in Ronald Bradford’s article: Monitoring MySQL Options. Many of these tools, such as Nagios and Cacti, also monitor the operating system. However, in the same way that a quick look at sar’s output can give you some insight on the OS, with MySAR you can do the same for the MySQL server. This is especially useful when  it is not possible to access a monitoring tool’s graphic interfaces.

What Was Going On Around 2:30pm?

This is a question a customer asked us. To answer it we ran MySAR for a few days and queried the results for analysis. Looking at the data, we determined that the number of INSERT operations was significantly higher than any other, so we queried for the Com_insert status values. Com_insert is a counter that accumulates the number of INSERTs issued since the last server start (or since the last FLUSH STATUS command). For details on the variables available check Chapter 1. mysqld Options/Variables Reference.

The initial query we used was: Read the rest of this entry . . .

MySAR: A sar-like Utility for MySQL

Why a New Utility?

A couple of months back, Tim Procter, Sheeri Cabral and I were discussing about how best to diagnose a MySQL server and/or tune its performance, automating the process as much as possible. The Performance Advisors from MySQL Enterprise do this, but most of our customers don’t have a subscription and Pythian’s collective experience is not necessary reflected by its rules.

In our daily work, we have used Major Heyden’s MySQL Tuner, Mark Leith’s Statpack and our own tools to review a MySQL server configuration parameters. However, all of these tools had limitations in regards of what we wanted to achieve. Our major concern was the need to keep historical data to draw conclusions based on trends and cross check with other time based tools. The conclusion of our conversations was that whatever scripts we would implement, it would need to monitor all configuration and status variables, and their evolution over time.

One day, while looking into slave lag problem, the idea of MySAR popped into my head and a few hours later I was using its first incarnation. I was able to relate the server’s I/O activity peaks with these lags and in turn, discovered that it was caused by a great number of INSERT statements coming in in waves. It was an encouraging outcome for what was nothing more than a proof of concept.

Read the rest of this entry . . .

Log Buffer #161: a Carnival of the Vanities for DBAs

Welcome to the 161st edition of Log Buffer, the weekly review of database blogs … and the first one under my penmanship.

MySQL

Johan Andersson explains in a very simple way the scenarios in which you may fall into a split brain situation and how to avoid it in MySQL Cluster on two hosts – options and implications. An article worth reading from one of the MySQL Cluster experts.

I love simple scripts that solve complex problems. I love it even more when the command line can be defined in an alias, and SQL from SQL offers some powerful examples. Ronald Bradford contributes another example in MySQL DML stats per table. It would be fun if someone would collect these and post them somewhere as a script to add at the end of our .profile or .bashrc files.

Sarah Sproehnle wrote two interesting articles this week. The first one explaining in simple terms when and how to use MySQL’s Query Cache in MySQL’s query cache and the other one about how to overcome one of MySQL’s partitioning limitations in Partitioning by dates: the quick how-to

The MySQL@Facebook blog always offers very deep technical articles and these 2 on InnoDB I/O are no exception: Read the rest of this entry . . .

Using the Sphinx Search Engine with MySQL

MySQL Full Text Search Limitations

Suppose you have a MyISAM table containing a column with a full text index. This table starts to grow to a significant size (millions of rows) and gets updated fairly frequently. Chances are that you’ll start to see some bottlenecks when accessing this table, since without row level locking, the reading and writing operations will be blocking each other.

A solution that many people would suggest right away is to use the master for writes and a slave for reads, but this only masks the problem, and it won’t take long before enough read traffic on the slave starts causing slave lags.

Why Sphinx?

Read the rest of this entry . . .

Bug When Compiling MySQL 5.1 From Source

I just filed a very annoying bug when trying to compile with plugin engines using the 5.1.xx source tarball.

Description

I am trying to test SphinxSE as a plugin instead of getting it statically linked and came across an annoying bug. When using the configure --with-plugins option only once, the engine is statically linked. When using it twice, the first engine is created as a plugin, and the 2nd one is linked statically. Here are a couple of examples:
Read the rest of this entry . . .

My Two Cents on MySQL Password Security

Lenz Grimmer recently wrote two blogs about password security on MySQL. Both are worth reading in detail. You’ll find them in Basic MySQL Security: Providing passwords on the command line and More on MySQL password security.

Although I wrote a comment on the latter one, there is one point I thought was worth its own blog. Read the rest of this entry . . .

Oracle Buys Sun: What About MySQL?

If you review the recent years of Oracle’s history, you’ll see that its purchase of Sun makes perfect sense. Oracle has tried to get in the OS business (Oracle Ubreakable Linux), the hardware business with their different partnerships (e.g.: Hewlett Packard Partner Relationship), and even into the MySQL business back when they bought InnoBase (Oracle and Innobase).

MySQL was in many ways a leader for the Open Source industry, both in the way the way it marketed OSS and in the way MySQL the company was built. It’s the latter aspect that worries me. MySQL was a world pioneer in having a global workforce and this shaped both its culture and products.

When I joined MySQL in 2001, 90% of the company was distributed outside their native Swedish offices. (When Sun bought it, it was down to 80% outside the Cupertino headquarters, which I’m sure is still more than any large or middle-size corporation can claim.) This meant that they hired the best talent they could find wherever they found it, and that they could follow the talent wherever it went. During my years at MySQL, many people moved around from country to country without affecting their jobs. This diversity and flexibility shaped everything the company did, and indeed, the different backgrounds of those involved greatly influenced the characteristics of MySQL AB’s products and services themselves.

Sun was already deep into distributing its workforce when they acquired MySQL, so of all the big corporations, it was probably the one that best fit MySQL’s culture. Oracle, however, is a very different story, and I’m not sure how the distributed workforce that the Sun and MySQL employees are used to, will fit into the new organization. This change will affect MySQL’s future—I’m not sure how, but it will be very different from the MySQL we know.

(On a side note, although I don’t think Oracle is buying Sun because of MySQL, it looks like the Twitter community thinks so: both #oracle and #mysql are on the top 10 topics right now. Check both Twitter feeds, if nothing else, they’re fun.)

Start NowWith Pythian - database design, management and emergency handling capabilities...

Live Updates

pythian: RT @bassplayerdoc: Rocked my TechDays Canada 2009 sessions in
more



Testimonials

  • Serge Racine

    DBA, Brookfield Energy

    We are very satisfied by the service given to us by Andre and Shakir in support of our recent data quality and reorganization initiative.... more