As I have blogged about before, I have worked for Oracle before,
20 years ago or so. And since then, I have heard a lot of bad bad
words on Oracle on the streets, both on Oracle the company and
Oracle the database product. Actually, Oracle isn't about any of
those things, no, just as in the case on MySQL, it's about
people. And good people. You don't run and build a company like
Oracle without good people.
To be honest, most I know about the software industry and most of
what I know about database technology, I learnt or was allowed to
learn when I was with Oracle back then. And I can tell you that
backing and supporting me back then wasn't a really obviously
good thing to do (I don't know if it is now even). Bur Oracle
did, and I owe them one for that.
Also, I like the Oracle product. There are attributes with the
product that are different from, say MySQL, and depending on what
you look for, Oracle or MySQL might be …
This morning’s MySQL Conference keynotes had a number of inaccuracies, but one that I wish to point out is the characterizations of Drizzle. It looks to me like some Sun/Oracle/MySQL folks are trying to take credit, now that they’re seeing it become a resounding success, for the good work of the Drizzle project. It is not a technology incubator, nor is it the “MySQL Drizzle Project.” It is a new database server.
Today, for me is day 1 of the MySQL Confernece & Expo 2009. It seems to be going pretty well - and its only 2.45pm.
If you follow Planet MySQL, or happen to just have random conversations with people, the main buzz for the day is “Oracle buying Sun”. But let me not bore you with that. I just want to log some of my interesting conversations.
Over lunch I had a good discussion with users of MySQL, and one potential user of MySQL (his company uses Oracle, MS SQL Server, Sybase, and are now looking at MySQL). We talked about quite a number of things:
- The documentation (which I, and the rest of the MySQL users use) seems to not be complete for an Oracle person. Why? It seems we’re missing out on things like the models. We lack enough theory. People would like to “see” (visually) what the InnoDB buffer pool does, not just read about it. In fact, it also seems like we might need to be clearer with the use of …
This week throngs of MySQL developers, users, and enthusiasts descended on silicon valley. Apparently the valley’s cooling system can’t keep up because as they arrived the outside temperature went up into the 90s (32s for those of you who choose to use a sane temperature measurement system). I’m not attending the conference this year but I almost wish I was to get some of the air conditioning. It’s supposed to cool off and rain on Saturday. As the brain power leaves I suspect the valley is going to cool and moisture in the air will condense into rain, or tears.
I bet you thought this post was going to be about Oracle and Sun, sorry. I think the weather is more interesting.
I just pushed the code for my replication changes on launchpad:
$ bzr branch lp:~jan-kneschke/mysql-proxy/replication
The presentation should be available … soon.
One of the first examples is about filtering binlogs. If you want
to remove all ALTER statements from the replication
stream (or in this case the binlog files) you can just iterate
the binlog and copy everything to a new binlog, but the
ALTER statement
local binlog = require("mysql.binlog")
local tokenizer = require("proxy.tokenizer")
local f_in = assert(binlog.open("/tmp/binlog-test.log"))
local f_out = assert(binlog.open("/tmp/binlog-test-filtered.log", "w"))
print("filtering /tmp/binlog-test.log to /tmp/binlog-test-filtered.log")
for event in f_in:next() do
if event.type == "QUERY_EVENT" then
local tokens = tokenizer.tokenize(event.query.query)
local first_token = …[Read more]
I just pushed the code for my replication changes on launchpad:
$ bzr branch lp:~jan-kneschke/mysql-proxy/replication
The presentation should be available ... soon.
One of the first examples is about filtering binlogs. If you want
to remove all ALTER statements from the replication
stream (or in this case the binlog files) you can just iterate
the binlog and copy everything to a new binlog, but the
ALTER statement
local binlog = require("mysql.binlog")
local tokenizer = require("proxy.tokenizer")
local f_in = assert(binlog.open("/tmp/binlog-test.log"))
local f_out = assert(binlog.open("/tmp/binlog-test-filtered.log", "w"))
print("filtering /tmp/binlog-test.log to /tmp/binlog-test-filtered.log")
for event in f_in:next() do
if event.type == "QUERY_EVENT" then
local tokens = tokenizer.tokenize(event.query.query)
local first_token = tokenizer.first_stmt_token(tokens) …[Read more]
Part 2 of "Understanding How MySQL Works by Understanding Metadata", presented by Sheeri K. Cabral (The Pythian Group) and Patrick Galbraith (Lycos Inc.). This was a 3-hour tutorial.
The PDF of the slides can be found at http://technocation.org/files/doc/2009_04_Understanding.pdf.
From the official abstract at http://www.mysqlconf.com/mysql2009/public/schedule/detail/5682:
We have spent countless hours researching over 1,000 pieces of metadata. In the process, we have learned a lot about how MySQL works, and realized that it was a pretty good learning method.
Tonight at 4:30 AM, USA Pacific time, my phone started to ring;
it was a call from a Sun employee saying that Oracle has bought
Sun and he wanted to join Monty Program Ab.
Shortly after that I got a call from a Swedish newspaper,
Computer Sweden, who asked me about my opinion
about why Oracle would buy Sun.
The reasons I see why Oracle is buying Sun are:
- Sun is making big hardware, that is easy to bundle with very
big Oracle installations.
- Sun is making very good, reliable Intel boxes that work well
for database usage.
- Sun's virtualization product, VirtualBox
- Sun tape Storage, very well suited for …
Amidst all the Oracle/Sun/MySQL news today, the MySQL Conference kicks off this week. So I just spent a few minutes putting together my picks for the sessions I'd like to attend at the MySQL Conference and the Percona Performance Conference (schedule). There's quite a lineup and I have some hard choices to make. Both groups have put together excellent events. And, wow, there are a lot of new storage engines and appliances coming out.
To make my life easier, I'm putting the list of interesting sessions from both conferences here so I can try to decide where …
[Read more]Part 1 of "Understanding How MySQL Works by Understanding Metadata", presented by Sheeri K. Cabral (The Pythian Group) and Patrick Galbraith (Lycos Inc.). This was a 3-hour tutorial.
The PDF of the slides can be found at http://technocation.org/files/doc/2009_04_Understanding.pdf.
From the official abstract at http://www.mysqlconf.com/mysql2009/public/schedule/detail/5682:
We have spent countless hours researching over 1,000 pieces of metadata. In the process, we have learned a lot about how MySQL works, and realized that it was a pretty good learning method.