Showing entries 36673 to 36682 of 45392
« 10 Newer Entries | 10 Older Entries »
Standard Edition Beta Testing Program

It has only been two days since I have announced the official Beta of Workbench and (after taking today off to do some snowboarding) I am amazed by the number of people who have already signed up for the Standard Edition Beta Testing Program.

But the more the better of course, so everybody who is interested in testing the SE and has not sent an email to workbench@mysql.com please do so. There are no conditions, and we will reward the best bug reporters.

One question was asked by several people and that is, how often are we going to release new Beta builds? We are trying to release a build of OSS Edition and SE every 2nd week and always have the most critical bugs reported fixed.

Generating graphs from vmstat output

vmstat is a very useful tool, especially when you are doing performance tuning of an application like MySQL. The only problem with the output from vmstat is that it is rather non-visual. A simple solution is to import the output in a spreadsheet like Openoffice Calc and create a graph, but it is long and painful. Creating many such graphs is not fun at all.

Fortunately, in the Linux world, there are tools to generate graph nearly automatically. Here is my own set of tools to creates graphs from vmstat output. You need the gnuplot program and awk, which is on all Linux version.

The output of vmstat looks like this:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0    164  48604  45136 4871464    0    0    94   111    4    7  1  0 98  0  0
0  2    164  48476  45188 4871552    0    0    35    15 1062  133  1  0 99  0 …
[Read more]
Closing open source loopholes

Say what you want about GPLv3, but the update to the most popular open source software license continues to close loopholes that have been used to avoid sharing source code, patent protection and other freedoms that the authors intended. Still, we have yet to see whether this closes off any appeal of the GPL and even open source in general for vendors, developers and users.

This week brought the final release of the Affero GPLv3 (AGPLv3). Although the GPLv3 did not manage to cover software-as-a-service, also known as the ‘ASP loophole,’ the matter is addressed through GPLv3’s compatibility with AGPL. In its most recent release, the AGPLv3 goes beyond allowing for source code availability the same way software is delivered, whether via SaaS or other network or Web services model. It now requires …

[Read more]
How to find out the machine ID on various UNIXes

It recently came up that it would be helpful if we had a cheat sheet to find out the machine names for any given UNIX. I knew these off the top of my head but it would be great if people added more as comments.

HP/HP-UX: /bin/uname -i
IBM/AIX: /bin/uname -m
SGI/IRIX: /sbin/sysinfo -s
Sun/Solaris: /usr/ucb/hostid

ORDER BY clause with multicolumn index

When dealing with multicolumn indexes the order of the columns in the index definition is very important. Fpr example if you have such an index

INDEX (a,b,c)

and you issue a query such

... WHERE b>1000;

MySQL will not be able to use the index. In case ol multicolumn indexes MySQL will always use the left-most part of the index. So, the index will be used for example if the query would be:

... WHERE a>100 AND b>1000;

So, MySQL will use the index only for search conditions that involve the follwing columns:

  • a ,b ,c
  • a, b
  • a

The mulitcolumn indexes are also useful in solving ORDER BY and GROUP BY operations.
Let’s see the folliwing example.
Here is my customer table (for sake of simplicity it’s just a subset of my real table).

corra@localhost> show create table customer\G …
[Read more]
Migrations: The answer in my head

Avid readers of my blog know that I have been pondering how to best approach schema evolution. I ported the schema management from Metabase to PEAR::MDB2_Schema. I even gave a talk that admittedly only did a good job of defining the problem and solutions that all suffered from severe limitations. Now for the first time I am starting to feel somewhat good about an approach to migrations. I wrote a post to the Doctrine developers mailinglist detailing the key pieces that I want to add to Doctrine's migrations. The idea is to use the migrations approach made popular by …

[Read more]
Table Joins vs. php Loops

Table joins are fun and useful, but did you know that there are circumstances that a php loop will beat out table joins?For those of you who already know this, feel free to return to www.PlanetMySql.com. But for the rest of us, read on...The Setup (fictional, but mimics my production environment)I have two tables, employees and termination_info. Employees has 150,000 records and

Generating graphs from vmstat output

A

Dealing with uploads in a cluster

We have taken over an application which had "pretend" failover. Essentially it had two servers with automatic failover between the two. However they both relied on another server for providing the data storage via NFS all the way down to the MySQL server. Interesting how one can manage to provide no real failover with 3 servers. Obviously we want to fix this and actually a number of servers have already been bought. So now we have moved the MySQL server with a cold standby on separate machines. We also have 3 frontend servers which we want to load balance. We will probably use memcache to manage the sessions, as we are not so worried about a lost session when a crash occurs. But now comes the problem: There are a lot of places where administrators and end users can upload files, which end up in the file system. Now how do we replicate those files across all the nodes?

The temporary approach we will be taking will be using NFS with rsync. One …

[Read more]
From development to production and back in a blink

If you do serious web development, you sure have multiple working environments. This is true for ruby on rails, but I’ll guess you’ll do the same using other frameworks or languages. I’ve found a quite useful Firefox extension to switch from development to production (and back) with just a click (or a keystroke: Ctrl-Shift-X): Server Switcher

This is helping me redesigning the MySQL training part of our website, and can be useful in some other situations.

Showing entries 36673 to 36682 of 45392
« 10 Newer Entries | 10 Older Entries »