Friday, August 27. 2010
Vorab ein Disclaimer: nein, ich bin nicht auf der Suche nach einen neuen Job 
Ich habe auf der FrOSCon am letzten Wochenende Lukas Chaplin endlich mal persönlich getroffen, nachdem wir schon seit längerem in Online-Kontakt standen. Er betreibt das Job-Portal Linux Lancers (powered by MySQL), auf dem Stellenanzeigen mit dem Schwerpunkt auf Unix-, Linux- und Open Source-Jobs veröffentlicht werden. Dieses Jahr waren sie auf der FrOSCon als Gold-Sponsor und Aussteller vertreten und hatten wohl immer viel zu tun.
Ich finde diese Idee sehr gut – es zeigt, daß die Arbeit an und mit Open Source Software durchaus keine brotlose Kunst ist und Know-How in vielen Bereichen dringend gesucht wird. Mir ist bisher kein weiteres Portal mit diesem Fokus bekannt. Eine Suche nach "MySQL" liefert viele Hits, quer über die Republik verteilt. Kenntnisse und Erfahrung mit Opensource-Technologien zahlen sich aus! Die Website ist noch in einer frühen Betaphase, aber das machen die Inhalte wieder wett. Laut Lukas ist ein Relaunch des Portals in Arbeit, bei dem sowohl die Suchlogik als auch die Darstellung der Suchergebnisse überarbeitet wird.
Auf der amoocon 2010 in Rostock wurde ich von Ralf Spenneberg angesprochen, ob ich nicht Lust hätte, auf seiner OpenSource-Konferenz einen Vortrag zum Thema MySQL zu halten. Die habe ich – am 23. September um 14:30 werde ich dort etwas zum Thema "MySQL Hochverfügbarkeit" erzählen. Der Vortrag soll einen Überblick darüber geben, mit welchen Mitteln und Methoden man einen MySQL-Server ausfallsicher machen kann und welche Aspekte dabei zu berücksichtigen sind. Die OpenSource Trends Days erstrecken sich über zwei Tage; am ersten Tag gibt es Tutorien zu den Themen "Check-MK - Das Nagios-Über-Plugin" und "Kolab - Der Exchange-Killer". Am zweiten Tag gibt es neben meinem Vortrag noch Beiträge zu Postfix, Kolab, Fehlertoleranz mit KVM und XEN, OpenVPN und Nagios – ein vielversprechendes Programm von namhaften Experten auf diesen Gebieten. Für Spenneberg-Bestandskunden ist die Teilnahme kostenlos, die reguläre Teilnahmegebühr ist mit 99 EUR pro Tag durchaus erschwinglich. Ich freue mich darauf!
Thursday, August 26. 2010
With OpenSQL Camp and FrOSCon being over for almost a week now, it's time to come up with a short summary. I traveled home on Monday morning and then took Tuesday off, so I had some catching up to do... As for the past years, FrOSCon rocked again! According to the closing keynote, they had around 1.500 (unique) visitors and I had a great time there. I really enjoyed meeting all the old and new faces of the various Open Source communities. The lineup of speakers was excellent, Jon "maddog" Hall's keynote about "Free and Open Source Software in the Developing World" was quite insightful and inspiring. Most of the time I was busy with speaking at and running the OpenSQL Camp session track in room "HS6", but I managed to sneak out and listen to a few other talks as well. Additionally, I gave a presentation about ZFS on Linux, which had a good crowd and some interesting discussions. This year, all of the sessions in the main lecture halls were streamed live, so people not able to attend could at least get a glimpse on what was going on these two days. Many times it was a really tough decision to make – there were way too many good sessions going in parallel. So being able to see the recording afterwards somewhat relieved that pain. The FrOSCon team has already begun to publish the video files – they are separated by day and lecture room and can be obtained from http://froscon.tv/. And we were really lucky with the weather, too - the weekend was warm and sunny, a perfect setting for the social event, which is one of the highlights of FrOSCon. Impressive: this year, the attendees consumed one cubic meter (1000 liters) of Beer! Finally, I'd like to express my special gratitude to all the speakers of OpenSQL Camp – thank you very much for your support and for devoting your time to participate in our subconference! It was appreciated.
Friday, August 20. 2010
Greetings from Sankt Augustin, Germany! I've arrived by train today and just returned from the FrOSCon venue, which will start tomorrow. The organizers are still busy with the preparations, but things already seem to be in good shape. It was a mild and sunny evening today. Hopefully it will be the same tomorrow again, so we can enjoy a relaxed BBQ outside! The social event at FrOSCon is always a nice opportunity to meet and talk with fellow open source enthusiasts, users and developers. And finally some good news for those of you who can't make it to FrOSCon this year: there will be live video streams from selected lecture rooms! So you will be able to attend the OpenSQL Camp sessions virtually - just head over to http://live.froscon.org/ and select room "HS6". It'll be interesting to see how this will work out.
Thursday, August 19. 2010
The DOAG ("Deutsche ORACLE Anwendergruppe e.V.") is the German association of users of Oracle products. In November 2010 (16th-18th), they will hold their annual Oracle Users Conference 2010, which will take place in Nuremberg, Germany. This event is quite an institution – it has been established more than 20 years ago already. This year, there will be more than 400 sessions by over 300 speakers. For the first time, this year's conference will also have a dedicated stream of sessions about MySQL and I'm happy to announce that I'll be there, too, giving an overview of the various MySQL Replication Technologies as well as a glimpse into a MySQL DBA's toolchest. Here's the full list of MySQL sessions, as of today:
Tuesday 2010-11-16
Wednesday 2010-11-17
Thursday 2010-11-18
In just two days the OpenSQL Camp Europe (hosted by the excellent FrOSCon) will kick off! We've had a few last-minute changes to the schedule, as some speakers could not make it due to visa or family issues. But we managed to keep all slots filled on both days and I think we've come up with a very nice program! In addition to the two sessions I already had, I've volunteered to take over Giuseppe's talk about Shooting from the Hip. MySQL at the Command Line. The most up-to-date version of the schedule is on the OpenSQL Camp Wiki, I expect the remaining changes to be reflected on the FrOSCon schedule during the day as well. I would like to express my special gratitude to the folks at Percona, who really did their utmost in order to find replacement speakers for their accepted talks. I look forward to this weekend. And if you're interested to attend: I still have a few vouchers for free admission to the conference left over. Please contact me directly if you'd like to get one – first come, first serve! See you on Saturday!
Friday, August 13. 2010
I just wanted to send out a friendly reminder: you still have time until next Monday, 16th of August, 8:00 am (UK) to submit MySQL-related talk proposals for the Conference Series Technology & E-Business Suite 2010 conference which will take place in Birmingham (Nov. 29th - Dec. 1st). The UK Oracle User Group is looking forward to set up a dedicated track with great talks about MySQL! Thank you.
Ich möchte nur kurz auf einige Konferenzen mit MySQL-Inhalten aufmerksam machen, die in der nächsten Zeit so anstehen:
Am nächsten Wochenende (21. und 22. August) findet in Sankt Augustin bei Bonn die Free and Open Source Software Conference (FrOSCon) statt. Auch in diesem Jahr wird es wieder einen von mir organisierten Track namens "OpenSQL Camp" geben. Es wird insgesamt 12 Vorträge rund um das Thema MySQL und andere Open-Source Datenbanken geben. Darüberhinaus haben die Veranstalter der FrOSCon einen dedizierten Track zum Thema "NoSQL Datenbanken" zusammengestellt. Es wird also reichlich Information zum Thema Datenbanken auf der FrOSCon geben!
Ich habe übrigens 10 Freikarten für die FrOSCon zu vergeben, die Teil unseres Sponsoring-Pakets sind (MySQL/Oracle ist Silber-Sponsor). Wer Interesse hat, sollte sich schnell bei mir per E-Mail melden – first come, first serve!
Das nächste OpenSQL Camp findet dann wieder in den USA statt, und zwar vom 15. bis 17. Oktober in Boston.
Davor gibt es noch einen Pflichttermin in den USA – die im September in San Francisco stattfindende Oracle OpenWorld, die dieses Mal gleich mehrere Konferenzen unter einem Dach anbietet: neben der "klassischen OpenWorld" wird es die Java One und Oracle Develop Entwicklerkonferenzen sowie den MySQL Sunday geben. Besonders letzterer verspricht interessant zu werden, es haben viele namhafte Speaker aus der MySQL-Community zugesagt.
Herbst und Winter ist traditionell Hochsaison was Konferenzen angeht, und auch dieses Jahr wird wieder einiges geboten. Seit der Übernahme von MySQL durch Oracle zeigen sich besonders die diversen Oracle-Anwendergruppen sehr stark daran interessiert, das Thema MySQL aufzugreifen. Nach der ODTUG Kaleidoscope, die im Juni/Juli in den USA stattfand, stehen nun die DOAG Konferenz in Nürnberg (16.-18. November) und die UKOUG Conference Series Technology & E-Business Suite 2010 in Birmingham (29. November - 1. Dezember) an, die ebenfalls dedizierte Vortragsreihen zum Thema MySQL anbieten werden. Achtung: für die Konferenz in England können noch bis kommenden Montag Vortragsvorschläge eingereicht werden! Wir freuen uns über jeden Beitrag.
Monday, August 2. 2010
Nachdem ich in meinem Blog bisher ausschließlich auf Englisch geschrieben habe, bin ich nun zu dem Entschluß gekommen, ab und zu auch mal Artikel und Kommentare zum Thema MySQL auf Deutsch zu verfassen. Wenn es in Zukunft also um Themen geht, die primär für Anwender aus dem deutschsprachigen Raum (der berühmten DACH-Region) interessant sind (z.B. Hinweise auf Veranstaltungen, Konferenzen oder Treffen von MySQL-Anwendergruppen), werde ich es in dieser Kategorie vermelden.
Der deutschsprachige Teil von Planet MySQL sucht auf jeden Fall noch weitere Autoren! Falls Ihr also noch deutschsprachige Blogger kennt, die ab und zu mal das Thema MySQL behandeln - hier kann man einen RSS Feed anmelden!
Sunday, April 11. 2010
Hello from Santa Clara, California! I've arrived here yesterday and am staying with Giuseppe and Jan in the same hotel. Currently, the weather isn't that nice and we're all busy making preparations for the upcoming MySQL conference next week.
I'm fiddling with my slide deck for my talk about "A look into a MySQL DBA's toolchest", realizing that there is such a wealth of great tools that it's unlikely to cover them all in a 45-minute session. But I hope it will give the audience some inspiration about what tools to take a closer look at!
On a related note, I've just reconfigured Planet MySQL to display 30 instead of 20 entries on the front page – I assume next week there will be slightly more postings than usual...
Tuesday, March 30. 2010
As I already wrote, I will be speaking at the MySQL Conference & Expo in Santa Clara in two weeks and I am excited to be there again. This year's conference is going to be interesting for a number of reasons, but most importantly I think that the schedule looks great! This is going to be a "drinking from the firehose of MySQL knowledge" event. Afterwards, I'll be on parental leave in May and June, so I likely will miss a lot of great conferences – these months are usually quite packed, as our Open Source Events Calendar can confirm. I just received a notice that my talk submission to OSCON has been rejected, which currently leaves me with two more speaking engagements in the upcoming weeks:
On April 24th, I'll be at the Grazer Linuxtage in Graz, Austria. The schedule has not been published yet, but I've been asked to give a keynote on the subject of working in a virtual company and a more technical session about MySQL HA solutions. Linuxtage is said to be the second largest Opensource event in Austria – they had 28 different sessions and around 450 visitors last year. I haven't been to an event in Austria for a while, so I look forward to being there!
Even though I'm technically on leave at that time, I will attend the amoocon in Rostock, Germany in June (4-6). While last year's focus at this event was on opensource telephony (Asterisk, VoIP et al), they decided to broaden the scope for this year's event: "It is a boutique conference where we create an environment to give every attendee a fair chance to actually speak to each speaker. So you can tank knowledge and new ideas without the bullshit-bingo." I really enjoyed my stay there last year and look forward to talking about "A look into a MySQL DBA's toolchest" (for those who won't make it to my talk about this at the MySQL conference) and "Why you should be using a DVCS". I noticed that Monty Widenius will be there as well, speaking about "MariaDB release 5.1 - What is it and what to expect from it." and "MySQL & MariaDB history". The organizers are also looking for a speaker from the PostgreSQL camp, so this is going to be an interesting event for me. In addition to that, Rostock is a pretty nice city and the baltic sea is nearby. The organizers have limited the number of attendees to 100 people and the ticket price is slowly increasing every second day – so make your reservations now!
Wednesday, March 24. 2010
Berkeley DB (BDB) is undoubtedly the workhorse among the opensource embedded database engines. It started as a university project in the mid-eighties and was further developed by Sleepycat Software, until it got acquired by Oracle in February 2006.
I had the impression that BDB had lost a lot of its popularity among opensource developers to SQLite in recent times, which has evolved into becoming the default choice for developers looking for an embedded data store. I'd assume primarily because the code is not released under any particular license, but put in the public domain (which makes it very attractive for embedding it into one's code), and also because it's lightweight, supports SQL and has interfaces to a number of languages.
Of course, SQLite has its limitations and use cases (as every product), so it may not be suited for some particular application. As the SQLite developers put it: "SQLite is not designed to replace Oracle. It is designed to replace fopen().".
Yesterday, Oracle announced a new version of BDB. One of the notable features of this release is the introduction of a new SQL API, based on SQLite. According to Gregory Burd, Product Manager for Berkeley DB at Oracle, they did so by including a version of SQLite which uses Berkeley DB for storage (replacing btree.c). I think this is a very smart move – instead of introducing a new API, developers can now easily switch to a different storage backend in case they are experiencing issues with the default SQLite implementation. So now MySQL isn't the only database with different storage backends anymore 
I am curious to learn more about how the BDB implementation compares against the original (both feature- and performance-wise).
Oh, and this is actually not the first time someone put an SQL interface in front of Berkeley DB – BDB was the first transaction-safe storage engine that provided page-level locking for MySQL in version 3.23.15 (released in May 2000). The InnoDB storage engine was added some time afterwards (MySQL 3.23.34a, released in March 2001).
Tuesday, March 9. 2010
I'm happy to announce that my talk "Making MySQL administration a breeze - a look into a MySQL DBA's toolchest" has been accepted for this year's edition of the MySQL Conference & Expo in Santa Clara, which will take place on April 12-15, 2010. The session is currently scheduled for Wednesday 14th, 10:50 in Ballroom E.
My plan is to provide an overview over the most popular utilities and applications that a MySQL DBA should be aware of to make his life easier. The focus will be on Linux/Unix applications available under opensource licenses that ease tasks related to user administration, setting up and administering replication setups, performing backups and security audits.
Of course I will cover the usual suspects (e.g. Maatkit), some of these are actually collections of different utilities by themselves. As it's impossible to go over each individual component in the given time frame, I will try to pick out the most popular/useful parts related to the scopes mentioned above. But I will also cover some lesser known gems that migh be worth taking a look at. What's your the most valued tool in your toolchest? I am still looking for more inspiration.
I look forward to being at the conference again and meeting with colleagues and friends in the MySQL community. Judging from the current schedule, it will be a very interesting mix of talks.
If you're interested in attending, you should consider registering soon! The early registration ends on March 15th. Until then, I encourage you to make use of this "Friend of Speaker" discount code (25% off): mys10fsp
Saturday, March 6. 2010
I recently received a question from Robin Schumacher at Calpont, the makers of the InfiniDB analytics database engine for MySQL: "How would you recommend we try and get bundled in with the various Linux distros?"
Since this question has come up several times before, I thought it might make sense to blog about my take on this.
First of all, please note that there is a difference between "being part of the core distribution" and "being available from a distributor's package repository". The latter one is relatively easy, the former can be hard, as you need to convince the distributor that your application is worth devoting engineering resources to maintain and support your application as part of their product. It's also a space issue – distributions need to make sure that the core packages still fit on the installation media (e.g. CD-ROMs or a DVD). Therefore they take a very close look at each package and if it's really needed to be part of the installation medium or if it's fine to provide it for download from a package repository instead.
Distributors prefer to keep their core product small and restricted to the "basic OS building blocks". While MySQL might still be considered to be a part of this, this probably does not apply to the various plugins and extensions that are available for it. Therefore the best approach is to invest some engineering time and start doing the packaging yourself, either by hiring an engineer capable of creating and maintaining the packages, or by finding someone in your community who has the required experiences and is willing to do it.
While it's of course possible to set up and maintain your own build and package hosting infrastructure for that, I recommend to make use of the existing services provided by the distributors.
The top tier distributors all provide means of offloading the maintenance of "non-core" packages to their community, offering various options for packages to be made available. For example, Novell/openSUSE provide the free "Build Service", which is capable of building packages for other distributions as well (e.g. Fedora, Mandriva, Debian/Ubuntu, etc.). In addition to automating the builds, the Build Service also takes care of the distribution via their download mirror network and ensures that your application can be found via their package search interface.
Red Hat/Fedora provide something similar, named "Koji" – but it's "Fedora only". Here's a HOWTO that outlines the process of becoming a Fedora package maintainer.
Ubuntu/Canonical have "Personal Package Archives (PPAs) – if your project is hosted on Launchpad already, that might be something to look into for providing Debian/Ubuntu packages. Alternatively you could join the Debian project and start building and maintaining your package there. They maintain a list of "Work-Needing and Prospective Packages", a description of the process on how to become a new maintainer is outlined here.
If you'd like to target Solaris/OpenSolaris as well, there is the OpenSolaris Source Juicer – a web service which allows OpenSolaris community developers to build packages (using RPM spec files) and publish them for review, so they will be included in an official package repository. The Software Porters Community Group coordinates, advocates, encourages and helps with the porting of Software from multiple Platforms to the OpenSolaris Platform.
Wednesday, March 3. 2010
CMake is a cross-platform, open-source build system, maintained by Kitware, Inc.
From the CMake.org home page:
CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.
It has been used for building the MySQL Server on Windows since MySQL 5.0 – the initial CMake build support was added in August 2006.
For building MySQL on all other platforms, the GNU autotools (autoconf, automake and libtool) are currently being used.
CMake is used in some other MySQL projects as well, e.g.
On February 22nd, Vladislav Vaintroub pushed the changes required to implement WorkLog#5161 "CMake-based unified build system" into the "mysql-next-mr" branch (aka the "Celosia" mile stone).
From this version on, CMake can also be used to build MySQL on Linux and other Unix platforms. For the time being, the autoconf/automake files are still available as well, but will be phased out once the CMake build enviroment has reached the desired level of maturity. The change was announced on February 28th on our "internals" developer discussion list.
The purpose of WL#5161 is to simplify the MySQL build system. It is much easier and less error-prone to maintain a unified build system for all platforms than two separate ones.
CMake has been chosen because of several reasons; the worklog description lists a few pro-CMake arguments (slightly rephrased):
- CMake works on Windows. The GNU buildsystem does not really work and likely never will work natively on Windows (Using Cygwin is not really an option).
- Traditionally, new MySQL features that required changes in the build environment (e.g. the plugin system, unit tests, most recently googletest integration) were always implemented on Unix first, leaving Windows behind (sometimes for years). This would not happen with a unified build system.
- MySQL already uses CMake since 2006 on Windows, so we do not need to start from scratch, only port what we have to Unix.
- CMake runs on every OS and compiler we support.
- It is simple to obtain and install on a wide range of platforms. It is available in all major Linux package repositories (e.g. Ubuntu, Fedora, OpenSUSE). It is also in the OpenSolaris repository, known as SUNWCmake. It's in FreeBSD ports and available for Mac OS X. It is also very simple to compile it from source, the single prerequisite is a working C++ compiler and make utility.
- CMake has support for features we need and might need, e.g. system checks or cross-compiling.
- CMake provides integrated support for packaging. It can handle both simple packages (tar.gz or zip archives) and more complex things like DEB and RPM without much extra coding.
- Good integration with the popular IDEs (Visual Studio, Xcode, Eclipse CDT, KDevelop). Developing in an IDE makes the development process more enjoyable, and potentially it lowers the barrier for external contributors. Of course, CMake can generate traditional Unix Makefiles, which appear to be are superior to the ones generated by GNU autotools (for example, they have progress indicators, colored output and working dependencies).
- The scripting language used by CMake is simpler than m4 used by autotools.
- CMake is a single small tool, not a bunch of different tools as in GNU system (autoconf, autoheader, automake, libtool)
I'd like to mention a few additional reasons:
- Out-of-source builds – CMake can separate the build directory from the source directory. This is convenient, as your working source tree is not cluttered with object files and other fragments of the build process.
- Build configuration using a GUI. The cmake-gui package (based on Nokia/TrollTech's Qt library) provides a convenient way of enabling and configuring the various available build options. This is much better than having to memorize all the required defines and configuration flags.
- Integrated support for creating a wide range of package formats.
The CMake Wiki lists a number of other "nice to have" features.
From a developer perspective, I hope that it will make it much easier to finally implement two things that many developers working with MySQL have been waiting for (now that the build code has been cleaned up):
Building MySQL with CMake is quite simple and straighforward – the process is outlined on the MySQL Forge Wiki. The document is still work in progress and we'd like to encourage you to take a look at it, try to follow the steps and update/improve the Wiki page, if needed! Your feedback on the build process is appreciated. Feel free to join our internals mailing list to discuss your impressions and observations or submit a bug report via the Bug Database. It's likely that the build still has a few rough edges that we'd like to fix quickly (e.g. BUG#51502 – a fix for this one is already commited to the mysql-next-mr-bugfixing source tree and will be merged into the mysql-next-mr trunk soon).
If you're new to CMake, you might want to take a look at the "Getting Started With CMake (An End-User's Perspective) For Cross-Platform Building" screencast or the "Running CMake" article.
Happy hacking!
|