Open Source Database Underdogs 154
implex writes "Interactive Week had an article called "Data Underdogs" which they compare offerings of present Open Source Databases with present commercial offerings. In one part they mention ...On the other hand, MySQL developers now have a much-needed transaction management system: NuSphere last month made its Gemini transaction manager for MySQL available as open source code on mySQL.org, a site that the company recently launched. Complicating matters, though, is NuSphere's blood feud with MySQL AB, a Swedish company that runs a competing open source development site for MySQL code at www.mysql.com. No mention of the fact that MySQL AB actually created the product was interesting."
Re:Versus OpSys (Score:2, Interesting)
Take this over to comp.databases. There you will find a small, but extremely vocal, crowd of ODM developers with a habit of completely failing to learn relational theory. That, I suppose, more than anything else is the worst -- they dub their products 'post-relational', without ever learning what 'relational' is.
More importantly, you must learn the distinction between data models and programming languages. See my previous post for more details.
Open Source Databases (Score:5, Interesting)
The FACT is that these databases are excellent solutions to a large number for MOST database problems. Sure, like all DBMSs, they can always use more features. But I don't want my DBMS to turn into an uncontrolled monster like Oracle.
For 99% of the applications out there, Postgres and mySQL fits the bill. If you're doing large scale distributed payroll using SAP, then I suggest you go with a big name...
But if you're an average-sized business, Postgres is a full-featured solution today. It is an inexpensive, fully-capable solution.
If you're into writing Oracle PL/SQL, a proprietary procedural extention to SQL, go with Oracle. (Note: PL/SQL doesn't work with Sybase or DB2 or anything else.) If you're into TransactSQL, another proprietary SQL extension, go with Sybase. Once you get into TransactSQL, you'll NEVER migrate out without expense. In fact, my shop, an Oracle shop, doesn't PERMIT developers to use the PL/SQL ewxtensions. We learned our lesson after migrating from proprietary MS-SQL-Server extensions to Oracle!
And if you need a big company to support your 20,000 person payroll, go with IBM's DB2. Again, another fine DBMS.
But for the average shop? Save your money and go with PostgreSQL.
Re:One thing the article didn't mention . . . (Score:3, Interesting)
One of the things that I like best about PostgreSQL is the fact that the developers are brutally honest about the software. The core PostgreSQL developers have always been quite frank about which parts of PostgreSQL were ready for production, and which parts were kludges, or were largely untested. The problem with commercial databases, even good ones like Oracle, is that the people who know where the rough edges are aren't talking about them. That sort of honesty goes a long way towards building my trust.
PostgreSQL has an amazing featureset, especially considering its price. I think that fairly soon Oracle is going to wake up to the fact that the database is becoming a commodity market, and quite frankly, they aren't likely to be competively priced.
OS DB 3% - can that really be? (Score:3, Interesting)
Did this number strike anyone else as too low? This is the first time I have seen any percentages on OS DBs. Alright, 3%, but of what? Does this mean that less than 3% of all bytes stored in any database are stored in an OS DB? That may be, but I cannot believe that less than 3% of all databases running are OS.
The thing is, when I started studying computer science, we only ever worked on mSQL boxes. My first job used Postgres and the second used mySQL. Anything I work on myself is mySQL. Granted these jobs have all been webrelated, but when you think about how many ISPs offer mySQL/Postgres preinstalled (not to mention linux distributions, if that counts), 3% seems rediculous.
Well I suppose MS Access runs on one or two computers out there... that might raise the non-OS score.
Creating dynamic Web sites with PHP and MySQL (Score:1, Interesting)
DB2 v PostgreSQL (Score:3, Interesting)
I've moved a major (~8GB) database from DB2 to PostgreSQL for a client. It runs faster and is easier to feed and administer now. I'm in the process of moving a similar-sized database and app from MS SQL Server to PostgreSQL for the same reasons (plus the openness of PostgreSQL and Linux).
I really like DB2, it's very powerful, robust, and scalable. But it requires a fair amount of admin expertise and time. Not so much as Oracle, but much more than PostgreSQL.
What, frankly, suprised the heck out of me was the fact that nearly all of my queries (this is an audit system, OLAP, not OLTP) ran between two and four times faster under PostgreSQL. That adds up pretty quickly!
As far as the application development support infrastructures, I'm not really sure what is meant by that. The current implementation of stored procedures in PostgreSQL falls short of what DB2 provides, I'll grant. But support for C, Java, Perl, PHP, Python is all there. It's a pretty high-speed/low-drag setup, IMHO.
The set of problems for which PostgreSQL is the best solution is expanding pretty rapidly. I won't pretend that it's the be-all RDBMS, I don't think such a thing exits. I would say that it's worth a serious look for many situations.
Gordon.
Re:InnoDB (Score:3, Interesting)
It's a pretty tall-order, but it lives up to it. Our internal benchmarking tests for our application purposes show it to be about 7x faster than an identical PostgreSQL 7.1.2 solution. I've seen reports on the mailing lists that it can be up to 18x faster. You also get the simplicity and maturity of MySQL. The InnoDB benchmark page has their own benchmarks, which pretty much mirror what we've seen internally.
Just a quick look at the benchmarks link tells me that they have fsync turned on on Postgres. What exactly is fsync? Every time Postgres touches the disk, it sync()s. Slow? Hell yeah. But you won't lose data in the cache. It's turned on by default.
I realize that Postgres isn't the fastest in the world, but it's not 7x slower on 100k inserts. That's just bad benchmarking. Deceitful even.
If fsync is not on, I apologize. However the link mentions no performance tuning other than buffer pools and log buffers. If Postgres is defeated by 7x (18x?!) in a fair test, I'll concede. However this looks like the MySQL testing benchmarks on mysql.org; bullshit, plain and simple.
Re:InnoDB (Score:3, Interesting)
That might be the understatement of the year. InnoDB touts itself as the "fastest disk-based database" currently on the market. It's a pretty tall-order, but it lives up to it. Our internal benchmarking tests for our application purposes show it to be about 7x faster than an identical PostgreSQL 7.1.2 solution. I've seen reports on the mailing lists that it can be up to 18x faster. You also get the simplicity and maturity of MySQL. The InnoDB benchmark [innodb.com] page has their own benchmarks, which pretty much mirror what we've seen internally.
Of course, MySQL has other drawbacks, namely that it doesn't support triggers or table inheritance or some of the more complex nuances of standard SQL, but the 95% of stuff it does have is very fast, and the other 5% can be handled in code. MySQL isn't popular because it's open-source, though. It's popular because it's good, free, and most importantly, extremely easy and intuitive to use.
Focus on profits (Score:2, Interesting)
OSS flies in the face of American ideologies, and this is just another example of big corporations not seeing the value.
Certainly Oracle is much more robust than MySQL right now, but I think the OSS ideology of trying to make the best product will eventually beat out the ideology of trying to squeeze as much money as possible. Technology will prove to be the end of traditional free-market theory, I think, because there is no longer a solid commodity with value. Things can be copied, so value has to be placed on the creators, not the product.
Re:Versus OpSys (Score:3, Interesting)
Yeah, all the companies would immediately say "Let's base the future of our business on new and untested technology! Better yet, let's buy it from an unknown vendor!"
Please. The reason relational databases are still very much the dominant technology is that they work, they work well, and they've been working well for decades.
Versus OpSys (Score:5, Interesting)
The above is a quote from senior marketing director Bob Shimp, from the article. I will give him the Web Server - which is not to say that it is not complex, but likely not as complex as a robust relational database. I cannot do the same for the OpSys. There is a dramatic difference in the levels of complexity between a monolithic single-user non-multitasking operating system (such as DOS) and a multiprocessing distributed parallel asymmetric (etc etc) OpSys. The quote is not grounded in any sort of evidence, and I have serious doubts as to whether the 'marketing director' would have ever encountered a kernel that did not come from a bag marked 'Orville Redenbocker'. It is simply misguided and misinformed, and the general intent seems to be in undermining confidence in Open Source DBs. (... furthering the myth that open source is 'unreliable'.) Threatened? He likely should be.
I'd like to see an object data model (ODM) open source database come into the scene. Now that would cause a ruckus, challenging both the bottom line and validity of the relational model!
Databases more complicated? (Score:2, Interesting)
Somehow, Oracle is saying that the Open Source comunity is not 'capable' of producing a dominant database...
Re:One thing the article didn't mention . . . (Score:3, Interesting)
My old boss had a saying:
Oracle is nice, but it is completely overkill for most projects. PostgreSQL has many of the same features, including all of the referential integrity features that make Oracle so nice to develop for, and it comes with a fishing boat price.
DB Maturity (Score:2, Interesting)
We should remember that oracle & db2 have had over 20 years to get to where they are now. Have a look at this article [joelonsoftware.com] to see what I mean about maturity of products.
However the open source community has several advantages and disadvantages over the commercial players. 1. we dont have all the legacy bloatware which makes the commercial offerings so large 2. we're able to design using current best practice, not something which was dreamed up 20 years ago and no longer applies (no I'm not talking about the relational model but things like distributed storage, sans, nas etc).
However, we also don't have the guarentee that the original developers will still be here in 10 years time, working on the software and adapting it for new needs. Admit it, how many people are prepared to dedicate their careers to a single piece of software? not many. so can you understand why commercial companies are less than eager to use open source for critical/production systems?
What is a relational database? (Score:2, Interesting)
Is something like PLSQL a mandatory part of something we call a relational database?
Oracle has a maximum view on relational databases, because it is their instrument to dominate adjacent markets; just as the OS is for M$.
PLSQL is something created for the benefit of Oracle, not for the benefit of the customer, who gets stuck in a proprietary language and horrible design consequences.
fsync (Score:2, Interesting)
As for data lossage, well, there's a lot to discuss about on-disc caches and power supplies, SCSI vs. IDE. The best guarantee against data loss is still a big-ass UPS and some really fscking attentive operators.