PostgreSQL - Oracle/DB2 Killer?
dagnabit writes "At Yahoo News, there's a story about a company which is investing in/supporting the PostgreSQL crew. Ultimate goals include "a planned expansion to 120 employees and the ultimate possibility of going public." So that enterprise-class open-source RDBMS may not be too far off after all... "
well, from over here it looks like Postgres is doing fine. Several flame squads have managed to kick the knees out from under the MySQL team (I've seen it on seven different BBS's in the past two weeks). This has piqued my interest, nonetheless.
Let me give you a quick suggestion - change the name. Why? let's take a look at your competitors:
1. Oracle. They have the best name, thus they have the best software. Everybody knows that if you ask an Oracle a question, it gives you the answer. VERY hard to compete with.
2. DB2. Right away, we know what we're talking about here. And IBM has always been a leader in acronymized systems. I can't wait until DB3 comes out!
3. Informix. Looking at the entymology of this sucker tells me it's going to be really easy to get my boss to use it.
4. Sybase. Sounds cool. More importantly, I know how to pronounce it.
5. MySQL. That's right, it's mine. For me. How much more fun can you get. I've got mySQL, you go get yourSQL!
Now, lets take a look at your product: PostgreSQL. Wow. I can't wait to tell my boss about that, as soon as I figure out how to pronounce it. Is it named after some french mathemetician or something? I mean, I get the SQL part, but what is the Postgre? Am I only allowed to use it after I take my Graduate Requisite Exams? I mean, I pass that requirement, but if I hire someone who hasn't taken their GRE's yet will they be confused?
Finally, I see in the threads here that there have been several competing versions about how to spell it: PostgreSQL, Postgres, PostGres, PostgresSQL, and so on. This is a major bug in the postgres source and must be fixed.
Yeah, I agree that this is a problem. A name like
"PostgreSQL" is practically anti-marketing.
I was considering doing a nominalogical fork,
and release a new product based on postgresql
which is completely identical except for the
name.
We can call it something nice and corporate like:
Sure Oracle has a hell of a lot more features than Postgress. It had better since it's more than an Order of Magnitude larger (and yes, I know what that means). However for the majority of database tasks you don't need any of those extra features. In those cases people still go with Oracle for support and a developers infrastructure etc...
It's like the case with Linux a few years ago when companies started to back it for profit. Sure it didn't have all the high-end features of other Unix or the ease of Windows but for many tasks it was more than good enough and for some it was the best choice. However, the boss wants to buy it somewhere even if he can get it for free.
If these people can supply the support and the name branding, then developers can say, "just buy a database from this place". How about similar orgs for SamBa, and KDE. Well, I guess Burland / Corel is becoming that since this Kylix thing will generate pure KDE code on the QT libs.
--= Isn't it surprising how badly I spell ?
The comment about gaining "mastery of the code" must be taken in context. The current team of developers are not the academic folks who originally developed it at Berkeley, and came together relatively recently (over the past three or so years).
/. article reference you mention was NOT entitled "Why MySQL sucks". It was simply a statement as to why the OpenACS team choose Postgres instead. We understand that MySQL fits a narrow niche quite well. We understand what that niche is, and more importantly isn't, much more so than do the developers of MySQL, judging from their documentation (foreign key constraints are almost always only used for documentation, so enforcement really isn't needed? Feh!)
Obviously, being stone-cold to the code at the beginning it took awhile for them to learn and, as they put it, master it.
So the statement made when 6.5 was released was meant as a milestone accomplishment, if you will.
"We decided to take up and fix Postgres. In order to meet this goal we needed to collectively (not individually) master all the code. With 6.5, this milestone has been accomplished."
The original authors and others from UC Berkeley who worked on it in earlier years have moved on to other things. The current team took the code, learned it on their own, and as of 6.5 had made vast improvements and fixed many bugs. 7.0 - released today - fixes even more bugs and makes referential integrity and various other features available.
Regarding memory leaks that cause periodic crashing of the RDBMS, those were almost entirely fixed by 6.5, which was released a year ago.
The
You might as well make an effort to quote the title correctly, even if you didn't understand what the piece was saying.
That site, BTW, is running on Postgres V7.0 Beta (virtually the same version as today's PG release). It was slashdotted. My, oh my, enough to bring strong servers to their knees 'til they beg for mercy. Not this time - the dual P400 running AOLserver, Postgres and OpenACS never had to take off the sweats, much less work hard. It was running several other sites at the time, as well as being used for development that day by its owner, who wasn't even aware of the slashdot traffic until someone pointed out that his piece had (unexpectedly) been mentioned here. He then poked around and realized that the machine was serving lots 'o pages.
Each page served out of that server involves several hits on a nearly 10,000 line datamodel stuffed into Postgres. There is ZERO caching of queries done on that server at the moment. Nada. Each page built dynamically out of the database.
Those who don't think modern Postgres is fast enough for this kind of task ought to step back and think again. Those who think MySQL provides anything like the data safety of a true RDBMS ought to read a basic book like Gray's "Transaction Programming".
if you fill out the form for a free t-shirt on their web site, it asks you what features you want & they hit pretty well what PostgreSQL is missing - good blob support the biggest (and easiest to fix from the developer's standpoint) it'd be nice to see them dig in with some of the other features like replication & clustering.
the big question i have (paranoia alert!) is that PostgreSQL is under a BSD license, so they don't need to release any changes they make if they don't want to. it didn't sound like that would be the case, but is this the first case of an OSS startup working with BSD-licensed code? it's a whole new ballgame compared to GPL.
How does it feel to be a killer? Yes, I realize that you haven't been convicted yet, but let's not candy coat things here. You're a murderer. I know it and you know it. Very soon the court will know it too. I don't care how much you pay whatever lawyers, justice WILL be served. Do you think about your actions before you commit these heinous acts? Are you AWARE of the consequences of your actions?
I used to be really good friends with Oracle. He knew things, and told me when I would find cheese and when it would be brought to me. I loved Oracle as only a man could love a crappy metaphor. We spent almost all our lives together. He had a family, and our kids used to play together.
Then tragedy struck. But you knew that. I didn't hear until a few days later. His wife came over and collapsed crying into my arms. Oracle and all seven of his children had been mercilessly slaughtered. And to make matters worse, you hadn't even left the scene of the crime. You were just sitting there, painting pictures on the wall with the blood, using Oracle's severed fingers as paint brushes. And your style was derrivative of Max Ernst. Don't get me wrong, Dada rocked and I live for surrealism, but try and be original, will you? Do you really think you're going to get anywhere floating on the works of others? oh. Well, yeah, I guess you might.
Anyway, I shall not rest until you are behind bars, getting the beatings and rapings that you deserve. Hell, I've been taking volunteers for the position for the last three months. If any of the audience would also like to brutally beat and rape PostgreSQL in prison, please reply to this post and you will be contacted.
you make me sick. there is no crime worse than databasecide . . .
you've never worked on a real software project have you. Linus said that he does not understand all the source making up the linux kernel. Yet many of still use linux. On big projects it is rare for one person to be able to understand all the code. And if the code is written properly than it really doesn't matter.
It has been statistically shown that helmets increase the risk of head injury.
I am probably stepping out on a limb, but here it is: the EST development team evaluated a variety of embedded databases for use in BRU Professional, everything from plain old 'gdbm' to embedded Oracle. PostGreSQL beat them all on features and reliability, and lagged only slightly in performance. It has taken five years, but PostGreSQL is a winner.
Oh, my PostGreSQL wish-list:
- Replication. Right now, replicating PostGreSQL databases is a pain in the @#$%@. I end up manually replicating them -- I have a 'modified' timestamp in every record, and my database routines timestamp that flag every time an 'insert' or 'update' is done to the database. Then I can do a simple query to pull out all the records changed between times and , and replicate that way. But that's a major pain in the @#$%@.
- Hot Backups. Right now, we have to shut down PostGreSQL when it's time to back up the PostGreSQL databases themselves. Pain, pain pain.
- Larger maximum record size. I believe 8192 bytes is the biggest record you can do with PostGreSQL at the moment. Doesn't bite me in my particular application, but someone who wants to keep big texts in PostGreSQL might be bitten. (This is being worked on, BTW).
- Faster write speed! In fairness, this is being worked on. I haven't had a chance to benchmark PostGreSQL 7.0 yet, so I don't know whether the changes made it there.
- *INTEGRATION WITH LDAP!*. I want PostGreSQL to be able to authenticate against a LDAP directory! This business of having both a Unix password, and a PostGreSQL password, is for the birds!
Someday. Someday. Oh well, back to doing encrypted network connections again (sigh... talk about something that's a pain in the #@$%@ to debug-E
Send mail here if you want to reach me.
The PostgreSQL team has come a long way. They inherited a codebase with known bugs and some fairly serious failures. They have worked hard and have turned the quirky Postgres of yesterday into a powerful and dependable tool. Anyone who has used past versions of Postgres will tell you that the latest versions are a completely different beast.
PostgreSQL 6.5 has been out for nearly a year, and the 7.0 release will be out any day. In fact, I am currently running one of the release candidates in production because of the added performance. PostgreSQL has a full set of reqression tests, a rich set of features, a dedicated development team, and an extremely helpful mailing list.
What PostgreSQL doesn't have, however, is a marketing department that is going to feed you pap. The developers are perfectly willing to tell you which parts of the database are in a state of flux. Historically the list of features that were less than stellar was fairly long, but that is no longer the case. The flip side of the PostgreSQL team's honesty is that, when they tell you that a feature is ready for prime time, you can bet that it is indeed ready to be put into production. How often have you put commercial software to the test only to find that some of the new features are lacking? With PostgreSQL there is no guessing which parts are ready to go.
Clearly the PostgreSQL database isn't right for everyone. But it's no slouch either. And you only As I mentioned before I am currently using it in production and am quite happy with it. I have several tables with millions of rows in them and performance has been more than acceptable. I have been very impressed.
The PostgreSQL mailing lists are full of developers that have migrated from MySQL. MySQL is great for 90% of database tasks, and it has the advantage of being very fast at straight selects, but if you need ACID features then MySQL isn't going to get you there. PostgreSQL will, however, and it also throws in a raft of useful features like triggers stored procedures (in 4 different languages including Perl and Tcl), views, etc. PostgreSQL's support of subselects could very well improve your application's performance.
Not too mention the fact that PostgreSQL is truly Open Source (BSD style license) while the current version of MySQL is clearly not. That is why you get announcements like this for PostgreSQL and not for MySQL.
I am a bit skeptical about this particular announcement myself (since I hadn't heard anything to this effect on the PostgreSQL mailing lists), but whether this particular venture pans out or not it will almost certainly mean that some more PostgreSQL code will be generated.
Heck, it might even make it into 7.1.
Inquiring minds want to know. It was in Perl, wasn't it? :)
Cheers,
ZicoKnows@hotmail.com
Its possible that the even the mighty Oracle's developer team doesn't know what everything does.
I've seen Oracle copyright notices going back as far as 1975 or so, which implies that their codebase is 25 years old. Are any of the original Oracle developers still on the team? How many of their current developers have even been there more than 5-10 years?
Couple a large project with even modest turnover, and you're bound to have sections of code that few (if any) current developers are familiar with. It's probably almost unavoidable. Why do you assume that commercial databases don't have the same problem?
At least the PostgreSQL developers admit they didn't fully understand the code they were maintaining until more recently. They say they are familiar with all of the code now. Chances are that puts them ahead of Oracle in that regard, not behind. Keep in mind that PostgreSQL derives from Postgres95, which derives from Postgres, which was an academic research database. That's a long history to catch up on. Give them some credit for managing it at all, and for being honest about their progress...
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
It looks that we are getting too much biased on the prospect of all-open-source "bright future". As one poster noted, we don't need Postgres for being a kill-app. Frankly I am no big expert on database managers but here there are a lot of people that work and study several databases managers. Starting with MySQL, Microsoft SQL, PostgresSQL going up to Oracle, DB2 (and even running over other, non-relational, database systems). And I respect their general attitude to these systems, as they have a big professional experience. They mostly scale RDBMS in this way (on growing popularity/manageability/features):
1. MySQL and alikes - fast and simple database systems. Mainly for a work on the run
2. Microsoft SQL Server - In a "one database" "dedicated" system it rules. However most of them don't like it because every work usually ends in "several databases" and most systems don't run only a SQL server.
3. PostgresSQl - powerful database system but it still has a long way to go. Specially on what concerns its management and features. Along with it some put also Borlnd's Interbase.
4. Oracle & DB2 - High profile database systems. They are the real rulers around here. Specially on what concerns Oracle. They have most things a database developer needs for large databases and their management. However their last versions have become quite "bloated" with features that presently most people consider quite superfluous.
No matter its open-source nature, Postgres is second on the row, along with Interbase. And looking at the comments of most people this is highly accepted as a fact. However I have noted that the "big ones"have become too fat. Besides their price has has being run from astronomic to intergalactic. So people now I see people turning their eyes to Postgres. But not only. MySQL, no matter its primitivness, has run from a near outsider to the second most used system in my neighborhood. Soon it may turn into the most popular RDBMS. For Postgres to run from third/fourth RDBMS into first place, it will need to be more manageable, more well-documented and to have a good support in all sort of interfaces and client systems. And it will have to include some of the features included on DB/2 and Oracle. When they will manage to do this and avoid the present "bloatness"of the major runners, then Postgres may become a kill-app. Until then, it is just a very cool and Big database system. No matter being open-sourced.
The best-commented code is where, just as the reader starts to ask, "What the heck is this?", there's a comment right there that answers the question. But the only way that there's not even a question is when the code is trivial.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
Wow, we're happy to see the response to the initial announcements. I'm Ned Lilly, one of the four employees mentioned in the CNET/Yahoo article. Wanted to say hey, and try and answer some of the questions I've seen so far. Pls feel free to email me directly too- ned@greatbridge.com.
1) PostgreSQL Features. We took about six months to study the open-source world, and have spent a lot of time testing, benchmarking, reviewing code, etc., and in our opinion, PostgreSQL 7.0 is by far the best choice among open-source databases. My personal impression is that some people might have bad memories of earlier versions (I myself actually used it in an earlier business but had to throw it away), but the improvements leading up to 6.5.x and now 7.0 are incredible. And, of course, 7.1 is going be even better :) I'd defer any specific questions about features to the Postgres developers themselves (http://www.postgresql.org/devel-contrib.html) - they're still running the development effort, and will continue to do so.
2) MySQL & Interbase. So that begs the question, what about other open-source databases. Don't want to start a flame-a-thon here, I'll just say that we think MySQL lacks a lot of desirable features (this topic's been exhaustively debated elsewhere), and Interbase, while it might be a good commercial product, isn't yet open-source. To my knowledge, they haven't released the source for 6.0 yet (only binaries), and it's a fair question whether you can create a robust open-source community instantaneously. PostgreSQL has been open-source for many years, and the current core steering group has done a great job at making the code base clean, uniform, and accessible to other hackers.
3) Our Customers. So who are our customers? There's been some good discussion here on that topic already. The short answer is, we've got some ideas, but we're being fairly deliberate in how we verify those ideas. We've done some pretty comprehensive market research on different sectors of the IT world, including 32 focus groups in four U.S. cities, and we think we'll be able to put PostgreSQL (and other open-source tools) in the hands of the people who will best be able to use them. We don't really want to talk in too much detail about our business model at this point - frankly, we're still refining it based on the potential customer feedback we're getting from this research. That process is how Landmark Communications (the parent company) went about building The Weather Channel cable network from scratch, and we think it can set us apart from some of the other open source companies in the market today.
4) BSD vs GPL. More potential flame-bait here, so read carefully... :) Another area we spent a lot of time researching was the area of open source licensing. We like the Berkeley/BSD-style license under which PostgreSQL is now offered; we think it's the simplest to understand (it's free for any use, with no restrictions on what you can do with the code), and offers the fewest barriers to widespread commercial adoption. We've heard from a lot of business types that a GPL-style license scares them when it's touching their proprietary business applications. You might wonder if we're just going to freeload on all the community development work, then take the code, call it GreatBridgeSQL, and fork it off into some proprietary product. That would be the stupidest thing we could possibly do - we are 100% bought into the open source development model, and have no intention of ruining what is working so well. Indeed, we're going to do quite a bit of internal development ourselves - on interfaces, APIs, monitoring tools, and business applications - and everything we write, we're going to throw back over the fence into open source for the community to bang on and improve. We'll do the same to other peoples' code - just like any other member of the community.
5) Business Plans. Some of the press reports have talked about a potential IPO, and people have rightly sniffed and said, yeah right. Let me be perfectly clear on this one: Landmark Communications, which is a 100-year old privately held company, doesn't build companies to do a quick public offering spin-out. The Weather Channel, and weather.com (which has 14 million unique users a month), are both privately held. Great Bridge's CEO, Al Ritter, is the former CFO of Landmark corporate, and is deeply steeped in the old-fashioned notion that companies should probably try and be profitable rather than just ask for more and more public money. We have no intention of going down the IPO road until we're satisfied that we've built a business that can stand on its own two feet, generating real live profits by delivering professional support for open source software solutions. We think, frankly, that a lot of tech support (particularly in the database arena) stinks - and we can do better. We think we've got a good product to get behind in Postgres. And if at some point down the road we think there's an opportunity to super-charge the business through an IPO, we might well do it. But unlike a lot of startups, we don't need the money. Landmark's committed $25 million to this phase of the rollout, and if we can make the case to our corporate bosses for another round of investment, there's more where that came from.
6) Hiring. Yup, we're hiring. We want developers, support engineers, even, er... marketing people. We're talking with a lot of people in the PostgreSQL world already, and will be making some more announcements on that front in the weeks to come. If you're interested, please email me at ned@greatbridge.com.
Thanks...
Ned
These guys don't need to compete with Oracle, DB2, Sysbase or any other enterprise class database. There's a huge market for people needing/wanting a full RDBMS system for small/mid-level database work. PostgreSQL fills this niche nicely. It passes the ACID test; has fairly decent ODBC, JDBC, Perl DBI, and PHP support; acceptable speed performance; and all of the benefits of being an open source project. Now that it will have Great Bridge doing development and offering commercial support, companies will be able to get reliable(read blammable) support for this product. This is great for more open source penetration into the corporate world.
From the article:
As chief financial officer of media company Landmark Communications, Ritter watched his company miss out on a golden opportunity to invest in Linux software seller Red Hat way before its successful initial public offering. Now he hopes to catch the second wave of the open-source software trend.
...
Great Bridge, though consisting of only four employees today, has grand ambitions, including a planned expansion to 120 employees and the ultimate possibility of going public, Ritter said. But the biggest challenge will be taking on giants such as Oracle, IBM, Microsoft, Informix and Sybase, each of which have their own proprietary database programs.
First of all, a proclamation like this seems to me more like jumping on the open source bandwagon and hoping for a successful IPO (with no long term prospects of giving investors return on their value) than as a project that is destined to make Oracle and Sybase quake in their boots. It is particularly interesting that the a company that is supposedly Open Source oriented is stating all sorts of plans about IPOs and such and little or no talk about technology.
Hopefully I am wrong and this will be a company that will give back to the community in spades as opposed to a bunch of opportunists. Oracle databases currently cost several thousand dollars ($20,000 minimum price) while MSFT's cheap SQL server is about five thousand dollars. If a company can be created that will produce software as robust and functional as Oracle software (believe me that is a daunting task) and yet charge only support costs they may well sweep the DB market especially for small businesses. Of course, it will take a phenomenal amount of work (mayhap an impossible amount) for a four man company to compete with a company that has $6 billion in revenues and one of the most robust products in it's area. I wish them luck.
I always thought databases would be a good candidate for Open Source development. Since many (most?) of the users are developer-minded already, getting a community should be easier than getting people to rally around it.
:)
What I *hope* this new company will do, if it truly emmulates RHAT, is hire full time developers for the project. Hobbiest coders have contributed tons to linux (heck, they invented it), but I'm sure the OS has benefited immensely from having full-time people working on it as a day job. I'd like to see the same for postgress.
I also agree with the other commenters who point out that postgress doesn't need to be an Oracle killer. There are plenty of medium to large projects that don't require a full scale Oracle system. Postgress can become an important alternative for people who need more than Access (or, arguably MySQL), but don't need Oracle and don't want to use SQL Server.
My $0.02
Dana