About MySQL, the database, the community, the ubiquity. Used to be at blogs.arno.fi/kajsql

Wednesday, 21 March 2007

Visiting SNAP Innovation, developers of PBXT Storage Engine

I'm just back from SNAP Innovation, the developers of the Primebase XT (PBXT) storage engine, here in Hamburg / Altona. What a pleasure to visit a company that, despite its closed-source roots, has understood and embraced what Open Source is all about and how it can open up business possibilities!

PBXT is a pluggable storage engine that fits in with MySQL 5.1. It is fully transactional, and supports MVCC. That makes it a good fit for many purposes, but the area where it is an especially good fit is for the industry that SNAP has been serving for the past decades: the publishing industry. No matter whether print or web, they have fairly similar needs, where BLOBs are a common denominator.

While MyISAM has supported BLOBs since the 1990s, and while the inventor of the concept of BLOB is Jim Starkey developing the Falcon engine, I can see PBXT satisfying needs beyond the mere moving the storage of pictures, films, MP3 files and other such data off the file system, into the database. Although PBXT isn't there yet, Paul McCullagh (the PBXT author and SNAP CTO), Ulrich Zimmer (their CEO) and Volker Oboda (their director of Mktg & Sales) presented an interesting vision of PBXT as the engine for scalable BLOB streaming. While most access to the PBXT based data will be through MySQL, SNAP seeks to develop a dedicated API (over a separate protocol) accessing the streaming aspects of the BLOBs more efficiently than can be made through a SQL constrained interface.

We talked about various aspects of better integrating PBXT into MySQL and our community activities. Let's see if Paul manages to put up a task for MySQL's Summer of Code page, for benchmarking of the PBXT engine.

It seems to me that SNAP intends to build up a sizable community of users of the PBXT storage engine under MySQL, and that they're in it for the long run, aiming for their scalable BLOB streaming backend.