Showing entries 43616 to 43625 of 44916
« 10 Newer Entries | 10 Older Entries »
disk space allocation (part 4: allocating an extent)

For XFS, in normal operation, an extent is only allocated when data has to be written to disk. This is called delayed allocation. If we are extending a file by 50MB - that space is deducted from the total free space on the filesystem, but no decision on where to place that data is made until we start writing it out - due to memory pressure or the kernel automatically starts writing the dirty pages out (the sync once every 5 seconds on linux).

When an extent needs to be allocated, XFS looks it up in one of two b+trees it has of free space. There is one sorted by starting block number (so you can search for “an extent near here”) and one by size (so you can search for “an extent of x size”).

The ideal situation being that you want as large an extent as possible as close to the tail end of the file as possible (i.e. just making the current extent bigger).

The worst-case scenario is having to allocate extents to …

[Read more]
disk space allocation (part 3: storing extents on disk)

Here I’m going to talk about how file systems store what part of the disk a part of the file occupies. If your database files are very fragmented, performance will suffer. How much depends on a number of things however.

XFS can store some extents directly in the inode (see xfs_dinode.h). If I’m reading things correctly, this can be 2 extents per fork (data fork and attribute fork). If more than this number of extents are needed, a btree is used instead.

HFS/HFS+ can store up to 8 extents directly in the catalog file entry (see Apple TechNote 1150 - which was updated in March 2004 with information on the journal format). If the file has more than 8 extents, a lookup then needs to be done into the extents overflow file. Interestingly enough, in MacOS X 10.4 and above (i think it was 10.4… may have been 10.3 as well) if a file is …

[Read more]
Grand Prize winners of the MySQL 5 Contest - and extras

With apologies for the delay (I got sick), and some deliberation, we are now ready to announce the Grand Prize winners of the MySQL 5 Contest. According to the rules, to be eligible to win the grand prize, community members not only had to submit bug reports about MySQL 5, but also maintain a blog and aggregate it to Planet MySQL.
A few people write entire essays about little projects, tips, best practises, and code snippets on their blog, and the winners fall into that category: they really make Planet MySQL into a medium that people want to read every day!

What do the lucky winners get? One fabulously tiny iPod nano, a pass to the MySQL Users Conference 2006, plus dinner with the MySQL DevTeam at the MySQL Users Conference 2006.

[Read more]
Grand Prize winners of the MySQL 5 Contest - and extras

With apologies for the delay (I got sick), and some deliberation, we are now ready to announce the Grand Prize winners of the MySQL 5 Contest. According to the rules, to be eligible to win the grand prize, community members not only had to submit bug reports about MySQL 5, but also maintain a blog and aggregate it to Planet MySQL.
A few people write entire essays about little projects, tips, best practises, and code snippets on their blog, and the winners fall into that category: they really make Planet MySQL into a medium that people want to read every day!

What do the lucky winners get? One fabulously tiny iPod nano, a pass to the MySQL Users Conference 2006, plus dinner with the MySQL DevTeam at the MySQL Users Conference 2006.

[Read more]
MySQL 5 general purpose routine library - I : general concepts

A few days ago I started a forum thread that got quite a good acceptance.

There are rumours from the MySQL community that some sort of routine repository is going to be organized sooner or later, and after I heard them I almost dismissed my initial idea.
However, some people convinced me that starting such an initiative could always be beneficial for the community, and after all, if the official repository shows up, it would be easy to merge into it.

Therefore, here it goes. This is the first article of a series that will explain what I have made in the field of general purpose routines.

The project is available at …

[Read more]
High Performance MySQL

I recently picked up two O'Reilly books for $20 each: "High Performance MySQL" and "SQL Tuning". I am almost done with "High Performance MySQL". Overall I would say it’s a good book. Not suprising from the original publication date it is focused on MySQL 4.1 and therefore does not cover a lot of the advances made with MySQL 5. Especially replication comes to mind, but also little things like index usage for MIN() and MAX(). It does however contain a few notes here and there about changes/enhancements to expect with MySQL 5.

There are a few things I hope will be improved in the 2nd edition.

  • The books reads well, almost like a normal discussion. The authors give anecdotes to explain challenges and then show solutions. However sometimes I would have wished for fewer anecdotes and more examples. Like in the chapter 5 where EXPLAIN is covered. I would have wished for way more sample outputs and maybe a short note about what the …
[Read more]
XAMPP for Linux: First BETA with up-to-date MySQL and PHP

New versions of MySQL and PHP motivated us again to build new versions of XAMPP. First of all we now could announce the release of an up-to-date BETA of the Linux version of XAMPP.

New in this BETA: MySQL (5.0.16), DIO support for PHP5, phpMyAdmin (2.6.4-pl4) and PHP (5.1.0). Warning: eAccelerator currently doesn't support PHP 5.1.

Follow me to the XAMPP BETA area

Update November 28th 2005:
The BETA now contains PHP 5.1.1
Update December 2nd 2005:
The BETA now contains also Apache 2.2.0

XAMPP for Linux: First BETA with up-to-date MySQL and PHP

New versions of MySQL and PHP motivated us again to build new versions of XAMPP. First of all we now could announce the release of an up-to-date BETA of the Linux version of XAMPP.

New in this BETA: MySQL (5.0.16), DIO support for PHP5, phpMyAdmin (2.6.4-pl4) and PHP (5.1.0). Warning: eAccelerator currently doesn't support PHP 5.1.

Follow me to the XAMPP BETA area

Update November 28th 2005:
The BETA now contains PHP 5.1.1
Update December 2nd 2005:
The BETA now contains also Apache 2.2.0

Speaking at the PHP Quebec Conference

Hurray! My sessions for the 2006 edition of the PHP Quebec Conference have been accepted.

I will be presenting on an old favourite (Free/Open software licensing) and a new favourite (SQLite). The sessions are titled Copyright, Contracts and Licenses for PHP Developers and SQLite: A fast, transactional DBMS embedded in PHP 5

Amusingly, the organizers found a picture of me from 2001 - a point in time where I had hair long enough to pull back into a ponytail. Ah, the good old days. ;)

XAMPP for Linux First BETA with up-to-date MySQL and PHP

New versions of MySQL and PHP motivated us again to build new versions of XAMPP. First of all we now could announce the release of an up-to-date BETA of the Linux version of XAMPP.

New in this BETA: MySQL (5.0.16), DIO support for PHP5, phpMyAdmin (2.6.4-pl4) and PHP (5.1.0). Warning: eAccelerator currently doesn't support PHP 5.1.

Follow me to the XAMPP BETA area

[b:3mphntqn]Update November 28th 2005:[/b:3mphntqn] The BETA now contains PHP 5.1.1 [b:3mphntqn]Update December 2nd 2005:[/b:3mphntqn] The BETA now contains also Apache 2.2.0

Showing entries 43616 to 43625 of 44916
« 10 Newer Entries | 10 Older Entries »