IBM Invests In MySQL/Oracle Competitor
stoolpigeon writes "IBM has made a move to support open source RDBMS PostgreSQL by investing in EnterpriseDB, a company that supports PostgreSQL as well as selling their own proprietary extensions to the database product. IBM participated in a $10 million funding round, though the article doesn't say how much they invested. In the past EnterpriseDB has primarily advertised itself as an Oracle competitor, though the article says, 'Derek Rodner, EnterpriseDB's director of product strategy, explained that Postgres Plus 8.3 also adds in new application quick starts which are supposed to help with installation issues. They will also help in EnterpriseDB's battle against MySQL for open source database supremacy.'"
Interesting. EnterpriseDB was also in the news today for its partnership with Elastra, a startup that announced a "cloud server" that lets companies quickly create database applications on Amazon's utility computing platform. "In the future, enterprises will view massive capital investment in on-premise server infrastructure to support database applications as entirely optional," said Bob Zurek, chief technology officer of EnterpriseDB, which uses Elastra to run its EnterpriseDB Cloud Edition. Maybe all that IBM money has their head in the clouds.
http://www.postgresql.org/docs/faqs.FAQ.html#item1.1
PostgreSQL is pronounced Post-Gres-Q-L. (For those curious about how to say "PostgreSQL", an audio file is available.)Uh. Because we actually do have a product like this?
OpenOffice.org has support for pulling data from a database.
It also has support for a forms-like interface.
It also has it's own vb-alike language. (Still in development perhaps, by the looks of it)
There are also plenty of other tools. RealBasic, etc.
As the CTO of a rapidly growing, million-dollar company that provides ASP-model information management software, I can attest that PostgreSQL is just... awesome.
It quickly and easily scales into the hundreds of millions of records with good support on commodity hardware and incredible reliability. It provides excellent data-integrity checks - it's like programming with a safety net built in! Its license is open to commercial development, the support is great, and rarely needed. We rely HEAVILY on foreign keys, constraints, and the like to ensure clean data, with a schema now at almost 200 tables, fully normalized. PostgreSQL handles 12-table joins with flair. Bonus - its syntax is highly compatible with ANSI SQL, meaning that porting a project developed on PG will easily port to Oracle or DB2, even when you use a rich database schema!
Could it be better? Yeah - replication options are weak, especially in our environment, where we have a database schema that changes daily. But even in this case, this is mitigated by hourly database snapshots created a la cron - the performance hit is minor, and the recovery time in the (very rare) event of a failure is quick. And as a former sysad, I can attest to the number of times MySQL replication got it all wrong and had to be rebuilt from scratch.
Really, I just don't understand why MySQL still gets all the press - in nearly every metric that matters, PostgreSQL wins hands-down.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
I believe DB2 manages more data than Oracle, whereas Oracle has more installations. Disclaimer: I work for IBM. The thoughts posted are my own, and do not necessarily reflect those of IBM.
The subject of this article, EnterpriseDB, is trying to target this market with GridSQL. As it's new in it's current form, impossible to say how reliable systems built with it will be quite yet. Those looking for reasons behind the IBM investment might consider whether GridSQL might one day talk to DB2 databases as well.
The closest fully open-source PostgreSQL solution to your requirements that's been around a bit is pgpool-II. It think it's still too immature to be considered five-nines quality though, and there are some restrictions you have to observe. A PostgreSQL replication solution that is very robust and proven is slony but it's not a load-balancing solution in the way I suspect you want.
There's also the Greenplum Database, which isn't free or open-source but is rooted in PostgreSQL technology.
Good enterprise-grade clustering with load-balancing is still on the PostgreSQL work in progress list rather than being here right now. I expect the core infrastructure piece needed to really make it work well (support for read-only warm-standby slaves) will make it into PostgreSQL 8.4 and be released around a year from now. I started a comparison page of the replication solutions currently available that's on the PostgreSQL wiki now that is trying to track progress in this area. Much like core PostgreSQL support for enabling replication, it still needs some work .
I basically agree with your comment. Actually, I did a lot of search recently for application builder (which run on windows) for PostgreSQL and have the following findings:
:P
1) OpenOffice.org: Very poor scripting ability... wait for 3.0
2) pgaccess: Access for PostgreSQL. Looked promising, with Form Editor, Report Editor etc & scripting with TCL. But the project is dead and website is recycled.
3) bond (http://www.treshna.com/bond/): Looked interesting but I could not run the windows version... never tried linux version
4) rekall, knoda: both are database frontends for KDE. Looked interesting. I hope they will come with KDE on windows
Also, if your objective is to find something free (as beer), and have plenty of resources, you can have a look on Oracle XE+Application Express. Looks a bit strange at first (with a non-WYSIWYG form builder), but much better after one understand its design concept.
I think the EnterpriseDB extensions are for companies currently using Oracle who want a cheaper alternative. They do not affect the core Postgres development.
Note that MySQL AB is also free to distribute proprietary extensions to MySQL, since they own the copyright. And this is much more likely to affect MySQL core development, since you have the same company maintaining the free version and trying to sell proprietary addons.
-- Ed Avis ed@membled.com
The problem is that the client lib, which applications link with when they need to talk to mysql is also gpl. So I i write a
c++ program which connect to mysql, I need to release my application under a gpl compability license.
MySQL is a database that is very well suited to running a web application. That's why. Many web apps are generally going to have many more reads than writes. Additionally, the writes tend to be pretty simple and not require complex locking mechanisms.
E.g. my photos website uses gallery2 which works easiest on the LAMP stack. The main database queries are simple - what albums are there, does the user have permission to see them, what photos are in this album etc. The updates are similarly easy - add a new album, add a new photo, add a new user. For this, MySQL is perfect, simple and fast.
However once you start writing more complex systems with tougher constraints things become a lot harder. Typically, you have a record in a state that needs notifying to another system. You need to read that record, send a message to the other system and then modify that record to say the message is sent and the other system then has control over it. For this you need the various locking mechanisms and guarantees from the database or the two systems get out of line. MySQL just isn't the database to use for that sort of application.
LOAD "SIG",8,1
LOADING...
READY.
RUN
Why PostgreSQL Instead of MySQL: Comparing Reliability and Speed in 2007
I'll have a 2008 update out soon now that PostgreSQL 8.3 has been released.
Or complex joins, multi-level joins, or functions that return recordsets (essentially "efficiently-parametrized views"). My last attempt at creating views within views resulted in a LEFT OUTER JOIN somehow transforming itself into an INNER JOIN, forcing me to "inline" the entire SQL query into a single view. Oh yeah, and the performance wasn't so great, and the MySQL "query explanation" capabilities suck, so I had a much harder time improving said performance.