Showing entries 37321 to 37330 of 44145
« 10 Newer Entries | 10 Older Entries »
Star schema optimizations

We are all in the gutter, but some of us are looking at the stars --Oscar Wilde

Dimensional modeling, explained by Ralph Kimball, provides industry specific techniques to ensure that:

  1. The number of rows in the dimension tables is small. The row size can be large, row size is the sum of bytes stored for all the attributes in a row;
  2. The row size of the fact table is small. The number of rows can be large, use range partitioning for fact tables with very large row counts.

The star schema thus created …

[Read more]
Microsoft was once right on patents (but now terribly wrong)

Timothy Lee writes a compelling argument against software patents in the New York Times today. It's the very same argument that Bill Gates advanced back in 1991 against software patents, but now has done a complete about-face. As Lee writes:[I]n recent years, [Microsoft] has argued that patents are essential to technological breakthroughs in software. Microsoft sang a very different tune in 1991. In a memo to his senior executives, Bill Gates wrote, ?If people had understood how patents would be granted when most of today?s ideas were invented, and had taken out patents, the industry would be at a complete... READ MORE

Provide feedback on MySQL backup console

We are working on Zmanda Management Console for our MySQL backup product line: Zmanda Recovery Manager (ZRM) for MySQL. ZRM for MySQL is an enterprise backup and recovery solution for MySQL.


We are looking for MySQL administrators in San Francisco bay area who would be interested in providing functionality and usability feedback for the user interface. We are particularly interested in MySQL administrators responsible for implementing backup solution for their MySQL databases. Please send an email to me (paddy-at-zmanda-dot-com) with your availability and why you would meet our requirement. We will pay a small stipend for your time.

Use String.Compare -- sometimes

I recently came across this blog post on using String.Compare instead of the tried and true method of converting one string to lowercase and comparing to a known lower case value.  It's important to remember that strings in .NET (as in Java) are immutable so the act of lower casing a string will always make a new string.  The memory subsystem for .NET is turned for  handling lots of small objects but the fewer objects you create, the fewer that have to be checked and managed by the garbage collection system.

Still I wondered what the time difference would be between the two approaches.  So I setup a very simple test where I compared the string "FooBar" to a string variable that contained the value "foobar" one million times.  The first test used the approach of …

[Read more]
EXPLAIN: "Using join cache" renamed to "Using join buffer"

As soon as I've finished writing this post about "Using join cache", it was apparent that "Using join cache" is poor wording. First, the corresponding server variable is called @@join_buffer_size, not join cache size, and second, there is really no cache involved.

We've had a discussion about how this should be called. Some sources use term Block nested-loops join but we've settled on "Using join buffer". Another change is that we've decided to move the note one line down to the table that "does the buffering". As a result, what was this

mysql> explain select * from t1, t2 where t1.col < 10 and t2.col < 'bar';
+----+-------------+-------+-------+-...-+-------------------------------+
| id | select_type | table | type  |     | Extra                         | …
[Read more]
MySQL Toolkit released as one package

It’s finally here: a single-file download for all the tools in MySQL Toolkit. During this process I also upgraded every package in the toolkit to a new release, combining new versioning and some simple non-functional changes with (mostly minor) changes I’d committed but not yet released. Details are at the end of this post. I ended up not using a Makefile for the build process, because I wanted to it to be more auto-magical than I know how to do with a Makefile.

No, I didn't release MySQL Archiver, Baron did

On my earlier post, I got a comment that PlanetMySQL outage was related to a data center issue. However, something I am seeing tells me a different story.

Baron (Xaprb) released MySQL Archiver. However, today's PlanetMySQL outage seems to have caused an interesting effect: it seems to have gotten confused about the relationship between posts.

So here's what is happening:


The post was written by Baron. My name is linking to my blog (http://mysqldatabaseadministration.blogspot.com/). The post's title "MySQL Archiver 0.9.2 released" is linking to a post I made today (http://mysqldatabaseadministration.blogspot.com/2007/06/planetmysql-down.html).

Of course, the post should be linking to (http://www.xaprb.com/blog/2007/06/09/mysql-archiver-092-released/) and my …

[Read more]
Use String.Compare -- sometimes

I recently came across this blog post on using String.Compare instead of the tried and true method of converting one string to lowercase and comparing to a known lower case value.  It's important to remember that strings in .NET (as in Java) are immutable so the act of lower casing a string will always make a new string.  The memory subsystem for .NET is turned for  handling lots of small objects but the fewer objects you create, the fewer that have to be checked and managed by the garbage collection system.

Still I wondered what the time difference would be between the two approaches.  So I setup a very simple test where I compared the string "FooBar" to a string variable that contained the value "foobar" one million times.  The first test used the approach of …

[Read more]
MySQL Archiver 0.9.2 released

This release fixes some minor bugs and adds a plugin mechanism. Now you can extend MySQL Archiver with your own code easily. You could use this to run setup and tear-down, hook code into the archiving process, and more. Possibilities include building summary tables in a data warehouse during archiving, handling dependencies such as foreign keys before archiving each row, or applying advanced logic to determine which rows to archive.

Why I missed PHP Vikinger ..

.. and more annoyingly, why I spend the night in Amsterdam, even though the Dutch PHP conference is not until next weekend. So there were apparently some pretty bad thunderstorms over France, Belgium and the Netherlands. As a result the plane that should take me to Amsterdam on the way to Sandjeford arrived about an hour late. Back in the day, when airlines still afforded themselves some ground time, this would not have been that big a deal, as I had no checked luggage and so ideally I could have switched planes in time as I had 1 hour stopover time in Amsterdam. Well these days it means that if the incoming plane comes one hour late, you will likely also be one hour late. Usually they can try to make up a few minutes by burning some more fuel. In this case the thunderstorms actually forced us to fly a non standard route, which took even longer.

Now when they broke the news in Zurich …

[Read more]
Showing entries 37321 to 37330 of 44145
« 10 Newer Entries | 10 Older Entries »