Showing entries 40601 to 40610 of 44029
« 10 Newer Entries | 10 Older Entries »
Importing A Variable Number Of Fields

One of our clients is working on a cool astrophysics project and wants to import large quantities of observations. Fortunately, the data is in a simple percent delimited format:

SEE%5%8
XYZ%6%8
ZZZ%7

The fields represent the time, the instrument, the type of observation (solar flare, brightness measurement), the co-ordinates and the result. There are two types of problem with this format. Firstly, data is not normalized - its just a flatfile. Secondly, many of the fields have a context which depends on other fields. Formats with these properties are quite common in the wild but how to handle them?

The following proof of concept code allows percent delimited data to be read directly by MySQL Server and splits one type of data to a separate table. This is achieved with a case statement in a MySQL Server 5.0 stored procedure, called from a trigger:

DELIMITER //

CREATE TABLE observation (
  id INT PRIMARY KEY …
[Read more]
Summarizing Numerous Rows

It is often the case that web applications display a paginated resultset. The most familiar example is search engine results. However, the usefulness of the results is in providing both detail and distinctness. SELECT DISTINCT isn't sufficient in this case because collapsed rows cannot be distinguished. Furthermore, it would be advantageous to have a summarizing threshold.

For this reason, I've created an example query which summarizes strictly more than 30 rows. This query uses the world database to display continents and countries. The query summarizes continents with more than 30 countries. A flag is provided so that an application can identify and display the summarized rows differently:

(SELECT continent, NULL AS country, 1 AS more FROM country GROUP BY continent HAVING COUNT(continent)>30) UNION (SELECT c0.continent, c0.name, 0 AS more FROM country AS c0, (SELECT continent FROM country GROUP BY continent HAVING …

[Read more]
Hyperic Raises Venture Funding

Hyperic Inc has raised $3.8 million in a Series A funding through Benchmark Capital.  Benchmark has previously funded open source companies including Red Hat and MySQL. 

Hyperic provides an open source monitoring solution for the LAMP stack (Linux / Apache / MySQL / PHP) known as Hyperic HQ. Hyperic was founded as a spinoff from Covalent software in 2004 led by Javier Soltero. 

[Read more]
How reliable RAID really is

This post is not exactly about MySQL Performance or about Performance at all, but I guess it should be interested to many MySQL DBAs and other people involved running MySQL In production.

Recently I've been involved in troubleshooting Dell Poweredge 2850 system running RAID5 using 6GB internal hard drives, which give about 1.4TB of usable space.

The problem started than one of hard drive was set to "Predicted Failure" state by "Patrol Read" which is automatically done by PERC4 (LSI Logic megaraid) controller. Dell was prompt to ship replacement hard drive and drive was replaced. This should be happy end of the story but in reality troubles only began.

After hard drive is replaced RAID has to be rebuilt but the problem in this case was.... rebuild failed bringing all logical drive down because yet another hard drive got bad block. Replaced hard drive was "failed" because it could not be rebuilt and other one because of read …

[Read more]
Insight for the day: less is more, also for slides

Did you realise that... having fewer slides for a presentation actually is more difficult than having lots of slides?

Difficult in the sense of more work also... and I notice that most speakers are lazy; hence you get to see slideshows where people read from their own slides slower than you do. So I always wonder what such speakers are actually doing there... if I get those slides anyway, they're not adding anything, are they? Perhaps someone could record it and make a podcast, but no need for the audience, really.

I have a few talks that are less than 10 slides, including first and last pages. I always use the first page to introduce the topic, my name and such, and possibly the event - and no, I don't even need to look back at my own slide when I say "hi, I'm Arjen..." ;-) The last page wraps things up asking for questions and such, possibly some more contact info and resource links.

Such a small deck …

[Read more]
SWPATs: No Lobbyists As Such ? 377 pages for free!

Followers of MySQL AB know that we strongly oppose software patents. We have concluded that software patents are harmful to the software industry at large. This is why we support those who work for an abolishment of software patents. We also work with other companies and groups to build a joint defense against software patents.

MySQL AB as a company, and I myself as VP Community, were heavily involved in Florian Müller’s NoSoftwarePatents.com campaign 2004-05 in Europe. We were involved both as sponsors and advisors.

The story of this David against Goliath campaign is now available for all as a book. Florian Müller’s memoir-style book

has been released under the Creative Commons license this month.

On 377 pages, Mueller tells the story of the …

[Read more]
Certification By the Numbers

So,

http://www.mysql.com/training/certification/candidates.php?exam=core

has 233 names for the core exam, which has been out for a few years now. I passed it in 2004, and sure enough, my name is one of the 75 in the US. Are there really so few people out there, or are they just not taking/passing the exam?

I did notice at the MySQL Users Conference that only 1/4 to 1/3 of the exams earned a passing grade, and given that you have to pass 2 exams to receive certification, the chances of passing are not in your favor. Granted, studying helps (as does experience), which is how I passed the Core exam in 2004 and then both 5.0 DBA exams in April (2006).

Like much of the rest of life, it’s not difficult, you just have to work at it a bit. Read the certification guide, and study, and use MySQL, and you’ll pass.

I’m quite amazed at the low amount of people who are actually certified. I guess it’s better …

[Read more]
OSBC Europe in London

GPLv3 was the theme of the presentation in OSBC Europe in London this Tuesday, where I was on a panel together with Dietmar Tallroth of Nokia and Eben Moglen of the FSF.

I stressed four key topics:

  1. Ubiquity: We need a GPLv3 that not only achieves the same level of ubiquity as GPLv2, but goes beyond it.
  2. Software Patents: We need a GPLv3 that goes as far as possible protecting the industry from the adverse effects of legislations that allow software patents, without sacrificing the goal of ubiquity.
  3. Dual licensing: We need a GPLv3 that supports the proliferation of companies licensing their products both under GPL and under commercial licenses, as this further expands the universe of GPL software and encourages the …
[Read more]
Pay attention on replication with binlog-ignore-db option

If you are using replication and you have defined binlog-ignore-db options on your master configuration, pay attention to the fact that "if you have an application that issues qualified notation queries without a default database defined (e.g. USE mydb), that queries will never replicate".

According to the explanation on the manual at "5.12.3. The Binary Log" in the case you have options like binlog-ignore-db a query is written on the binlog only if you have specified the default database before. If not, sorry, your query don't replicate on the slaves :-(

I faced the problem when one of my applications didn't replicate updates. I thought that was a bug and here you can see my bug-report, but I discovered soon that it wasn't. It's not a bug, it's a …

[Read more]
Indentation styles

Echunga

If there's one thing that inflames the passion of programmers, it's indentation style. I've been working out my own for some years, since before the advent of the C programming language, so it's not surprising that it's at variance with other indentation styles.

I started programming in Algol 60; an early program of mine, written in 1971, included this function (sorry, procedure) declaration:

     'PROCEDURE' CHECK M AND NU (A);
     'VALUE' A; 'REAL' A;
     'BEGIN' 'REAL' B;
     B:=K(A); NU:=H(A)*DELTA X/B;
     'COMMENT' IF THE PARAMETER NU HAS CHANGED IN SUCH A WAY THAT       00018820
     M < 2*NU+2, THEN THE SOLUTION IS NO LONGER STABLE: MAKE M          00018830
     EQUAL ARBITRARILY TO 4 OR 2*NU+3, WHICHEVER IS THE GREATER, AND    00018850
     RECALCULATE DELTA T;                                               00018870
     'IF' M < 2*NU+2 ! M<2 'THEN'
          'BEGIN'
          M:='IF' NU> .5 …
[Read more]
Showing entries 40601 to 40610 of 44029
« 10 Newer Entries | 10 Older Entries »