• On GameSpot: So-called 'Halo killer' gets 23 to life
October 12, 2009 8:16 AM PDT

Is it Postgres' time to shine?

by Matt Asay
  • Font size
  • Print
  • 20 comments
Share

Postgres for years has lived in the shadow of MySQL's media attention: the "boring" database that quietly goes about its work while its sexy Web 2.0 cousin wins the popularity contest.

Recent data from the Eclipse Foundation, however, suggest that Postgres may be ready to make significant waves in the enterprise, even if it doesn't make headlines.

In a recent letter to European Union's commissioner of competition, former MySQL CEO Marten Mickos stressed that MySQL's target market is the emerging Web database market and that the enterprise IT market was never really a source of strength (or focus).

Postgres is the opposite.

Postgres is an enterprise Java database, more suitable for carrying corporate data than the Web's consumer data. According to a 2009 survey by the Eclipse Foundation, MySQL (27.7 percent) and Oracle (27.3 percent) were the top-two databases used by those surveyed, with Postgres registering a respectable but still distant 9.9 percent.

Given that Oracle database users are far more likely to use Java as their programming language to develop server-centric applications, while MySQL users are three times more likely to use PHP as their primary language (17.4 percent of those surveyed use it, versus 5.4 percent for all users) to builde RIA/Web applications, Postgres is clearly more Oracle than MySQL.

Granted, the Eclipse community is traditionally Java-centric, so it's not surprising that Java would be prominent among its developers. But it's also the case that enterprise IT remains a Java/.Net market, and in such a market Postgres could be poised to boom if it can muster sufficient marketing to make its message heard.

This is where EnterpriseDB comes in.

The MySQL community would not be as well-developed as it is without MySQL, the company. MySQL AB has funded the overwhelming majority of MySQL database development, but it has also provided the marketing muscle to make a name for the Web database.

Postgres has traditionally been a standalone, organic open-source project with little concerted corporate involvement. EnterpriseDB has started to change that, but for too long wrongly fixated on competing with MySQL, a database that serves a different market and different developers. The company also spent too much time talking about Oracle migration technology, rather than focusing on why Postgres is a great database.

That may be changing.

Postgres just released version 8.4 of the venerable database. In EnterpriseDB's discussion of the release, there's no mention of Oracle, MySQL, or any other competitor. Instead, EnterpriseDB seems to be focusing more on its commitment to Postgres development, adding significant enterprise hardening through its open-source Postgres Plus distribution.

It's a welcome change, and one that could position Postgres to take a bigger share of the enterprise Java database market--not because it's cheaper than Oracle or more open than MySQL but because it's a great database in its own right.

That's the right messaging for EnterpriseDB...and Postgres.

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can follow Matt on Twitter @mjasay.
Recent posts from The Open Road
Novell's quarter crumbles, but a new market beckons
Zemlin: 'Industry transformation depends on Linux' (Q&A)
In mobile, do developers or consumers matter most?
Open source: The money is in the cloud
Google, Red Hat represent tech at Obama jobs summit
To troll or not to troll, is that the question?
Newsflash for GE, you're already using 'risky' open source
Why Microsoft should open-source Internet Explorer
Add a Comment (Log in or register) (20 Comments)
  • prev
  • 1
  • next
by Sortova October 12, 2009 9:50 AM PDT
"Postgres is an enterprise Java database"?

PostgreSQL is written in C.
Reply to this comment
by EmbSysPro October 12, 2009 9:50 AM PDT
My company uses PostgreSQL exclusively for both web and back-end office work and interestingly enough you are pretty close to explaining our reasoning for doing so.

Although PostgreSQL has language binding s for most of the popular web languages we use Java and Python for web and back-end office work and C/C++ for embedded development.

For us PostgreSQL has proven to be an excellent choice for many reasons not the least of which is that it scales very well. I am glad to see it get more attention.
Reply to this comment
by bedney42 October 12, 2009 9:50 AM PDT
Matt -

Postgres is a 'Java database'? This makes it sound like Postgres is written in Java or something... (only if you want stunningly slow, piggish performance...)

Uh, no. Postgres has been around a *lot* longer than Java.

You are correct in that Postgres is finding a lot of traction in enterprises which tend to use Java, but the database itself can be used from many languages and, in fact, is kind of unique in that stored procs and triggers can be written in a variety of languages. It also has a whole host of unique features that make 'object persistence' much easier to achieve than in traditional SQL-92 databases.

I agree that its nice to see Postgres getting its due in the marketplace after being overshadowed so long by MySQL. Postgres is used in many more places than folks would imagine.

Cheers,

- Bill
Reply to this comment
by ewsachse October 12, 2009 10:15 AM PDT
Here we go again. Another uninformed poster who assumes anything written in Java has "stunningly slow, piggish performance".

If you only knew what Java can do.
by bedney42 October 12, 2009 10:47 AM PDT
ewsachse -

Oh, I know well what it can do. Been using it since 0.9 release in 1995. Trained people on using it in 1997-1998. Finally swore off of it a couple of years back.

I also know well what it cannot do - like trying to write performant servers. You might attribute that to my lack of skills - but I've been on projects where folks a *lot* smarter than me were trying to write performant servers - didn't happen.

Came to the conclusion, after many many years of trying to get Java to do all sorts of various things, that it wasn't really good at any of it, so I chucked it aside. Went back to C/C++ for performant servers, and Python/Ruby for the app stuff.

Cheers,

- Bill
by markab21 October 12, 2009 11:16 AM PDT
Bill -

Interesting comments re: java. If I can inject, i'd like to add what you said.

I too have been writing Java code almost exclusively since the mid-late 90's. It's been the core-foundation of 3 ventures that i have been a part of. It's a tool, but one that has been ultra-reliable and tho cumbersome, predictable and reasonably easy to manage. Java coupled with Postgresql has enabled to create truley create-deploy and forget systems. I've got various systems that have been 'just working' for years, which we are still using internally.

But with all that said, in the last 2 years, we've shelved our Java tools and have moved onto the Ruby on Rails train. Our lead engineer is a long-time java programmer, but one of the authors of Orielly's Ruby on Rails books. We've had a LOT of success in rolling out, quite rapidly solutions for our internal and external solutions.

Now, with all the joy of having rapid development, it's come at a bloody cost. The RoR applications are much more brittle. Various changes to various gems, changes to ruby itself and rails is still under massive internal change. In the end, the restful nights of deployed java apps are now replaced with semi-regular outages due to various scalability problems, (I'm sure part of the problem turned out to be poor design decisions on our part, but not always).

The lack of a decent and highly scalable enterprise-capable deployment stack, (and apache w/passenger doesn't count as one) has made things a lot more of a challenge.

How we've dealt with the issue is throwing a LOT more hardware at our solutions that the equivalent java stack would require, and much more difficult upgrade/deployment cycles.

We've paid a huge price for leaving Java, in hindsight I'm still not convinced it was the right decision. But for now we'll live with the fact that we can roll out buggier software faster. :) I'm still secretly hoping that JRuby will become an acceptable reality to where deploying into Glassfish/Resin/Tomcat is actually stable and not fringe.
by halfNakedPappy October 12, 2009 7:09 PM PDT
markab21,

You should look into using Grails (www.grails.org). You can write your code in Groovy or Java and get all the benefits of RoR. It's built on top of Spring and Hibernate . It provides a powerful solution that is deployable in any Java application server (Tomcat, JBoss, Glassfish, Jetty, etc.)
by joshua_k October 14, 2009 1:19 PM PDT
markab21,

Did your company investigate Django before deciding on ROR? Django is to Python like Rails is to Ruby (or Grails is to Java). There are quite a few blog postings demonstrating the capability of Django scaling; here are a few:

http://stackoverflow.com/questions/886221/does-django-scale
http://www.davidcramer.net/other/43/rapid-development-serving-500000-pageshour.html

As an added bonus, Python + Django is far less fragile than RoR.

Best,
-JK
by pentest October 19, 2009 11:54 AM PDT
If you knew what you were talking about you would know that Java often beats C and C++ because of the run-time optimizations that are possible(EX: runtime loop unrolling and branch prediction) in a VM and not possible in a compiled language(you often don't know how many loops are likely to be executed until runtime). I would explain the technical details it would likely be over your head.

I am a huge fan of RoR, but it doesn't scale easily, is a pain to deploy and Ruby is 100-300 times slower than Java is(Python, PHP, and Perl are about as slow as Ruby,though Python is pretty decent usually). Mongrel is extremely fast but would be faster written in java, though it would be a lot more source code. Of course lines of code do not imply anything about performance.
by Double Compile October 12, 2009 9:51 AM PDT
The statement "Postgres is an enterprise Java database" is slightly misleading. PostgreSQL itself is written in C, isn't it? It just so happens that enterprise Java applications take advantage of PostgreSQL.
Reply to this comment
by ivannovick October 12, 2009 11:45 AM PDT
I second this point.

Postgres really has no association with Java that i know of.

Ivan
by pentest October 19, 2009 11:55 AM PDT
Don't bother explaining that to Matt as he has no technical knowledge.
by Random_Walk October 12, 2009 9:53 AM PDT
Actually, I'd been wondering about that for awhile now. PostgreSQL has a LOT of features that MySQL simply doesn't have - two-way migration, decent internal housekeeping, etc etc. It's pretty solid in and of its own right.
Reply to this comment
by yacahuma October 12, 2009 12:20 PM PDT
java sucks. php rules. ruby is a nice toy.
Reply to this comment
by pentest October 19, 2009 12:00 PM PDT
LOL

PHP is a beginners language,full of security, consistency and perform issues. You can write web back-end in PHP and that is about it. Java and ruby can be used for literally everything. Web, desktop, systems, servers, embedded(java to a lesser extent than Ruby), multiprocessing, etc, etc.

Java is solid, if not a little clunky,and Ruby is arguably the most elegant language in existence.

Java and Ruby as so far above what PHP can do. Java rules the enterprise roost for a reason, although I tend to use Python and Ruby over Java when I can. But I generally don't do API monkey programming(which what most of EE programming is), if I did I would probably spend 100% of my time in Java.
by odubtaig October 12, 2009 1:26 PM PDT
It used to be that MySQL was fast while Postgres was featureful. After ructions with the contribution copyright reassignment along with the apparent two-tiering of distribution of MySQL and the performance improvements of Postgres combined with a more open development process (it may be BSD but at least you're not giving away your ownership of your own code) the latter has been gaining more favour in recent years with numerous projects adding support alongside that for MySQL.

Now, run-on sentences asides, I've mostly been seeing this in CMSs from my own point of view (like Joomla and Drupal) but it doesn't surprise me that it's been gaining ground elsewhere.

Of course, it's BSD license does allow it to be closed off by proprietary companies which I can't help but see as a downside considering all who have contributed and will see nothing of such a company's profits but hopefully the core project will stay strong.
Reply to this comment
by richard993 October 13, 2009 1:37 AM PDT
What we really is a project for which no single entity have direct ownership or control so that control cannot be transferred or sold from one company to another or from one group of greedy developers (such as the MySQL founders) to a large corporation (such as Sun or Oracle).

I don't exactly who owns Postgres today but the history shows that it started from Berkley and that Bruce Momjian is the co-founder. One hopes that what has happened to MySQL will not happen to Postgres, and that Postgres will not be sold off once it gains momentum.

Looking closely at Postgres we can see that one of the creators spawned Illustra and sold that company for a nice big sum. So we can say that one core difference is that MySQL was sold off, whereas with Postgres, the developer started a new company and sold the new entity, not Postgres itself.
Reply to this comment
by bmomjian October 13, 2009 6:13 PM PDT
There is little risk of Postgres being sold. MySQL was always totally controlled by MySQL AB; Postgres has never had any such a controlling company or entity.
by richard993 October 14, 2009 12:15 AM PDT
Then I sincerely hope that more developers move across from MySQL and start embrasing/contributing to Postgres. A lot of people actually feel very cheating by the whole MySQL arrangement and it goes against the founding principles of GPL and the open source movement. MySQL's transfer of ownership to Oracle would be similar to Microsoft buying Linux.
by wickenby October 14, 2009 2:34 AM PDT
Please forgive the dumb questions:

What's the link between Postgres / Enterprise DB & Ingres.

How do the two (3 ?) compare ?
Reply to this comment
(20 Comments)
  • prev
  • 1
  • next
advertisement

Google hopes to turn the river into a canal

Searching real-time services like Twitter at the moment is like standing in front of a firehose on a hot day: you'll get cooled off, but you'll get knocked over. Google wants to change that.

Will video site Vevo be next-gen MTV?

Vevo is the Web music-video service built by the big record labels with help from YouTube. Can it make an MTV-like splash?

advertisement

About The Open Road

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to the Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is general manager of the Americas division and vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.

Add this feed to your online news reader

The Open Road topics

advertisement
Click Here
advertisement

Inside CNET News

Scroll Left Scroll Right