somewhere in these 1.6GB of debug log files and signal traces… somewhere… really.
It was just a matter of time. But eventually, it was bound to happen. Some in the industry have been playing fast and loose with the term "open source," and yesterday Michael Tiemann, president of the OSI, cried 'Foul!' on his blog. As Michael writes:
Starting around 2006, the term open source came under attack from two new and unanticipated directions: the first was from vendors who claimed that they have every bit as much right to define the term as does the OSI, and the second was from vendors who claimed that their license was actually faithful to the Open Source Definition (OSD), and that the OSI board was merely being obtuse (or worse) in not recognizing that fact. (At least one vendor has pursued both lines of attack.) This was certainly not the first attack we ever had to repel, but it is the first time we have …
[Read more]
While upgrading fom MySql 3 to Myql 5 our only real problem was
with merge tables. We have two in the system, both did not work.
Createing the merge table did not give an eror, bt when we tried
to select from it, we get the error message 1168:
Unable to open underlying table which is differently defined or
of non-MyISAM type or doesn't exist
This kind of error message gives my the creeps. Or?? Why doesn't
it say which one of the cases it is? Surely these are three
different cases and it should be easy to separate them. Is it
difficult to add error messages to MySql? Or a lazy
programmer??
OK, we try to look at the table definition i MySql's own tool the
Query browser. But if you try to do 'Edit Table' in the Query
Browser, you get the following error message:
A MySql eror message was encountered. The eror message is:
Cannot fetch table information
The following error occurred:Unable to open …
I somehow totally missed this thread , started and summarized by Jeremy Cole on the death of Raid ..
In Yes Jeremy, RAID Really Is Dying Kevin Burton makes a good point ..
Most large scale out shops should probably be using a redundant array of inexpensive servers.
or RAIS , the difference between a Redundant Array of Inexpensive Servers an Inexpensive Disks being that you don't need expensive Controllers for the Inexpensive Servers .. This is exactly what I have been telling people for a while now..
In the summary posting Jeremey also points out
data partitioning is the only game in town, cache everything, and use MySQL replication for high availability and redundancy.
…
[Read more]
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 …