It seems that its very popular right now for people to say what
their top 5 or 10 wishes are for MySQL Server. Many people who
have chatted with me are well aware of a small collection of
mine. Guess what? I have no plans to iterate through them
here.
I personally don't believe it is particularly productive. MySQL
is a company with a lot of smart people and almost every one of
them will have their own distinct and unique wish list. For a few
to have their wishes set above the rest could drive a wedge in
the works. Of course, a small number of senior officers of the
company to broadcast their opinions (Mårten, Monty, etc) is
perfectly reasonable - they are expected to have a public vision
- wether it be purely their own or distilled from the collective
of the company. So where should we espouse our heart felt
opinions? The WorkLog RawIdeas acts as a voracious black hole
from which few ideas ever escape to fruition. Perhaps the
internal Wiki …
So Vista has this "great" new feature called UAC which allows a user to run as a standard user until he or she needs elevated permissions at which point the system will prompt either for an administrator's password or for your consent if you are already an administrator. Everyone seems to generally hate it but we seem to be stuck with it. In any case, that's not what this post is about.
Those of you who are software developers know that we often need to set environment variables for ourselves. We use BitKeeper for source control so I need a BK_USER environment variable. I also often need to add things to my path. So what could be wrong with this? Oh, let me count the ways.
First, environment variables for the currently logged on user are not properties of the computer. Computer properties would be computer name, description, performance settings, etc. However, the first way you …
[Read more]Been a while since I wrote anything…not for lack of anything to write, just real busy. I’m finding myself having to force myself away from the computer to maintain my sanity.
On the home front, I’m going to be installing a ceiling fan in the only bedroom that doesn’t have one. I had to go buy a metal junction box because all the boxes in this house are the blue plastic ones. That’s fine and dandy but I’m not going to hang a ceiling fan from one. Don’t know if I’ll need it but I also bought a brace so I can mount the box to a rafter if it isn’t close enough to one already. After that, I’m going to start ripping down the ceiling in the basement in preparation for remodeling it. It’ll be a nice mess.
Then I’m off to California for a week - business related. I fly out Sunday morning at 7:30 and fly back Saturday.
Attended a MySQL webinar (man, do I hate that word) on replication and scaling out …
[Read more]Kettles secret in-memory database is
- Not actually secret
- Not actually Kettles
There. I said it, and I feel much better.
In most circumstances, Kettle is used in conjunction with a
database. You are typically doing something with a database:
INSERTs, UPDATEs, DELETEs, UPSERTs, DIMENSION UPDATEs, etc. While
I do know of some people that are using Kettle without a database
(think log munching and summarization) a database is something
that a Kettle developer almost always has at their disposal.
Sometimes there isn’t a database. Sometimes you don’t want the slowdown of persistence in a database. Sometimes you just want Kettle to just have an in memory blackboard across transformations. Sometimes you want to ship an example to a customer using database operations but don’t want to fuss with database install, dump files, etc.
Kettle ships with a Hypersonic driver, and therefore, …
[Read more]I didn’t know you could actually do this before addressing this problem in a benchmark using 5.0.36.
MySQL allows you to update two tables with a single UPDATE statement. I knew you could reference two tables in an UPDATE statement but not update both. However when working with a client after benchmarking I observed a large number of Created_tmp_disk_tables via SHOW GLOBAL STATUS and found that this query was the offending query only for certain circumstances. Understanding took a little longer.
schema.sql
DROP TABLE IF EXISTS a; CREATE TABLE a( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, i INT UNSIGNED NOT NULL, c CHAR(1) NOT NULL) ENGINE=INNODB; DROP TABLE IF EXISTS b; CREATE TABLE b( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, i INT UNSIGNED NOT NULL, c CHAR(1) NOT NULL, t TEXT NOT NULL) ENGINE=INNODB;
data.sql
INSERT INTO a VALUES(1,1,'a'); INSERT INTO a …[Read more]
If you’re in Kyoto, Japan on the 20-21 July 2007, consider visiting the Open Source Conference 2007 Kansai (page is in Japanese, with no English translation, but never worry, Google Translate Japanese to English Beta means that you and I, now read Japanese - read the English translation).
There are a lot of participating parties, there is no cost to attend the conference (I understand this is very commonplace in Japan), and if you’re a MySQL person, you’ll find Yoshinori Matsunobu giving a couple of interesting talks:
- On the 20 (Friday), his talk is titled “MySQL High Availability, and Scale-out solutions” and will focus largely on replication, and the use of heartbeat and DRBD.
- On the 21 (Saturday), his talk is …
First it was the SlashDot effect, then it was the Digg effect, now it’s the Facebook effect. I have a friend at Facebook and he was talking about the effect of the Facebook Platform API that was released a few weeks ago. Sites were now struggling to cope with the effect of massive amounts of new traffic, ensuring that experienced MySQL Consultants will have plenty of scale out opportunities.
Here is an abstract from an article I read recently. Analyzing the Facebook Platform, three weeks in
Translation: unless you already have, or are prepared to quickly
procure, a 100-500+ server infrastructure and everything
associated with …
Well, I'm already behind but managed to find time to get KISS entry #2 out. This is a fairly easy one and one that I've blogged about before. Consider this screenshot of my installed programs.
Applying the KISS principle to software installation (as Apple generally does) would mean that a single icon would indicate that a piece of software is installed and dragging that icon to the trash would either complete the uninstall or at least start the process. But, as we've already discovered, Microsoft believes in the secondary KISS meaning (Keep It Simply Stupid). The installation of Visual Studio 2005 does not produce a single icon but instead we get a whole series of things that are installed.
What in the heck is 64 bit Prerequisites? Sure, I know technically what it is but why on …
[Read more]Today I needed the ability to create a Oracle-style sequence generator outside of the normal MySQL auto-increment functionality.
I was performing a table format upgrade and one column needed a unique index and we’re not using auto-increment on this table.
This little bit of SQL should work fine:
SELECT @sequence:=IFNULL( @sequence + 1, 1 );
You’d have to use this construct with INSERT INTO ...
SELECT constructs.
So for example:
CREATE TABLE TEST_SOURCE
(
ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID));
INSERT INTO TEST_SOURCE (ID)
VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL);
… will give us a TEST_SOURCE table with 6 auto-increment values.
mysql> SELECT * FROM …
MySQL AB today announced that all the database applications behind the Skyrock and Skyblog Web sites -- Europe's largest blogging platform -- are based on MySQL. The European leader plans on future international expansion, relying on the world?s most popular open source database.