Showing entries 26641 to 26650 of 44922
« 10 Newer Entries | 10 Older Entries »
Track your running miles using Apache Wicket, GlassFish, NetBeans, MySQL, and YUI Charts

Track your running miles using Apache Wicket, GlassFish, NetBeans, MySQL, and YUI Charts

An earlier blog introduced an application that provides basic tracking of your running distance and generate charts to monitor progress. The idea is to build the same application using different Web frameworks and deploy on GlassFish and then evaluate each framework based upon a pre-defined critieria. The first version was built using JRuby and Ruby-on-Rails. This blog announces the completion of the Apache …

[Read more]
On mysql's myisam_block_size setting

There is a little-known setting, myisam_block_size in MySQL. This affects the block size used in the indexes of MyISAM tables stored in .MYI files on disc and in the key buffer.

The default value is 1k, this is possibly too small for best performance on modern systems; in particular, many filesystems used a bigger block size, so writing a single index block requires a read followed by a write. Random reads are really slow on hard discs (writes are mostly fast as they go into your battery-backed raid controller which has lots of RAM).

I am currently in the process of experimenting with myisam_block_size, and so far have determined the following:

  • myisam_block_size is settable only at server start time, either in my.cnf or on the command-line
  • myisam_block_size only affects newly created tables or tables rebuilt using ALTER TABLE; existing MyISAM tables keep their old index block size and …
[Read more]
“MySQL server has gone away” Part 2: session timeout.

This is the second and last article of a small series on reasons for the error message: “MySQL server has gone away”. The first appeared here describing that “if a client sends a SQL-statement longer than the server max_allowed_packet setting, the server will simply disconnect the client.”

This article will deal with another common reason: the connection has timed out. This is in principle not difficult to understand. But there is a common misunderstanding and lots of confusions about the two server variables wait_timeout and interactive_timeout and how they work.

MySQL 5.0 documentation has the two passages:

1) …

[Read more]
Build fixes for Snow Leopard

Eric Lambert found some build issues with the new release of OSX today. They're real pleasing. The first is that for some reason test programs testing for fdatasync() compile and run with no problem, but when trying to then use it in the main program, it doesn't work. (because it doesn't exist) So we had to add a special test program check (ugh - thanks Apple) And then they "upgraded" readline. Except they only half-upgraded, so it has half of the newer readline interface but not the other half. The fix to this is simple.

Download and install a real copy of readline instead of the half-baked pile-of-shit copy of editline wrappers that Apple ships. Works like a charm.

You know, it's fine if you want a (wanna-be) BSD system (which is actually non-free) and all. Whatever. But if you aren't going to ship readline, then don't ship readline. OR, …

[Read more]
Cloud Computing Ideal for Shared-Disk Databases

Cloud computing is disrupting many aspects of computing. One need only witness the manner in which online applications like Google Docs and Salesforce.com are disrupting entrenched competitors. Soon, cloud computing will significantly disrupt the database market, for the reasons explained below.

One of the most powerful arguments in technology is the price/performance ratio. Significant declines in price or significant increases in performance can result in disruption. When you get both price declines and performance increases, you get significant disruption. This is exactly what is coming to the database market.

The Past
Moore’s Law enabled the CPU to process data faster than the hard disk drive could get the data to the CPU. Because getting data to the CPU was the bottleneck, the database that solved that bottleneck would have a performance advantage.

The shared-disk database had two glaring …

[Read more]
A script snippet to relative-ize numbers embedded in text

A lot of times I’m looking at several time-series samples of numbers embedded in free-form text, and I want to know how the numbers change over time. For example, two samples of SHOW INNODB STATUS piped through grep wait might contain the following:

Mutex spin waits 0, rounds 143359179688, OS waits 634106844
RW-shared spins 1224152309, OS waits 38278807; RW-excl spins 2432166425, OS waits 35264871
Mutex spin waits 0, rounds 143386303439, OS waits 634292093
RW-shared spins 1224197048, OS waits 38281423; RW-excl spins 2432347936, OS waits 35271423

How much have the numbers changed in the second sample? My head is too lazy to do that math. So Daniel Nichter and I whipped up Yet Another Snippet to self-discover patterns of text and numbers, and compare each line against the previous line that matches the same pattern. Let’s fetch it:

wget  …
[Read more]
Work continues

Believe it or not, I have not abandoned Hack MySQL. I’ve just been totally consumed with Maatkit or life. Slowly and surely, I’m re-structuring Hack MySQL. I have “plans”; it’s just a matter of finding time to see them through to fruition. Until then, the site is in disarray for a little while longer.

Cloud Computing Ideal for Shared-Disk Databases

Cloud computing is disrupting many aspects of computing. One need only witness the manner in which online applications like Google Docs and Salesforce.com are disrupting entrenched competitors. Soon, cloud computing will significantly disrupt the database market, for the reasons explained below.

One of the most powerful arguments in technology is the price/performance ratio. Significant declines in price or significant increases in performance can result in disruption. When you get both price declines and performance increases, you get significant disruption. This is exactly what is coming to the database market.

The Past
Moore’s Law enabled the CPU to process data faster than the hard disk drive could get the data to the CPU. Because getting data to the CPU was the bottleneck, the database that solved that bottleneck would have a performance advantage.

The shared-disk database had two glaring …

[Read more]
innodb_locks_unsafe_for_binlog is your friend

To make statements on a slave produce the same output as on the master, InnoDB gets read locks on tables queried while evaluating an INSERT, UPDATE, DELETE or REPLACE statement. While InnoDB supports MVCC, readers can block writers in this case. When the reader is a long-running query on a slave and the writer is the replication SQL thread then this is a problem as the replication SQL thread can get lock wait timeouts and get far behind on replication.

This can be a frequent error when there are long running queries of the form:

    INSERT INTO scratch.foo SELECT * from db0.replicated_table

The session doing the INSERT statement gets read locks on rows read from db0.replicated_table and the read locks will block the replication thread from updating those rows.

I filed bug 37232 to get InnoDB changed to not get read locks when the binlog …

[Read more]
The Future of Database Clustering

Baron Schwartz started a good discussion about MMM use cases that quickly veered into an argument about clustering in general. As Florian Haas put it on his blog, this is not just an issue of DRBD vs. MySQL Replication. Is a database cluster something you cobble together through bits and pieces like MMM? Or is it something integrated that we can really call a cluster? This is the core question that will determine the future of clustering for open source databases.

I have a strong personal interest in this question, because Tungsten clustering, which I designed, is betting …

[Read more]
Showing entries 26641 to 26650 of 44922
« 10 Newer Entries | 10 Older Entries »