The MySQL SandBox

This week I’d expected to hear good friend Giuseppe (CCO) Maxia speak about MySQL SandBox at the Hamburg MySQL April Meetup.

This is product I’ve thought about using, wanted to use, but just never got to the point to using. I download the current version 1.18, I had MySQL tar’s already of 5.0, 5.1 and 6.0 and was all ready until the late topic change.

However due to the language barrier in the second talk, I got a one-on-one lesson. Now I know how it works, and understands the strengths I can use it as part of my standard vanilla testing. There are some improvements I could see, something perhaps I can contribute if they allow a Perl part-timer too. The joy of open source is I can add, modify, change and submit my work, if not wanted for example, there is simply no loss to me.

  • By default installation goes to $HOME, and then creates a different standard for individual, replication or multiple instances. I’d like to see this default to a directory say $HOME/msb so all different installs are all under one directory node. You can specific this currently via –sandbox_directory otherwise.
  • express_install.pl could benefit from a –help option
  • I’d like the set_replication.pl and set_many.pl commands to support an array of mysql tar’s. I’m most interested in testing replication say from 5.0 to 5.1 and 6.0, not just 5.0 to 5.0. I’d also like to be able to install a 5.0, 5.1 and 6.0 versions and be able to use the multi_cmd to run the same SQL across different versions easily.
  • The multi_cmd would benefit from a means to list the identify of the instance with the output. It’s hard as MySQL does not have MYSQL_SID, only a server_id which can be a little confusing.

Thanks Giuseppe for your work on this product.

Current syntax

./install.pl --help
Unknown option: help
    The MySQL Sandbox,  version 1.18 05-Apr-2008
    (C) 2006,2007,2008 Giuseppe Maxia, MySQL AB
syntax: ./install.pl [options]
    -h --home_directory = name          The home directory. (default: $HOME (/Users/rbradfor))
    -d --sandbox_directory = name       Where to install the sandbox, under home-directory
    -P --sandbox_port = number          The port number to use for the sandbox server.
                                        (Default: 3310)

    --datadir_from = name               Where to get datadir files from. Available options are
                                        archive   will be taken from the archived data
                                                  provided with the package. They include
                                                  default username and passwords
                                                  ( DEPRECATED )
                                        script    the script mysql_install_db is called, with
                                                  default users, no passwords.
                                        dir:name  will be copied from an existing mysql directory
                                        (Default: script)

    -i --install_version = name         Which version to install (3.23, 4.0, 4.1, 5.0 or 5.1) default: 5.0
    -b --basedir = name                 Base directory for MySQL (default: /usr/local/mysql)
    -m --my_file = name                 which sample my-{small|large|huge}.cnf file should be used
                                        for additional configuration
                                        You may enter either the label (small|large|huge) or a full
                                        file name. (default: none)

    -f --conf_file = name               Configuration file containing options like the ones
                                        you can give on the command line (without dashes)

    -U --operating_system_user = name   Operating system user (for mysql installation)
                                        default: $USER (rbradfor)

    -u --db_user = name                 user for global access to mysql (Default: sandbox)
    -p --db_password = name             password for global access to mysql (Default: sandbox)
    -c --my_clause = name               option to be inserted in a my.cnf file
                                        it may be used several times

    --prompt_prefix = name              prefix to use in CLI prompt (default: mysql)
    --force                             Use this option if you want to overwrite existing directories
                                        and files during the installation. (Default: disabled)

    --no_ver_after_name                 Do not add version number after sandbox directory name (default: disabled)
    -v --verbose                        Use this option to see installation progress (default: disabled)
    --load_grants                       Loads the predefined grants from a SQL file.
                                        Useful when installing from script.
                                        (default: disabled)

    --no_load_grants                    Does not loads the predefined grants from a SQL file.
                                        (default: disabled)

    -t --interactive                    Use this option to be guided through the installation process (default: disabled)
    --no_confirm                        suppress the confirmation request from user

Example:
     ./install.pl --my_file=large --sandbox_directory=my_sandbox

MySQL Speakers and Presenters at LinkedIn

There is a Linked In group I created some time ago but forgot to advertise that is for MySQL Speakers and Presenters.

If you a speaker or presenter of MySQL content, confirm your registration here.
You will need to have a reference to a website confirming you have been a speaker at a MySQL Event such as a User Conference, MySQL Camp or Local MySQL Users Group.

Hopefully overtime we can build a consolidated index at MySQL Forge Presently some pages exist including MySQL Conference & Expo and User Group Presentations but I’m accepting input for a model to have a central page, and link to or upload of presentation. Any input welcome.

Storage Engines at the MySQL Conference

I’ll be following closely the progression of Storage Engines available in the MySQL Database server, well soon to be available when 5.1 gets to GA (hopefully by end of Q2 which is what we have been told). Tick, Tick, time is running out.

PrimeBase XT (PBXT) and Blob Streaming is a focus as PrimeBase Technologies, the company which I want to note for people is an Open Source company, committed at providing an open source alternative to the other commercial players. You also have at the MySQL Conference talks on the the existing InnoDB from Innobase (a subsidiary of market RDBMS leader Oracle). There is a Nitro presentation, an Infobright presentation, no Solid presentation surprisingly (the IBM news happening after submissions closed). We also have from MySQL, presentations on the internally developed storage engines Falcon and Maria, both products that won’t even be in 5.1 but 6.0, however Maria is presently a different branch of 5.1 so I don’t know how that works. Will it be in 5.1?

But what I want to seek is more news of KickFire, a Diamond Sponsor, an engine with embedded H/W, something that’s been obviously worked on in reasonable stealth. For me it’s not just interesting, it’s a competitor in our technology space, so I’ve been researching Joseph Chamdani and some of his patents.

Plenty of news in the past few weeks on Kickfire including Kickfire Update by Keith Murphy on April 3, Kickfire: stream-processing SQL queries by Baron Schwartz on April 4, Kickfire looking to push MySQL limits by Farhan Mashraqi on April 4, and Kickfire Kickfire Kickfire by Peter Zaitsev on April 4, and myself back on March 23.

So what can I make from the lack of company information and posted information to date.

  • Hardware based acceleration.
  • No Solid State Drive (SSD) Technology, at least not yet but C2App mentions SSD.
  • Data Warehousing, lending to thinking it’s not a transactional storage engine
  • A new storage engine and a new approach to data storage. I find this surprising, as it takes years to develop a feature complete storage engine, and most new 5.1 storage engines are indeed existing products, take Nitro, Solid, Infobright and Falcon. Only PBXT has been written from the ground up for MySQL 5.1, so looking to know more about it’s development
  • Expensive, it’s dedicated H/W + (assuming) MySQL Enterprise + Storage Engine

When is a website useless?

Well this is one way. Time Magazine has so much advertising garbage, the page on my Macbook shows only 16 words of meaningful article text on the page. Those being almost rather useless as well:

“Wired News Senior Editor Kevin Poulsen and a small team of editors do a great job”

Hamburg MySQL Meetup – Apr 2008

Tonight’s Hamburg MySQL Meetup was a packed room of 60-70 people at Sun in Hamburg. The most I’ve seen @ a MySQL Meetup across three cities, countries, continents and years (my first Oct 5, 2004).

As expected most was in German. Pity, I would have liked to hear about Open Office and MySQL. Giuseppe, CCO (That’s Chief Cartoon Officer – I liked that one) gave in English a general review of MySQL. He highlighted the reasons “Why did Sun by MySQL?” including most popular, most dynamic and people with the Freedom to work anywhere.

Three points I would like to re-iterate for the community.

    The MySQL Forge contains the Worklogs, i.e. what is going to be developed in current & future versions and the status of tasks in next version, say in review, in development, completed development etc. This is important because this gives exposure to the world what MySQL are indeed working on.

  • The MySQL University each Thursday gives a free session that includes from an expert audio and visual slides as well as the ability to ask questions via IRC. I’ve attended one of these before and I’d like to see this continue to improve and grow.
  • MySQL is open and values external contributions from the community. My new co-worker Paul creator of PBXT highlights this. I hope with additional time within the MySQL Community I can help to contribute and lobby for greater differentiation of MySQL Community and MySQL Enterprise in favor of the Community.

Giuseppe did however not talk about the MySQL SandBox as scheduled. I was even prepared having wanted to use his software previously. I’d downloaded and was all ready. I did manage to get a one-on-one lesson which I found most useful, and a few points of enhancements to consider.

I didn’t know there were so many MySQL people in the area, the following attending tonight. Lenz, Giuseppe, Kai V, Kay, Jan, Ulf W and Georg whom I’d not met before. Most I’ll see next week at the MySQL Users Conference.

A heartfelt apology

While I mentioned in Not Stuck, “thanks to those concerned”, perhaps I did not illustrate clearly that I was suitability moved by the genuine concern of close friends regarding my plight, and I did really appreciate the comments and initial feedback.

I’ve talked with close friends such as Jay, Frank, Marc and tonight both Giuseppe and Sheeri and while I’ve been told it’s a good one, and we laughed and smiled I do value the genuine friends I have in the MySQL Community.

My apologies for any personal pain cause during April 1st. I hoped that I’d replied via email to each commenter promptly to minimize any additional delay.

And sorry Marten, for the lost productivity as I’ve heard about, I guess I owe you one.

Using Vodafone UMTS in Germany

These instructions apply to the Novatel MC950D UMTS USB modem running under Mac OS/X 10.5 (Note these instructions do not apply to OS/X 10.4)

1. Software Installation

You first need to install the software as supplied on CD.

This will give you a Vodafone Mobile Connect folder including the Vodafone Mobile Connect application and manuals in various languages.

2. Connect your modem

Insert your data SIM card (which should be a different SIM from your mobile phone) into the modem and connect to our Mac. You should get a consistent blinking RED light.

3. Run the Connect Application

Selecting the Vodafone Mobile Connection Application you will get a program that will search for a network connection. You will prompted to enter your SIM card pin.

When an appropriate connection has been made, your modem should now have blinking GREEN light in intervals of 3.

You need to select the [Activate] Button at the bottom right of the window.
Your modem will now have a blinking GREEN light in intervals of 2.

Select the Support tab will provide some technical details of the modem and OS.

4. Getting a Network Connection

Open System Preferences then select Network.

Click the [+] button to add a new network type.

Select from the dropdown list the Interface Notavel and give the service an appropriate name. NOTE: It does not appear you can change the name at a later time.
Click the [Create] button.

Now back on the Network page, click the [Advanced] Button to change settings.

Select the WWAN tab. Select the Vendor Notavel from the supplied list.

NOTE: When selecting a different Vendor the Model list does not change. You need to Select [Ok] then [Apply] and then re-enter the WWAN panel.

Selecting the Model GSM you will be prompted with two additional fields. Enter WEB.VODAFONE.DE in the APN field (This is very important).

Select the DNS tab. No changes should be necessary. This should remain empty.

Select the WINS tab. No changes should be necessary. This should contain the NetBios Name entered, other fields empty.

Select the Proxies tab. No changes should be necessary.

Select the PPP tab. No changes should be necessary.

5. Making the connection

You are now ready to go.

Click the shiny [Connect] button. If all goes well you should end up with a connection.

6. Checking Settings

Following a successful connection, the [DNS] tab shows updated information.

Unexpected SEO results

I had need to show the official MySQL business shirt to somebody, so I did a Google Search on “mysql conference photos” (without the quotes) as I know I’ve seen photos of staff at the conference online before. Google Search Link

To my utter surprise, Google provided 3 image search results. Two of them were of Paul McCullagh, CTO of PrimeBase Technologies. Not only was this unexpected, the first image of Paul was actually from my own Blog. Go figure how I managed that Search Engine Optimization.

Come and get a t-shirt at UC2008

Here I am at my desk sporting the PrimeBase supporters t-shirt that will be available at the exhibitors booth at the 2008 MySQL Conference. The front is rather uneventful with the official logo, but the back will be worth the experience. So everybody interested in supporting PBXT as the transactional storage engine for MySQL developed by the community and for the community, please come and see us and mention the secret password.

We have been placed way back in the right hand side of the exhibitors hall at booth 518, in front of the Open Source and OEM providers.

A clarification of evil

Earlier I wrote in The Sun Download Manager is evil a subsequent generalization, and I wanted to make a clarification. I stand my by title, but not that the entire company is evil. Perhaps are 1am and being tired, and rather peeved I could not download the free software with any ease I needed to as they say “sleep on it”.

Let me further detail why the Sun download manager is simply to never to be used without due consideration. You first have no choice, if you use the Sun Download Manager to download software (I’ll have to review if you even have an option not to use it), you must accept the SSL trust requirement, to not accept is to not use the download manager, so straight away you have no option (this is the path to being evil). When you accept the trust of the download manager, you are signing over your entire computer to the software to which you don’t know what it’s really going to do. This is in essence how a Trojan horse works. This is how software from other sources can deceive people, even destroy all information on your computer. Combined with the fact that the download manager does a really stupid thing and places files in the ‘root’ directory of your machine is also something you should never allow and never do.

I really want to bring this to the attention of people, because I have plenty of friends and family which don’t understand computers as much, and what’s possible, and if say the trusted a Java Applet from Sun, they might just do this next time with a program who’s intent is to destroy, damage or transmit information on your computer.

This leads to the real justification of virtualization and always doing any web surfing or use in a dedicated virtual environment, however until this becomes simpler for the end user it’s not easy to configure and explain to a less experienced user.

When technology just works

Today I needed to visit a medical specialist for collection of something. I had to pay $250 as my insurance did not cover. I sent a check as requested however today they had not record of receipt. Not wanting to write a second check and then find they cash both, I logged onto my online banking right there with my iPhone (miracle I could remember my login and password as all important logins like this are different and normally I need my notes) and I’m able to confirm deposit and even view a scanned copy of the check. Confirming the date they are still unable to find. I’m able to use an office computer and print out this confirmation to show them proof of payment.

The technology of the iPhone and the thoroughness of my bank online check verification solved the hassle, simplified the confirmation and greatly reduced the stress of the situation. At T-2 days the technology worked and I was most grateful.

A day with Paul McCullagh – Architect of PBXT and BlobStreaming

Continuing on from my lightning visits with Jan Kneschke and Michael Zinner, today I got to spend a day with Paul McCullagh at his home in Hamburg Germany.


Paul is the architect of the PBXT Pluggable Storage Engine for MySQL 5.1, and also the Blob Streaming Storage Engine. His work was acknowledged with the MySQL Community contributor for the year in 2007. The successful PrimeBase product for the publishing Industry in Europe and North America also now uses PBXT for underlying data storage which is great to see a company use it’s own products.

Like each friend and expert this week, Paul develops using Mac, but at least uses the US English version & keyboard layout, not the German layout. As Paul states, “the German version is not productive for coding”.

Paul uses NetNewsWire Lite as his RSS feeder, as I observe some PlanetMySQL links. I’m more old school, I just go to the site every few days. I really should move from the dark ages, one advantage is the RSS feeder shows you what you have read.

However, there is a particular reason why I visited Paul, other then to spend some time with a good friend. I’m doing more investigation regarding making coding changes to MySQL, and I’m very out of the development cycle. I’ve forgotten more then I remember with C++ and in particular the tools and techniques used to develop, debug and deploy. Of course I know what I need to do, I just need to know what now is the most efficient means of doing today.

Paul uses Xcode to view and edit his MySQL code. The development environment provided by Apple is good for Java and C++. As an Eclipse person from my Java days, I was using CDT for my C++ environment. XCode is used for project management (i.e. looking at files in project) and for file editing. A standard terminal is used to do make. Xcode can do a quick compile for syntax checking and you get a list of errors and hot links to lines of code.

The next key part is debugging, and you can very easily define executables and enable you to run in an integrated debugger. A good option testing is to run mysql test with is –manual-gdb. This gives you the command you can run. What Paul does it copy the parameters, and add to an executable defined within XCode, the arguments from the –manual-gdb output.

The MySQL source tree was added as a project but only partial source directories such as (storage,sql,include) are required. You do need to make sure it does compile (but necessary for a build via Xcode.)

Additional debugging help is In xcode you can do jump to variable definition. So you can add breakpoints, and then run the defined executable that was build via command line make, and copy mysqld binary to initially deployed directory.

Regarding testing, we got to talk again about the issues with the MySQL Test Suite including the issues I encountered while working with Nitro. Hard coded storage engine syntax such as such as engine type=Innodb make testing more complicated then necessary. MySQL test requires some modifications for pluggable storage engines. You need to add a row to the plugins table via mysql_system_tables_data.sql to enable –default-storage-engine=pbxt as a command line argument. Paul did state that on using the MySQL testing suite, the Perl version is a great improvement in performance.

So now I understand the environment, I get onto my problem, and we are specifically looking at the thread sort_buffer and sql/filesort.cc

So when I ask about a few lines of specific code, Paul shakes his head, and says “This looks crazy”. After we spend some time on it, his comment is upgraded, “this doesn’t look crazy, it is crazy. When you look at the effect of the code, it appears it can be done in 3 lines, and it would make sense what it is doing.” This is worth further discussion in a future post.

One last tip learned. You need to be careful with multiple versions and open projects of the same, not to make changes 1/2 in one version and 1/2 in another version.

Limiting your result set, but getting count of all rows

In reviewing some of my notes I thought it was relevant to ensure this small MySQL gem is documented for my history purposes.

Historically I’ve seen people do a complex SELECT statement twice, first to get a COUNT(*) and then to retrieve the data, perhaps in a paginated format. In MySQL you can combined both SELECT statements into 1 SQL. You still need a second SQL statement, but it is less impactful to your system.

Here is how?

mysql> select sql_calc_found_rows * from mysql.user limit 2;
...
2 rows in set (0.01 sec)

mysql> select found_rows();
+--------------+
| found_rows() |
+--------------+
|            5 |
+--------------+
1 row in set (0.00 sec)

The Sun Download Manager is evil

Well, following my rather unimpressed first attempt to download Open Solaris I registered a second account and this time it worked, go figure, there must be a “annoy MySQL ex employees feature there”.

The Sun Download manager kicks off with an Open .jnlp with Java Web Start (Screen 1), ok, whatever. You then get a SSL warning and well whatever as well (seems weird) (Screen 2), then the Download Manager kicks of downloads in this case 2.3GB (Screen 3).

So next day, I’m looking for the iso, can’t find in my ~/Downloads, and infact a search across my entire home directory does not find the .iso What the. You are telling me after all this I still don’t have the iso file.

Long story short, it’s been saved in the ‘root’ home directory i.e. ‘/’. Holy crap how can you do that, and any idiot knows you don’t put files there. The Options page, which you can get to after downloads (Screen 4) allows you to change the download directory, but the damage is already done. Scratching ones head to work out how without password access this was possible, you have to read the fine print as highlighted on screen 3. “Click Trust to use this application and allow it unrestricted access to your computer”. Well that’s just evil. Sun is now an evil company in my books.

Post note. So I move my files from ‘/’ obviously, and I don’t need ‘root’ permissions, just my normal user. This is really, really messed up.

macmarvin:~ rbradfor$ cd /
macmarvin:/ rbradfor$ ls -l
total 7616021
...
dr-xr-xr-x   2 root      wheel           1 Mar 13 10:27 net
drwxr-xr-x   6 rbradfor  staff         204 Nov 29 22:10 opt
drwxr-xr-x@  6 root      wheel         204 Oct 26 02:04 private
drwxr-xr-x@ 66 root      wheel        2244 Mar  5 19:38 sbin
-rw-r--r--   1 rbradfor  admin         341 Mar 26 02:55 sol-nv-b79b-md5sum-dvd-x86.txt
-rw-r--r--   1 rbradfor  admin  3878092800 Mar 26 13:12 sol-nv-b79b-x86-dvd.iso
-rw-r--r--   1 rbradfor  admin      205408 Mar 26 19:40 sol-nv-b79b-x86-dvd.iso.sdm




Learning SEO the painful way

Indeed I have a goal of launching a consolidated site of my online presence at ronaldbradford.com at some time soon, and even now I have found I’ve made some SEO 101 mistakes, just in my testing site, and my temporary placeholder.

As a database expert I see plenty of database 101 mistakes with most clients, so part of why my site is going nowhere is I don’t want to make SEO 101 mistakes, especially as I’m not launching a new site, but a migration of existing content to one site.

I see nobody at O’Reilly has made improvements to the redirection mess of the MySQL Conference website as described by Farhan Mashraqi in Someone please change mysqlconf.com redirection, and so rather then linking to www.mysqlconf.com which I have done, I’ve linked to the direct page, which I’m sure will probably change after the conference making this a broken link.

I am concerned that a larger organization can’t get this right. Is SEO/SEM not important to them? It will also be of interest to see what happens here with Sun acquiring MySQL. Sun did a rather detailed job of MySQL content on www.sun.com. Time will tell I guess.

Open Source Database Alternative – Ingres

On several occasions this year I’ve been prompted to mention in conversation Ingres as an alternative Open Source Database. Jonathan Levin in A list of Open-Source Alternatives to Business Applications was the latest example where Ingres was not mentioned and perhaps it should have been.

Want features like online backup, online alter, multi-master replication, parallel queries and partitioning. These are all long existing features in a more mature product then MySQL presently. Is this a sleeping giant that nobody remembers about? Ingres has been around a long time, in fact my experience extends back to 1988 (that’s 20 years).

From a product perspective they have created a number of pre-packaged product stacks, for example The Ingres Icebreaker BI Appliance Powered by JasperSoft, something MySQL has failed to capitalize on. Another stack appliance for example is with Alfresco.

However since the CA announcement to open source Ingres back in 2004 I’ve not seen a great deal of press, at least not in the Open Source or MySQL circles. Time permitting myself it’s time again to look at Ingres. It’s worth another look and hopefully I can provide some translation for MySQL DBA’s and Developers. Also part of Ingres is ABF Application By Forms, an entire development environment. My use was back in the terminal days so I can only assume they have fully embraced the Web now.

Things that piss me off

So I decided to download Open Solaris tonight. Not only do you have to go through the pain of registering to download the free product, ok that’s understandable, you are forced to enter an Organization and a Phone Number, the first is impractical people, not everybody works or want’s to even tell you where they work, but phone number is completely unacceptable.

So, registered go to click on download and I get a most stupid error saying to enter a User Name and Password yet a few lines below it states I’m logged in, and there are no input boxes. So I entertain this annoyance, log out and log in again to get the same result (why did I expect a different result).

So Sun, if you don’t want me to download the software, just say so next time.

I should add it’s 1am, the end of my day so perhaps it’s time out.

Just what are MySQL 9.x features?

Top marks to Jay Pipes for getting the Forge 2.0 finally out after quite some time, as well as in the midst of the MySQL Conference he is organizing.

I am worried however about some of the content, as shown in the screenshot below, the opening page lists Worklog tasks/features for versions 6.x or 7.x , that’s ok, but features in 9.x. Where is the practicality of thinking more then 2 releases ahead, and just having a future bucket. Indeed, we have 5.1 and 6.0 already frozen and not releases, so 6.x is already 3 releases out.

Tonight we were told at the NY PHP Meeting MySQL 5.1 is not due to late Q2, so that’s at least June 2008.
The MySQL 5.1 Release Notes reveals a history that I don’t find very flattering.

  • MySQL 5.1.3 (29 November 2005)
  • MySQL 5.1.9 (12 April 2006) *First reported beta via docs
  • MySQL 5.1.22 (24 September 2007: Release Candidate)

I hope that Sun will take on board this very slow release cycle of producing GA products, the last version MySQL 5.0.15 (19 October 2005: Production) 2 years and 6 months ago.

I’m even more interested then previously in the ultimate release and success of MySQL 5.1 as this is a pre-requisite of my new employer’s key product the PBXT Storage Engine for MySQL.

NY PHP – Sun & MySQL: A New Hope

Tonight’s New York PHP community meeting was a talk by Philip Antoniades the MySQL Systems Engineering Manager.

With an interesting topic opener “A New Hope” I could not resist to hear Philip’s official MySQL presentation.

Some small points I took away from the presentation.

  • Sun is committed to Postgres with Josh Berkus and a team of 20 people.
  • Solaris.next is the next version of Sun, I thought that was a cool internal name, be it obvious
  • A marketing slide of the highest traffic websites listed Meebo, yousendit, alexaholic, techcrunch, feedburneer, istockphoto and vimeo as reported by Pingdom. Not sure were they get their data, but Google, Yahoo, FaceBook, Wikipedia, MySpace, Fotolog are sites I think of as high traffic. Indeed 3 of these listed sites I’ve never heard of.
  • MySQL 5.1 is expected GA in late Q2 (no year was mentioned).
  • Falcon in 6.0 was listed as the “Next Generation” transaction Storage Engine, an interesting term I’d not heard of before.
  • Sun provides Hosted Database Services (i.e. the cloud) via network.com.
  • MySQL has had an influx of Sun Engineers (60-80).
  • MySQL is being benchmarked more on Sun H/W.

This talk did remind me it’s time to download Open Solaris. With the interesting comment that out of some 1,200 Sun Engineers over 1,000 were Macbook users gives me great confidence it will work just fine on my Macbook.

Out of other discussions there was talk of ZFS, so this will be interesting in what backup opportunities for MySQL without a true Online Backup solution may exist.
Also there was discussion with Sun’s GUI Tool NetBeans, and this casts light on how this will sit with the MySQL GUI team and MySQL Workbench.

Interesting times, this new hope.

What I love about the MySQL Community

The people, plain and simple.

I encourage you, if you are not part of the local MySQL community, then why not? Find a local MySQL Meetup group, attend the MySQL Conference, get online to IRC @ freenode#mysql, subscribe to some lists or read the forums. I didn’t meet these people being an observer, but part of the community.

As I wrote recently with some vacation time and the need to pick the brain of some experts I organized a quick trip to Germany to specifically visit Jan Kneschke and Paul McCullagh to improve my MySQL skills in certain areas on my own time (something I’d find harder to want to do at Sun when they owned all IP & copyright even during my personal time, so what incentive is there?)

As with the best laid plans of mice and men, the mention a few weeks earlier of skiing (my number one passion) and the chance to do this with Michael Zinner in Austria was too much a golden opportunity to miss, so this was added to my trip.

But it didn’t stop there. These were my plans yet news of my visit brought out others to want to see me during my visit. With Jan, additional events organized included my chance to see Kai Voigt, and then Jens Bollmann and Ulf Wendel. With Paul, lunch was organized with Lenz Grimmer. This is one beauty of a distributed company such as MySQL, people in lots of different places and something I am most glad that will not be lost just simply because I’m no longer an employee.

In the past year I’ve spent quality time with other MySQL Community people and also not just from MySQL. This past twelve months has included time with Sheeri Kritzer Cabral in Boston many times (including her wedding), Jay Pipes in Columbus (including also going there for Thanksgiving), Chad Miller in Orlando (even just to visit one day to see a shuttle launch), Gary Whizin in Santa Cruz, Baron Schwartz in Charlottesville and of course Farhan Mashraqi in New York. It’s great to get to know people better personally, to meet spouses and partners and to just consider life in general. People and their own goals and dreams are far more significant then just our own careers.

During my time at MySQL I’ve also made friends with several clients and have spent time with them in varying locations in the US including New York, Jacksonsville, Chicago and San Francisco.

In the past week following a request for any Linked In recommendations of my work, I’ve exceeded my goals of 25, and I’m now at 31 of 166 contacts, many from members of the MySQL community and clients.

I’m sure 2008 will be no different. Any offers for me to visit are always most welcome and to live by my motto “Life is Short. Live Life. Life is an Adventure”.

My Motivation for MySQL Camp III proposal

I wanted to follow up my earlier post My Ideas for MySQL Camp III with some of motivations. Luckily, good friend and colleague Jeremy literally took all of 15 mins to respond to my post with “So, I see your vision for the event itself. What’s your vision for the results of the event?” (Unfortunately with 150+ draft posts, it’s taken some time to complete my reply).

The present differentiation of MySQL Community and MySQL Enterprise in my eyes is a joke. Now before I start or re-start more then already one flame war let me first talk about MySQL Enterprise. MySQL Enterprise is a great and necessary product offering by MySQL Inc. It serves essential services to essential customers with features such as commercial 24×7 support, MySQL Enterprise Monitor which is an excellent start when clients have nothing (and boy I’ve seen more then my share of these), monthly updates and certified binaries.

My gripe is not with MySQL Enterprise, but with little to nothing that MySQL has done with MySQL Community. Take these simple facts.

MySQL Community and MySQL Enterprise were split at 5.0.27 in October 2006.
Only one contribution was added to the Community side, SHOW PROFILE in 5.0.37. What was to be a start of hopefully more creative contributions, suddenly stopped and has not changed since. My only thought could be, heaven forbid you now change the scope of functionality in 5.0 between Community and Enterprise, but wasn’t that the point?

Ok, new features change the scope of the base feature set. New features may make the product more unstable. Community people get this. The present release cycle process with the differentiation is a joke. You can’t add any features to 5.0, you can’t add any to 5.1 for like the past year. I’d go so far as to say, ZERO community contributions submitted even now would make 6.0. We don’t want to draw from sales and marketing features of Falcon and Online Backup.

MySQL Community is an essential product, it’s the only choice when MySQL Enterprise is not an option.

So to answer Jeremy’s question. What’s your vision for the results of the event?

  1. To personally gain a better in-depth process of understanding the MySQL code, debugging, enhancing and contributing to MySQL
  2. To see others gain the same skills, knowledge and appreciation.
  3. To see better documentation of the process (A goal of the MySQL Community team)
  4. To see the length and breath of creative input increase
  5. To ignite some urgency and pressure to actually see MySQL Community differentiate to the benefit of the community.
  6. To simply have fun, hack code and enjoy it with others

Since drafting this response some time ago, Sun has acquired MySQL, MySQL 5.1 still remains in RC, and we now have a beta of Falcon in an alpha of 6.0 (which I don’t get). With the MySQL Conference happening in a few weeks, I’ll be keen to know what’s going to happen with the MySQL Community differentiation and whether any information will indeed be forthcoming.

I plan to revisit this topic in the next 3 to 6 months to see if anything has actually changed as a result of Sun. We will just have to wait patiently.

Companies speaking at UC2008

The Conference Speakers of the 2008 MySQL Conference provides some common and interesting names of companies not common in MySQL circles such as eBay, Microsoft Corporation, HP, Symantec. I see speakers outside of MySQL from countries including USA, Canada, Brazil, Germany, Japan and Australia.

I did some data analysis of the speakers list. There are 150 speakers, there are 45 from MySQL. Other companies with multiple speakers include Sun Microsystems, Kickfire, Linbit, Cafepress, Open Query, Proven Scaling, Standford Linear Accelerate Center, UC Berkeley, Siz Apart, The Hive, Zmanda, MySQL Performance Blog, Infobright, Digg, Grazr and of course PrimeBase Technologies.

Only two MySQL speakers have listed “MySQL/Sun” the rest are “MySQL”. I wonder what the policy is here? You have “Oracle / Innobase” and “Innobase / Oracle Corp.” some identity crisis there, the guys from “MySQL Performance Blog” prefer this name over the company name “Percona”, obviously for brand exposure. You have “Grazr Corporation” and “Grazr Inc”. It’s only trivia but interesting.

A day with Michael Zinner – Architect of MySQL Workbench

Following A day with Jan Kneschke – Architect of MySQL Proxy, today I’m with Michael Zinner in Vienna, Austria. Michael is Team Lead of the MySQL GUI tools team at MySQL.

I met Michael two years ago the 2006 MySQL Users Conference. We had communicated prior to that and I’d even used his very successful DB Designer a number of years prior to this. The present project of the GUI team is the MySQL Workbench which is a beta release.

Again, I find a key MySQL developer using a Mac, this time as the primary OS of choice. Unfortunately however the current version of MySQL Workbench is Windows only (Linux/Mac to be released next), so Parallels and Windows Visualization are used. He uses Microsoft Visual Studio for development and it was interesting to know the level of modularization necessary to support the windows version including a .Net C# front end and C++/.Net wrapper to the underlying C++ code base. The additional layers not necessary for Linux/Mac.

I observed a number of most appropriate Mac productivity tools for the beginner in me including PathFinder rather then Finder,
iStat menu, Adobe Lightroom and grab for screen prints ( which I knew about but have not tried). Top regular websites included www.tuaw.com The unofficial Apple Weblog, www.appleinsider.com, www.macrumors.com and www.engadget.com.

I did however have a difficult time checking my email, because the keyboard was in German, and as I touch type I wasn’t looking when typing. ‘:’ ‘/’ were not as expected, and ‘z’ was where ‘y’ was, making it difficult to spell MySQL.

Discussions of the MySQL acquisition again included possible concerns, even more so as Micheal leads a team of developers across various countries and agreements.

On a lighter side, I love my tech toys, most recently a new max spec’d Macbook, the latest released Canon 40D camera just recently after becoming available, and an Apple iPhone on Day 1. Michael has a new tech toy, A Red One, and this bets any new toy hands down by a long way.

I’m looking forward to hearing more during his 2008 MySQL Conference presentations and results of the great work with MySQL Workbench.

Upcoming 2008 MySQL Conference

It’s just three weeks now before the 2008 MySQL Conference. Good to see my mug shot on the front page (see screen shot below).

I will still be presenting my session Top 20 DB Design Tips Every Architect Needs to Know, however as a departing MySQL Employee I’ve had to give up the chance to present the “MySQL for Oracle DBA’s Bootcamp” tutorial, content that I developed for MySQL specifically and have already presented three one day seminars in New York, San Francisco and Washington DC.
Update March 26 2008. I should clarify that I notified MySQL as part of my exit items that I would not be able to present the Tutorial. I would very much like to, and being the author of the content I am well qualified, however as this was developed for MySQL and will be again used by MySQL in the future I felt it was inappropriate that a non MySQL employee and a recent departed employee was presenting this content. I did not want for any attendees to be confused or see a potential conflict of interest and I wanted to ensure I kept my distance from the strict Sun Intellectual Policy procedures.

Kickfire formally C2 App a Diamond sponsor will be something I’m very interested in seeing, MySQL being written specifically in hardware. A few talks I’ll be interested in seeing include Securing MySQL for a Security Audit by Brian Miezejewski, Disaster is Inevitable—Are You Prepared? by Farhan Mashraqi, Developing Information Schema plugins by Mark Leith, Astronomy, Petabytes and MySQL and System Techniques to Remove I/O Bottlenecks in Large Query Intensive Applications.

What impact will Sun Microsystems a Platinum sponsor and acquirer of MySQL have at the conference? CEO Johnathan Schwartz will be following former CEO Marten Mickos’ open keynote with Open Source: The Heart of the Network Economy. There are a number of Sun related talks and Sun employees speaking. I’m sure attendance numbers of Sun employees will be up also.

PrimeBase Technologies will be out in force at the Exhibitors hall, so be sure to stop by and say hello, and get a free t-shirt from them.