Skip to content

Have you attended a MySQL University session yet?

Just came off today's MySQL University session about How to Build MySQL on Windows - Reggie did a great job on explaining how to build the MySQL Server from Source on Windows using the Microsoft development toolchain and some additional required tools. I am glad to hear that we're making progress on making it easier for Windows developers to work with the source code and Reggie and the other members of our Windows Task Force (what a nice acronym this one makes!) have plenty of other ideas for improving that experience.

If you missed his session, the audio file and IRC log will be published from the MySQL University pages shortly.

And in case you haven't heard about MySQL University before, check out the pages on the MySQL Forge and take a look at the upcoming schedule! Next week, Jan is going to give an introduction to the MySQL Proxy, which will to be an interesting session for sure. Did I mention that attending MySQL University is free and everybody is welcome to join? All you need is an IRC client to post questions and discuss the topic and an application capable of playing OGG audio streams for listening to the presenter. The MySQL Forge Wiki has detailed instructions on how to get going. See you next week!

Binary builds of MySQL Proxy available via the openSUSE build service

In addition to the binary downloads that we provide from our site, Linux RPM builds of the MySQL Proxy (both the latest stable version as well as SVN snapshot releases, named mysql-proxy-snapshot) are now available for download from the server:/database repository of the openSUSE build service. It provides packages for a number of Linux distributions, e.g. Fedora 5/6, SLES 9/10 SuSE/openSUSE 10.x. By the way, this repository also contains RPMs of the current 5.0.45 MySQL Community Server for the distributions mentioned above. Thanks a lot to Darix for the initial checkin of the proxy package!

 

FrOSCon slides available for download

I've returned home safely from my trip to St. Augustin, Germany (near to Bonn), where I attended this year's FrOSCon. As last year, it was a very well organized event, kudos and thanks to the conference organizers (who are all volunteers!). The conferece program was packed with good sessions again and the ones I attended were interesting and well done. Many OSS projects also exhibited in the hall way, it was nice to stop by and chat with these folks.

I gave a talk about "Opening the doors (and windows) of the Cathedral - Enabling an architecture of participation around the MySQL Server", which describes the ongoing activity at MySQL to open up the development processes to the Community. Given that I gave this talk for the first time, I think it went very well, at least I did not run out of time :-) The slides are now available from the session page linked above or from the MySQL presentations section on my site. The talk was also recorded, a video clip should be available from the FrOSCon pages in the near future, too.

Speaking at the FrOSCon conference this weekend

Hmm, long time no post! But I have the perfect excuse: I've actually been on vacation the past two weeks... Now I am back at work and busy trying to make a dent in the mail pile that has accumulated while I was gone. In addition to that, I am assisting with the organization of our MySQL Developer Meeting in Heidelberg, which will take place in September. See Kaj's blog post for more details about it. I am in charge of our community guests and really look forward to meeting most of our internal developers as well as community guests there! This is going to be a fun event.

In addition to that, I am applying the final touches to my upcoming presentation about our ongoing community activities: "Opening the doors (and windows) of the Cathedral", which will be held at the FrOSCon in St. Augustin, Germany this weekend. My colleague Giuseppe will also give a talk about "Logging and monitoring a database server" and last but not least Susanne will give her famous "PostgreSQL versus MySQL - Venus versus Mars" talk. I really enjoyed last year's FrOSCon, it was a very relaxed and well organized event, with many great sessions. This years program looks promising, too - so if you happen to be in the area, make sure to stop by!

Oh, and if you happen to be around the New York City area today and tomorrow, consider checking by the MySQL Camp II, which will start today! There may still be some free seats available, make sure to check the site for registration instructions.

From Visions to Reality - an interview with David Axmark, Co-Founder of MySQL AB

I am happy to announce that my MySQL Dev Zone interview with David Axmark just went live - if you are curious to hear a few stories about how David and Monty started this whole thing more than 10 years ago, make sure to spend a few minutes and read it here!

MySQL@OSCON 2007

OSCON, the Open Source Convention organized by O'Reilly is coming up next week (July 23rd-27th, Portland, OR).

MySQL AB will be present in the exhibition area and we will also be giving some talks:

There are some other talks related to MySQL, that might be of interest for you:

PlanetMySQL update: Post titles in the RSS feed include the author names now

Just a quick heads-up - I just commited a change to the Planet MySQL code that slightly modifies how the RSS feed is being created: now the author name is put in front of each posting's title, similar to how many other feed aggregators mark the different articles. I hope you find this change useful, let me know if you experience any problems or have any other suggestions for improvements. Thanks!

Fighting spam: reCAPTCHA installed on the MySQL Forge Wiki

Today, I again spent about an hour to revert changes made by spambots on various MySQL Forge Wiki pages. As I was really sick of this, I now installed a new plugin: reCAPTCHA - this will hopefully raise the bar for spambots to create new user accounts automatically for spamming the Wiki. If you are a registered user already, you will probably not notice the change - by default, CAPTCHAs are only displayed on the following events:
  • New user registration
  • Anonymous edits that contain new external links
  • Brute-force password cracking
Let's hope it helps! Please let me know if you still experience spam problems on the Wiki.

Packaging and Installing the MySQL Proxy with RPM

As I felt the itch to do some quick hacking yesterday, I decided to provide an RPM spec file for the MySQL proxy. The changes have been commited to the SVN trunk now and I added some hints to the INSTALL file on how to perform an RPM build.

Here is a quick summary of how to convert the current SVN code into an installable RPM. You build environment needs to fulfill a few additional prerequisites (a gcc compiler and the C library header files are taken for granted here), I added the versions I used on my openSUSE 10.2 system for reference:

  • autoconf 2.56 or newer (autoconf-2.60)
  • automake 1.9 or newer (automake-1.9.6)
  • MySQL 5.0.x include files (MySQL-devel-5.0.41)
  • pkg-config (pkgconfig-0.20)
  • libevent 1.x or newer (libevent-1.1)
  • lua 5.1 or newer (lua-5.1.1)
  • glib2 2.4.0 or newer (glib2-2.12.4)
The following steps need to be performed:
# Check out the trunk of the SVN repository
$ svn co http://svn.mysql.com/svnpublic/mysql-proxy/trunk mysql-proxy

# Enter the directory and bootsrap autoconf/automake
$ cd mysql-proxy
$ sh ./autogen.sh

# Build the source distribution tarball
$ ./configure && make distcheck

# Convert the source tarball into a binary RPM
$ rpmbuild -tb --clean mysql-proxy-<version>.tar.gz

RPM will now perform the compiling and packaging. The end result will be an installable binary RPM package which will end up in the RPMS directory. Depending on your distribution this location will vary, on my openSUSE system the package ended up in in the following location from where I installed it directly:

$ sudo rpm -Uhv /usr/src/packages/RPMS/i586/mysql-proxy-0.5.1-0.i586.rpm

The mysql-proxy will be installed into /usr/sbin, the documentation and example scripts are being put into the default documentation directory (/usr/share/doc/packages/mysql-proxy in my case).

For now, you still have to start the proxy manually. Next thing is to create an init script that starts up the process at boot time.

Expanding the architecture of participation and talking about it at FrOSCon

I'd like to bring two announcements to your attention, that I posted to our internals Mailing list a few days ago - both refer to ongoing activities at MySQL AB to further open up our development processes and to establish an Architecture of Participation around the MySQL Server and related applications.

I am excited to be able to talk about this topic at the upcoming FrOSCon, which will take place on August, 25th-26th in Sankt Augustin, Germany. The title of my presentation will be "Opening the doors of the Cathedral - Enabling an architecture of participation around the MySQL Server". Here's the abstract:

Even though the MySQL Server is released and distributed as Open Source Software (OSS) under the GPL, the development itself so far has mostly been performed in a very closed-source fashion, as most of the developers are employed by MySQL AB. This talk covers some of the ongoing efforts to establish an architecture of participation around MySQL that attempts to move the MySQL server development process into the public, making it more accessible to other developers interested in contributing.

I submitted two additional talks about "HA Solutions for MySQL" and "Working in a virtual company: benefits, challenges and tools" - unfortunately both were rejected. However, there are two additional talks related to MySQL: "Logging and monitoring a database server" provided by Giuseppe Maxia and "PostgreSQL vs. MySQL: Venus vs. Mars" provided by Susanne Ebrecht.

I personally enjoyed last year's FrOSCon very much and I look forward to this year's edition! Make sure to mark the date in your calendar and come over to meet with us and other OSS people!

Without further ado, here's a repost of the two announcements I sent out:

Continue reading "Expanding the architecture of participation and talking about it at FrOSCon"

New openGIS functionality in MySQL available for testing

While MySQL already provides some functionality to store and operate on geospatial data, the functionality leaves quite a lot to be desired and is far from providing full OpenGIS compatibility. Most notably is that all functions that query spatial data only operate on MBRs (minimum bounding rectangles), to simplify the operations.

Thanks to my colleague Alexey "Holyfoot" Botchkov from Izhevsk, Russia, some of the spatial relation functions like INTERSECTS and WITHIN now work in the way they are described by OpenGIS and not by using MBR's as it used to be. He has been working on improving the GIS functionality as a side project and the work has now reached a level at which he is ready to give it some public testing and solicit feedback about it.

Currently these new features have not been slated for inclusion in any upcoming MySQL major release. But the more feedback and testing this code receives, the faster it will reach a maturity level that makes it a potential feature candidate for new versions of MySQL.

In addition to improving already existing functionality, Holyfoot also implemented some new precise geospatial functions - the following functions are available now and use precise operations instead of MBRs:

  • BUFFER(g1 geometry, d numeric) returns a Geometry defined by buffering a distance d around g1 where d is the distance units for the Spatial Reference of g1
  • DIFFERENCE(g1 geometry, g2 geometry) returns a Geometry that is the closure of the set difference of g1 and g2
  • DISTANCE(g1 geometry, g2 geometry) returns distance between g1 and g2
  • INTERSECTION(g1 geometry, g2 geometry) returns a Geometry that is the set intersection of g1 and g2
  • SYM_DIFFERENCE(g1 geometry, g2 geometry) returns a Geometry that is the closure of the set symmetric difference of g1 and g2 (logical XOR of space)
  • UNION(g1 geometry, g2 geometry): returns a Geometry that is the set union of g1 and g2
This work is documented as WorkLog task #1326 "Precise spatial operations", which is a subtask of WL#2377 "Add all missing GIS features to MySQL" - feel free to review and comment on these specifications and make sure to test the new functionality!

The source tree (based on the MySQL 5.1 code base) is now available from our public BitKeeper trees at http://mysql.bkbits.net/ - please consult the reference manual for more information on how to build a MySQL binary from a source tree.

To discuss the new GIS functionality, please join our GIS Forum and make sure to report bugs at our public Bug Database!

Comparing Web2.0 with Open Source

This thought has been floating around my head for quite some time now and I finally bit the bullet and released it from the draft state it had been sitting in for too long: there are quite many similarities between Open Source Software (OSS) projects and most of today's popular Web 2.0 sites, but there is also one odd difference that I wonder about.

For both worlds, the concept of collaboration, participation and giving more power to their users is a key component. OSS projects need contributors for patches and bug reports, but also for feedback, translations, artwork, advocacy in order to be popular and healthy. The project's developers need to be open for suggestions, listening to their user base on where the project should be heading. They also usually strive for open standards and APIs, allowing easy combination and interaction with other Open Source Software so that other projects can build their work on top of theirs or compliment it. A successful OSS application gains popularity by the snowball effect: users of the product find it useful and recommend it to other users seeking for similar functionality. These too start to contribute to the project in various ways, making it in turn more useful and attractive for even more users and so on.

The same is true for Web 2.0 sites: they depend on a user base that creates and provides content that makes their site useful and popular, e.g. blog postings, pictures, articles and other content, but also by providing feedback and bug reports about the site itself and recommending it to others. A successful Web2.0 site needs to be as open to user feedback as a regular OSS project in order to remain attractive and maintain a loyal user base. So it's a lot about participation and empowering the users to contribute and control the content - the part that actually makes a site useful and attractive. Many of these Web2.0 sites also provide public APIs (e.g. SOAP, REST, XML-RPC or RSS, just to name a few acronyms) that allow others to access their services and functionality and reuse or combine them with their own work. And by using technologies like AJAX, most of these sites actually look and feel like regular desktop applications already.

But there is a strikingly difference: even while most Web2.0 sites are based on Open Source technology (e.g. the LAMP stack or Ruby on Rails), only very few ones actually carry on the OSS philosophy and make their own code available as Open Source as well. Not that they would have to do so, as there is this so-called ASP loophole in the GPL and most other OSS licenses: web sites are not actually distributing their application code, so they are not required to disclose the source of their applications.

But why do they break the chain here? One could argue that the obvious reason for that is that most web sites are created and maintained by companies, that are doing this for business reasons and want to maintain their competitive edge over others. However, many sites started as a hobby project by an individual or a small group and were converted into commercial entitities once they became successful. Even in these early stages it's rare that sites provide their source code. But isn't Web2.0 mostly about the users and content and not so much about the technology behind it? Would it really make a difference if the source code of a site is freely available?

In the OSS world, users could just fork off a project, if they don't feel the project is going the right direction or it has been abandoned by the original author. This sometimes leads to much better applications than what the original project came up with. This also leads to a healthy competition and to much better software with less duplication of work in the long run. And this is being recognized by more and more software companies as well - there is a large and growing number of OSS applications that are not maintained by a group of volunteers, but by a commercial entity.

In the Web2.0 world, people start creating new sites from scratch again and again, resulting in a vast amount of sites that serve a similar purpose, all with their own warts and deficiencies, splitting up the user base and available content. This causes fragmentation and makes it much harder to create one useful resource. And they are all on their own in maintaining and improving their sites, to fulfill the requests of their user base and keeping them happy and loyal.

I wonder if and when Web2.0 developers will embrace and extend the concept of sharing their code as well, to let others help them to become even more powerful and popular. Once a site has gained a certain popularity, there is plenty of new features that their users will ask for, or bugs and deficiencies that are in need of fixing. Making the source code available would allow others to jump in here, opening yet another channel of possible contributions and community-building. The Open Source community provides numerous lessons to learn from. True, others may then be able to take the code and create a site that provides the same services and experience. But they still would have to gain traction by creating a community and content before they would become a serious competition.

One great example of how this could be done is Wikipedia - they maintain Mediawiki (the application that powers their site) as a regular OSS project, which has made it one of the most popular and powerful Wiki applications around and has allowed others to create Wiki sites about all kinds of topics on their own.

And while it's not really true Web2.0 company, I also welcome Linden Lab's decision to open up the Second Life client source code. I am confident that the experiences they make with this will encourage them to consider opening the sources of the server code as well at some point...

But they both have grasped that it's not so much about the technology and software, but much more about the users and the content created by the community that makes them popular and successful. This is something one can't simply take and create a competing offering, even though the source code is available.

Announcing the 7th MySQL Hamburg Meetup

Just a quick reminder for those of you located near Hamburg, Germany: on Monday, June 4th at 19:00 there will be our 7th MySQL Meetup. As usual, we will gather at the Chinese Restaurant "Ni Hao". This time, Sönke Ruempler will give a talk about the PHP-ORM-Framework "Propel". If you'd like to join, don't hesitate to RSVP via meetup.com or Xing.com right away! Thanks - see you there!

PlanetMySQL now available in French

It was long overdue, but now it has happened: Planet MySQL now provides a section to aggregate french blogs about MySQL! Thanks a lot to Jay for updating the code and Pascal Borghino for the localization. If you are a MySQL enthusiast located in France (or any other french-speaking country) and you enjoy writing about your passion in your native language, submit your feed now!

Announcing mylvmbackup 0.5

Eric Bergen from Proven Scaling (which I had the pleasure to meet in person during the MySQL Conference & Expo in Santa Clara last month) was kind enough to send me a patch for the mylmbackup tool, which justifies a new release:
Attached is a patch file for mylvmbackup that adds the ability to use
lvm version 2 and perform innodb recovery on the snapshot prior to
creating a tar ball. The option is named --innodb-recover.

I've also fixed a bug with default value handling for command line
options. In version 0.4 if a config file was specified default values
in the script were all changed to blank. This means that the config
file had to supply values for every variable instead of just the
values that need to be changed from default.

This is a very useful addition, as it significantly reduces the time required to recover a MySQL server from a snapshot backup. Thank you, Eric! Note that you need to use LVM2, as LVM1 does not support the required writing to snapshot volumes.

Version 0.5 is now available for download from the mylvmbackup project page.

I also would like to announce that I have set up a dedicated mailing list for this tool: if you want to discuss the usage/future of mylvmbackup, propose patches or ask for help, there now is a mailinglist, hosted on FreeLists.org. To subscribe, either enter your email address on the mylvmbackup list information page or send an email with the subject "subscribe" to mylvmbackup-request@freelists.org. The list is archived here. See you there!
tweetbackcheck