|
When most people think of open source database products what comes to mind more often than not is MySQL. But that is changing in the enterprise market, and among demanding developers. The PostgreSQL project has been steadily clawing its way up the ladder in mindwidth since its inception almost ten years ago. Many say they've changed from MySQL to PostgreSQL and never looked back. I recently had a chance to chat with a few of the project's dedicated developers.
OSDir.com: How did the PostgreSQL project, and you personally, get started?
Marc Fournier, Project Founder: In my case, it was looking for a database backend for an ISP accounting system way back in '95/'96. MySQL couldn't stand up to the load we were expecting, so we looked at Postgres95. At the time Jolly & Andrew were 'ghosts' flittering about finishing their thesis and getting ready to move on, but there seemed a relatively active community of users. It had the features that I needed, and people like Bruce had the patches, so I offered the resources to pull it altogether... at which point I was hooked.
Elein Mustain - Long-Time PostgreSQL Community Member: I have worked as a developer on another postgres based product, at Illustra and another similiar object-relational database, Informix 9. I also worked with excellent relational databases as a developer with Ingres.
Choosing to work with PostgreSQL was a 'no-brainer'. I would never, with this experience, choose a database that is not cleanly extensible or that does not have fully functional relational capabilities."
OSDir.com: What do you think are PostgreSQL's best features?
Marc Fournier: Hard to answer, as there are so many. For us, schema's have been a great and visible feature, since we use it extensively for AMS.
Elein Mustain: Extensibility!
The rich set of procedural languages enables more developers to take advantage of postgresql's enhanced functional capabilities. Functions can be written in the language most suited for the task at hand.
User Defined Data Types and User Defined Operators are nicely implemented so that you can create data types with functionality more suited to the business objects being stored, queried and manipulated by SQL.
PostgreSQL is also technologically mature and stable while its ideas and implementation remain leading edge. Its competitors are commercial vendors with many resources. However PostgreSQL achieves this with excellent core team coordination of the product, particularly Tom Lane. PostgreSQL is on an upswing and has a great deal of good will and enthusiasm along with fast paced development.
Neil Conway - Major Contributor to PostgreSQL: I've always been impressed by the commitment to "doing things right" that is pervasive among PostgreSQL developers. There is an emphasis on code quality, stability, and good style that I think has contributed enormously to the final product.
OSDir.com: What is Cooking for future releases (> 8.0)?
Neil Conway: Predicting future development in detail is always difficult with a project consisting largely of volunteers. I think we're getting close to wrapping up the remaining important OLTP features; there are still some things we need to add, but we're definitely closing the gap. We've spent less time working on OLAP and ORDBMS features in the past few years. That might be an area that will see more work as we our OLTP features mature. Another area might be improving the performance of PostgreSQL on high-end hardware, as well as an effective, high-performance multi-master replication system."
Josh Berkus - PostgreSQL Core Team member: For our next major version,which might be either 8.1 or 8.2, we can only forcast the features based on what's already been submitted or at least debated. That includes speed improvements in R-Tree and GiST indexes (which Neil is too modest to talk about), two-phase commit, SQL2003 standard compliant procedures (current procedures have non-standard syntax), database roles, and of course more improvements in memory usage. Given that we released 8.0 so recently, though, it's still early in the cycle so no doubt we'll get more; and no doubt some of the above won't make it.
OSDir.com: What do you consider its biggest challenge?
Elein Mustain: To substantially increase PostgreSQL's visibility. PostgreSQL should be included on everyone's "list of databases" and it should be spelled correctly. I don't want to go to any conference representing PostgreSQL and be asked what it is and why haven't people heard of it."
OSDir.com: What is holding PostgreSQL back from taking over the top spots in the open source database space from MySQL & Firebird?
Josh Berkus: MySQL has "first mover" advantage. They were out in the field and ready for most programmers to use when PostgreSQL was still only suitable for hard-core database geeks. I'm not certain that PostgreSQL will pass MySQL: they are the "easy to use" database and make compromises in some areas we don't in order to be that way. Our goal is, and has always been, to have the best object-relational database system, not necessarily the most popular.
As for Firebird: so far, the only evidence we have for widespread adoption of Firebird is a single Evans Data survey. Based on my attendance at Open Source conventions and constant participation in the OSS database world, Firebird seems to have a rather small active online community, and an even smaller developer base. If their installed base is as wide as the Evans survey seems to indicate, then they need to work hard on converting that installed base into a large contributing community, the kind that MySQL and PostgreSQL have. Firebird has some unique features, and I'm glad to see their adoption increasing, but they have catching up to do, Evans nonwithstanding.
Overall, the "ranking" of OSS SQL database systems in the future will be largely dependant on our ability to capture the user bases of proprietary systems and to expand the database market. For that matter, that market is not unitary; an embedded database like SQLite or Cloudscape is not a substitute for a server like PostgreSQL for 85% of applications. So how things shake out in the long term is far from clear to anyone ... except that proprietary database systems will dwindle.
OSDir.com: Has the project ever considered following the MySQL dual licensing model?
Josh Berkus: No. In fact, we can't; we inherited the PostgreSQL code base under the BSD license from the University of California at Berkeley, so we'd have to fork our own project to change the licensing.
Further, our BSD license is really a part of our culture, just as the GPL is part of the culture of the Gnu projects. We pride ourselves on being business-friendly, and enjoy support and resource contributions from a coalition of companies because of it: at least half of our major contributors are paid to work on PostgreSQL by companies who use it. Abandoning our BSD license would practically be self-immolation.
It's my personal belief that dual-licensing is strictly a transitional stage as the business world, and investors, get used to open source. Once proprietary software is on the wane everywhere, it won't have much appeal to anyone.
OSDir.com: PostgreSQL bills itself as "quickly becoming the de facto database for enterprise level open source solutions." How has the transition gone from being a normal OS project to being in demand within businesses?
Josh Berkus: There's a lot more work now. A year ago I was still consulting on intranet projects to support myself. Now I work pretty much full-time on PostgreSQL. Other contributors have had a similar experience, especially the freelancers. I also spend a lot more time dealing with the press and PR, maybe 300 hours in the last year.
The Core Team also spends a lot of our time now discussing corporate contributions to PostgreSQL and relations with various companies, and dealing with legal hassles like software patents (for the record, software patents are evil and all your European readers should call their MEPs right now and tell them so). This stuff didn't concern us two years ago, and it's a bit of a headache. And our network of web servers requires constant maintenance because of the huge demand.
Overall, though, we've been able to make the transition from "niche" to "popular" project fairly easily, thanks to an organizational and development structure which is designed to grow with the size of the community (as all OSS projects should), combined with our years of experience being a multi-organization project.
OSDir.com: As the number of users has grown, and with new Windows users has the community or the project had to alter the way it provides support? Have more users stepped in to help?
Josh Berkus: Well, one of the really successful things about our project, which I think comes from our completely open model, is that the number of people providing peer-to-peer help has scaled with the number of users. There's
quite a few people who I was helping learn how to use EXPLAIN two years ago
who are helping other users now. So mostly we just keep spawning new mailing lists and IRC channels.
Amazingly, Core Team member Tom Lane somehow manages to answer thirty or forty e-mail pleas for help every day and still write more code than anyone else. At some point, we'll hit the "Tom Lane Scalability Limit", but we've not found it yet.
The only transitional strain has been helping Windows users with Windows-specific problems. We have thousands of new Windows users, and they're almost all novices, often not just to PostgreSQL but to SQL databases in general. In eight, nine months, some of those users will be experienced and will help others, but right now there's a lot of "Hmmmm, I dunno, have you asked on pgsql-win32-hackers?"
Steve Mallett, Founder and Managing Editor - OSDir.com
|
|