How Real Is The Open Source Database Fever?
J. Misael G. points out a NewsForge article on recent moves by some database vendors to loudly release (some of) their products as open source, asking the vital question "How much open source beer are these newcomers bringing to the database bash, or are they simply coming in and asking where the cups are?" (Slashdot and NewsForge are both part of OSTG.)
Mr. Shimp, get a clue... we're simply not going to buy your pitch without looking at other decent (free!) alternatives.
Sigs cause cancer.
And the only prescription is more S Q L!
When we're done here, baby, you'll all be using gold plated computers.
I'm curious why some submissions carry the disclaimer, "Slashdot and NewsForge are both part of OSTG." Can anyone shed some light on this? Just curious. :)
A blog like any other.
I mean just ask Patrick Volkerding.
Luckily, it seems that the Mayo Clinic can get your symptoms under control.
John.
I think a lot of it is PR. If you take a look at a lot of the advertisements that include the words open source, they use it like a buzzword. It gives me a kinda woozy feeling that I don't like.
The only issue you have to ask is if your making 100k a year as a DB admin do you care if your using PostgreSQL or Oracle.
I predict that you can answer the real issue yourself yet I also see a few saying that the Open Source wins. Now I would like to know if your careers depends upon the choice, which would you choose?
I throughly enjoy PostgreSQL yet at the 100k club I would rather have the support of larger vendors like Oracle or even Microsoft.
It's to make it clear that the relationship exists, and allows you to consider if there may be some sort of conflict of interest. For example, when MSNBC does a story on Microsoft or NBC, they always point out that they're operated as a joint venture between the two.
How Real Is The Open Source Database Fever?
I don't know. Um, so real that CowboyNeal gets dressed up in a white suit for a hard Saturday Night of coding? And rolls his hands wildly one over the other while waiting for the thing to compile?
I'm not as interested in their Open Source beer. I want more of their Open Source speech - not just all the marketing hype we can eat, but shareable code, code, code. I want Postgres transactions in MySQL APIs. I want Oracle's scheduler in Tomcat's JVM. I want to pay them for tech support, so I can get my FrankenBase to work, making me rich, and everyone else wise. Free the source, Larry!
--
make install -not war
I don't see how it is going to pan out in the long term for some of these companies, though.
Jerry http://www.syslog.org/
who keep telling me, that they want their commercial applications re-written with an open source database backend like mysql. I never have the heart to tell them that unless they are actually are releasing the source code for their apps, that they need to purchase a commercial licence
Think you can program? Prove it @ the geek challenges
Other than the obvious mySQL and PostgreSQL, I have tried two others... CA's Ingres and IBM's Cloudscape (which is an embedded DB).
Ingres was originally intended to compete with the likes of Oracle and MS SQL Server, but never had the power or client base. OpenSourcing Ingres looks like CA's attempt to beef up both in one shot. It's not a GPL license, just a chance to peek at the source and maybe help out. The interface that ships is very much like Oracle's.
Cloudscape is nice, but not even as powerful as PostgreSQL.
I think there is a huge market still untapped for open source DB's... especially RDBMS, but alas, large companies are (of course) slow to adopt.
Saying Android is a family of phones is akin to saying Linux is a family of PCs.
mysql and others will.
;) or french way...
grow a dependent base of users, 50K or so, then close source the project and start charging.
that's the american way
The fact that even small companies are paying hundreds of thousands of dollars annually for a SQL database solution just serves to underscrore the disconnect between business managers and information technology divisions. Business managers actually believe they need to spend these large sums to ensure data security and integriy. More so than in any other area of IT purchasing, money spent on DB is totally out of synch with the real underlying cost-benefit equation. These prices were justified back in the days when hardware was primitive and expensive, making state of the art software algorithms worth an order of magnitude more valuable than they are today. With today's hardware, virtually any credible SQL Engine code-base would run the largest corporation. The prices are purely a product of marketing and a huge gap in understanding. wwww.SoftwareObjectz.com
http://www.softwareobjectz.com
The late-1990s media buyouts created so much cross-ownership that every article can contain some hidden corporate bias, stemming from competition/cooperation between parent corporations publishing the story, and the subject of them. When the same corporation is reporting on itself, the story is extremely suspect. The media response has been to favor "full disclosure": mentioning the corporate connection in the story as a disclaimer of "objectivity".
It's not good enough. People are increasing our acceptance of this conflict of interest the more we see it, rather than rejecting it more as it grows more pervasive and therefore more dangerous. Actual competitive conflicts are necessary to get critical interpretations, not just acknowledgement that interpretations might be selfserving propaganda. At least Slashdot has these discussions of stories, in which dissent can be communicated. My favorite system was the P2P "Third Voice", a browser plugin which let the user attach popup sticky notes to any web page, stored in a DB the plugin checked against the "background" page's URL. That way, P2P commentary could effortlessly appear right in the context being presented, without requiring cooperation from the provider of the target content. The project folded, but I welcome its return. Only the flexibility, complexity and scale of the public is enough to compensate for the advantages that centralized corporate media has in lying to us.
--
make install -not war
"Does it really matter to end users?"
The more the merrier. Sure as an IT house looking at all the numerous products out there, will take significantly more time. The end result will be more choice to the consumer than there was before.
Sig it.
From the article:
> PostgreSQL has a much richer feature set but
> has scalability problems and doesn't have
> a company behind it providing
> enterprise-level support;
Bah. What about this? Lots of companies there, and many of the folks involved are core PostgreSQL developers...
The Army reading list
They said that MySQL sucks...now they're open-source, just like us, so their products must now suck also!
What I'm listening to now on Pandora...
Of course he would say that--but the typical consumer interested in F/OSS databases are definitely not the handful of big companies that Oracle sends a team of slick salesmen to do 4 months of PowerPoint just to get one > $100,000 sale. Of what use is the "Oracle model" to the rest of us?
$100,000 is chump change. Entry-level real estate agents, fresh from passing the licensing exam, turn up their noses at those gigs.
A team of slick salesmen and 4 months of PowerPoint start at around $10,000,000, although $100,000,000 might be more realistic.
PS: There is a major division of our state government that has invested about $250,000,000 over the course of eight years on an ERM/CRM suite from SAP and they have, after eight years, precisely 0 [I repeat, ZERO!!!] of the constituent modules up and running and performing any meaningful work.
The Oracle representative is correct in some points. Ingres and Cloudscape are clearly orphanware where CA and IBM clearly saw no need for the database management systems.
But PostgreSql and MySQL are not and have good followings.
...where the open source urinal is.
Based on old Borland Interbase
Help fight continental drift.
... are they simply coming in and asking where the cups are? ...
... new business eco system evolves, they are in doubt, but they cant be idle, they will experiment with the evolving system... and slowly becomes part of the new eco system.
... for ex. M$ can't do this kind of experimentation, BUT M$ believes they are doing that! and ultimately they will be out of the new eco system.
This is the way
The problem here is for the established companies
church bulletin public licence!
Think you can program? Prove it @ the geek challenges
At my company we talked about the all memory database, no one mentioned names, but it was hyped 9000 times faster than Oracle running in ramdisk. Its open source. Maybe someone else knows more than this.
God spoke to me.
http://gmail.google.com/gmail/a-f4aa5a9253-d270c66 579-4f34d6feeb
Next time remove the "&from=rss" from the article's link, please. You might be fooling Newsforge's statistics with a ton of fake RSS hits (hope they check those links have a /. referrer)
<Off-topic rant>the editor of Newsforge really needs to have a word with the author of the article, I say. It is really not necessary to write "so-and-so said" in every single sentence, says me. I say that you only need to mention who said the words when the author/speaker changes. I say that it is very annoying to read that article because of the poor way that it is written.</rant>
flossie
Write now. Defend liberty
(If the project is important/popular enough, like mysql for instance)
This makes it really easy for open-source databases to step-in since there is no lock-in. Later on if you figure out you need a big honking Oracle/DB2/whatever you can easily change your mind.
Like Java makes the OS and HW a commodity these tools makes the database a commodity and by definition commodities ends up being really cheap. And it's kind of hard to find cheaper than free ;-)
My favorite play is to develop on Hypersonic/McKoi and deploy on PostgreSQL. No sweat.
TCAP-Abort
At least real enough to merit a snippy /. article questioning whether the companies doing this are sincere.
Honestly, can anyone, anywhere, ever do anything for the F/OSS crowd without being the target of snide, whining comments? And more important, will the F/OSS camp ever realize how much they hurt themselves with this childishness?
If you have real evidence that company Z is lying about their level of support for F/OSS, then by all means, tell the world and help us all spread the word so we can impact the sales of that company. But this constant witch hunt mentality (as in the countless complaints from some time back that IBM was actually going to (gasp!) make money by promoting Linux) doesn't help the F/OSS movement or computer users.
Missed the subtle reference to a great Christopher Walken gag. Very nicely done, sir.
Commercial license is NOT required for in-house (written and distributed) app running on one server. If we replicate to another server for web access, then we would need a commercial license.
Many small office I.T. managers may now breathe a small sigh of relief, or begin investigating http://www.postgresql.org/
fairly certain that the commission earned by selling $100,000 worth of software beats selling a $100,000 house by a wide margin. But, you're right Oracle clients spend a whole lot more than that on average. I've seen ODBC drivers for Oracle alone go for >$30,000
That's true. I was a little surprised to see this article focusing on databases, because you see this sort of thing across the board in the industry right now. BEA launched an open source framework with the Apache Group; Novell is open sourcing bits and pieces and pushing a strong Linux message (while still banking on its proprietary products); even Microsoft is quick to tell you that its source code is available (for a price, and for whatever it's worth). I actually wrote an article about this for InfoWorld recently, if anyone's interested. In a sidebar, Bruce Perens also contributed some thoughts on when working with open source is beneficial to companies, and when it might make sense to go another way.
Breakfast served all day!
Generic OR systems tend to not take advantage of the underlying DB's capabilities, and in any application where spending the money on a real DB makes sense, throwing all of that away by using auto-genereted OR is a shame.
ODBC was cool, but i think reality has shown that in many cases, changing DB backends just doesn't happen that often. The example you cite, develop in one place and deploy elsewhere, doesn't really seem to have much real world justification, since development SKU's of most DB's are free (i.e. if I'm going to deploy on MSSQL i'll use MSDE or the developer license of full MSSQL that comes free with the appropriate MSDN or VS skus)
OR is also a neat idea, and im working on a product that has done a fair bit in the OR space, but i look at the SQL code we're cranking out and it's a shame compared to what i'd do by hand.
It's a tradeoff I suppose between runtime performance, DBA managability, and DBMS feature use on one hand, vs design encapsulation, design aesthetics, and buzzwordiness on the other side.
Java has tried to make a lot of things commodities, but alot of what's going on in java is layering/abstraction for layering and abstractions sake.
My opinions are my own, and do not necessarily represent those of my employer.
Breakfast served all day!
Wikalong is a Firefox extension which lives in your sidebar. You can annotate any page on the web and any Wikalong user visiting that page will see your comments.
Anyone can edit any comments and you can see all the most recent comments on a web-page or using an RSS feed.
db4objects makes db4o, an object database that went open source about 2 weeks ago.
Fact is that databases are becoming commodity, so the big vendors are going to pretend like they care while hustling their customers for more services etc.
Warning: I am an Oracle DBA. I have been working as an Oracle DBA / developer for 10 years.
I absolutely believe that the open-source database choices out there today (MySQL, PostgreSQL, Sleepycat) are more than adequate for 90% of all development being done, especially the small- and medium-scale stuff. I'm glad that we've moved away from flat-file systems for small-time web work. It has forced developers to understand their data structures, which is a huge step forward for everyone. Developers today have a far greater understanding of their data, and databases in general, than they did 10 years ago. They understand relational models better, they understand abstraction better. That said: there are two things everyone should understand about the way Oracle thinks about databases (and its customers):
1) Oracle exists solely to serve the top end of the market. They're not really interested in anything else.
2) If you can afford it, it pays to start with Oracle first. For small installations, it's not as expensive as you think, especially if you forego the support. Why do this? Because if you find out later that you needed a serious database solution and need to make a back-end change from something like MySQL, you are in for a world of pain.
This is Oracle's bread and butter. I don't expect to be hurting for work for a VERY long time.
All my foes are spelling or grammar Nazis.
"nazi" should be lower-case, since you're using it as a generic noun and not a proper noun. (Spelling or grammar Nazis would be german-language, anyway.)
That's exactly the reason people should stay away from Oracle. Simply because it backs you into the product in a way the conversion is extremely painful and expensive. conversion from MySQL to MS-SQL or a similar SQL complient database is really pretty simple. Oracle is the mongrel out there and should be put to a very public open sourced death.
"guru + MySql > idiot + Oracle any day of the week, for 99 out of 100 common cases"
If you were talking about almost any other pairing of apps, you would be correct. However, I can pretty confidently say that there's no way you could even come up with 100 data management scenarios where both Oracle and MySQL would be appropriate. I'd be impressed if you could even come up with 10.
Can you use Oracle for nickle and dime stuff like small business customer management or a bug tarcking system? Yes, but why in God's green earth would anyone ever want to go through that expense and learning curve?
Can you use MySql to manage the 2.5 million line items that support military operations in the Western Pacific (used to be a supply officer) and balance them off of the 65,000 maintenance items with respect to the 10,000 open orders related to them on any given day? And then can you make it flexible for reporting and integration with other systems? Come talk to me when MySQL's ODBC interface is actually ODBC COMPLIANT.
In the mean time, no ammount of skill on the part of an orange producer will make an apple into a better tasting orange than one that any idot could pick off a tree and hand to you.
I've dirtied my hands writing poetry, for the sake of seduction; that is, for the sake of a useful cause. --Dostoevsky
But doesn't have the track record of HSQLDB among the numerous other JavaDBs that are embedded like McKoi...
You: Oracle sends a team of slick salesmen to do 4 months of PowerPoint just to get one > $100,000 sale.
Joel Spolsky: $75,000 - $1,000,000, sold to a handful of rich big companies using a team of slick salespeople that do six months of intense PowerPoint just to get one goddamn sale. The Oracle model.
Otherwise, your comments were +5 Insightful ...
but i'd never dream of trying to set it up and run it myself - proper DBA support costs more than any database software and it is worth it.
Mysql and postgres are great little databases for non-critical projects, but a well admined oracle system is hard to top.
As others have pointed out, the sticker price of oracle is way less than the cost of the people to make it fly.
Hibernate has totally different SQL translation engines for each database, and does indeed optimize in many cases.
Hobernate itsn't like DBI or ODBC. When you use Hibernate, you don't "write" SQL. You manipulate objects. When you compile your objects, you generate an object SQL mapping that is RDBMS specific - a hibernate PostgreSQL mapping will not transparantly run on a MySQL system, you have to re-generate it.
In this way Hibernate is usually very efficient, and still provides for excellent abstraction.
Does not validate! Try this instead: ...
and not from GPL-twisters
/.-like site, although I bet a few corporate intranet CMSes are driven with Oracle. You don't need Oracle to run your ERP system unless you are a huge multinational comglomerate when SAPDB will do just fine, etc. I'd venture to say that even given Oracle's "stellar support" that in the majority of cases it is not the optimal solution.
PostgreSQL is BSD-licensed not GPL. Open nonetheless. Anyways, yes PGSQL is starting to get support from the big guys.
As for scalability, perhaps it isn't up to some of the tasks Oracle gets thrown at, but it is impressively stable and scalabe given it's FREE in all senses. It might have come late to the game with a real replication solution and features like tablespaces, but from the start it has been transactional and extensible (where Informix/IBM ODS got its "datablades" from) and even 6.x could handle a couple million recordtables on my old P120 with 48 megs of ram without breathing too hard (nothing like MS Access did with the same data...whoa!). I imagine the upcoming v8.0 is much improved and that todays computing horsepower can make it a truly enterprise-class solution.
In any case, Oracle is blindly thrown at solutions where other (often free) alternatives are still well up to the task. You don't need Oracle to run a
It defies all logic, that Sybase, for example, does not "carpet-bomb" developers with the "OpenClient" (not so open) sources.
They do give away client binaries for a handful of platforms, but there is no reason (other than foolishness) to not give the sources away, because some compelling platforms are not covered (like Palm, FreeBSD, anything on amd64).
I even asked some of the Sybase marketing people and no one could offer a reason... There is no real nor perceived (the latter is usually more important) significant intellectual property hidden in the client sources.
In Soviet Washington the swamp drains you.
I contributed in a very small way to Wine (the windows replacement) development early on. In retrospect, I think that database products like Postgresql are going to be the next big open source wave. Licenses for stuff like Oracle can be very expensive. Also, it simply isn't going to take nearly as much to develop products that are highly SQL language and library call compliant with products like Oracle and SQL Server compared to the effort that has gone into Wine. The next big wave after databases are really done well will be I think the various accounting packages. This is an area where lots of shops want a degree of customization/tailoring.
Any idea how Wikalong compares to Opine-It!, mentioned in another post in this subthread?
--
make install -not war
MySQL is not really designed to do anything more heavyweight than lightweight content management (a SQL interface for NFS basically). It has data integrity issues which IMO should even rule it out of e-Commerce altogether or anything else where accuracy of information matters.
THese include:
0000-00-00 is a valid date in MySQL
NUMERIC types are agregated as floats which can lead to round-off errors.
Numbers are truncated if too large to be stored
(Strings are also truncated in violation of SQL standards, but this is not as severe as numbers for obvious accounting reasons).
If MySQL is unable to create an Innodb table, it may create a myisam one instead without raising an error. This creates a situation where you cannot be sure that your transactions are really being rolled back everywhere the application thinks they are rolling them back........
Now, PostgreSQL has no data integrity issues that I am aware of, and the few areas where it handles things in non-standard ways are clearly documented, and the core developers place a huge amount of thought into how to do things right. The level of professionalism in this project is truly amazing.
Firebird is nice too, but PostgreSQL has fewer limitations. These two databases are building the track record you speak of and they will continue to do so. Now with Slony-I, PostgreSQL has a decent, robust, and open source replication solution, I will expect continued interest in this area.
Oracle still has a few enterprise features that most of the open source databases lack-- table partitioning, grid computing (but investigate backplane if this interests you), and a few other options. However, on the down side:
VARCHAR's store NULL's as empty strings (which are not the same thing)(!!!)
PostgreSQL has much more flexibility in development due to the larger number of supported languages for stored procedures.
$$$
Licensing headaches....
Disclaimer: My company (http://www.metatrontech.com) provides solutions for MySQL, PostgreSQL, and Firebird. We will work with Oracle and SQL Server but it is not as much our things since we have an open source focus. We have been running PostgreSQL extensively and have only had problems due to hardware failure.
LedgerSMB: Open source Accounting/ERP
Welcome to /.
... </rant>.
If you want to become a /. html nazi, you will need to use the html codes to create angled brackets:
< and >
I assume that you were trying to write <rant>
However, I *really* doubt that the content of my page would make the slightest difference whatsoever to how well the page in which it is posted validates.
flossie
Write now. Defend liberty
It's nice.
evil is as evil does
all your database are belong to us.
Oracle's got lots of issues from the application developer side of things:
1) Oracle doesn't actually have all of the JDBC transaction isolation levels.
2) Oracle quietly converts empty-string ("") into NULL, making tri-state logic a bear.
3) Oracle's documentation is a lot worse than DB2's, particularly in the message reference.
4) Oracle's SQL syntax is very nonstandard, particularly in OUTER JOINs.
5) Oracle's BLOB requires a custom class to use in Java rather than the standard java.sql.Blob.
6) Oracle doesn't integrate quite as well with command-line utilities. You have to use non-standard SQL stuff inside the script file to pass failure codes, for instance, making it harder to automate an installation.
7) Oracle doesn't have a time data type with sub-second resolution.
If one has the money to afford Oracle, I'd suggest using DB2 instead. It's SQL is closer to the standard, it's got much better support from the Java side, and it is a helluva lot easier to get working with Linux.
I just installed it and took a look; two differences I can see immediately are :-
The plugin you describe sounds a lot like the service a friend of mine runs called gibeo. Except in this case all of the annotations are done with a special HTTP proxy, so no plugins are required to be installed on your machine to make it work. And there is even a method to get it to work with without reconfiguring your browser, just point your browser to slashdot.org.gibeo.net. Last I checked it was a subscription service, tho to be honest I'm only marginally aware of it's present status. Still, seemed pretty cool when it was demoed to me last.
Check it out http://gibeo.net.
END
Else you'd be familiar with The Innovator's Dilemma. And you'd recognize that Oracle is in that wonderful phase where the existence of the disruptive competitor now keeps it from feeling morally obliged to market to its worst customers, freeing it to really perform well with its best customers. This wonderful phase tends to result in improved profit margins and a general rosy glow.
Unfortunately this proceeds the unfortunate phase where the disruptive innovator becomes good enough to go after customers that the existing company would really like to keep. Of course by the time that happens, the process is far enough along that the only barrier to the disruptive innovation taking all of the established company's customers is it becoming technically good enough, and their going through the barrier of leaving lock-in.
At all points in the process the established company has a far better product than the newcomer. However what no improvement to the established company can address is the fact that they are overdelivering to the market. Adequate but cheap beats gold-plated and expensive if you don't need the gold plating. And given that technical progress goes faster than our needs tend to grow, eventually most of us don't.
Oracle is big, bad, and powerful -- fair enough. It's reputation is well deserved. It's also not a single application, but a conglomeration of applications, all of which need to be pursuaded to work together. Since the various limbs of the beast are developed by different branches of Oracle, they mature and are released at various times. Patches come out on an irregular schedule, and my overwrite previous patches, reintroducing old bugs or new incompatabilites. Trying to verify that version x of component a will play with version y of component b in environment c is enough to make one daffy. Babysitting this monster is time-consuming, and time is money. Trying to maintain more than a trivial deployment without tech support is (intentionally, I believe) a fools game. Draconian licensing terms and restrictions combined with the above factors make Oracle EXTREMELY expensive. The local branch of my company (200 employees) drops a tidy quarter-million into Oracle's coffers every year, and we get huge discounts.
I also maintain a few PostgreSQL databases. They're not quite as capable as the Oracle systems, but they can do at least 90% of what oracle can. They're much easier to configure and maintain, and offer very competitive performance. If we weren't backing oracle to the hilt due to manegerial fiat, they'd do nicely for the vast majority of our systems.
Other companies are leaving Oracle (and other big commercial companies) to lower their operational costs. As the open-source databases improve, a ever-shrinking group of companies are stranded on "big-$-database island" for technical reasons.
Oracle has people to pay and a bottom line to watch. As their market-share begins to shrink, how can they protect revenues? Hint: Look at their business strategy over the past few years. Here's the highlights:
- Try to improve the product. They're trying, but I'm not going to comment on what I think of the most recent efforts.
- Raise prices. Generates more revenue, but it's also fueling a race to jump ship.
- Unbundle products, and create "new" must-have applications, each licensed seperately. This is like going into
/usr/bin and distributing each tool individually, for a few bucks each (maybe with a few added switches to that you can claim "new and improved". No thanks, I'll write my own.
- Control the entire client life-cycle. Oops, I mean facilitate. Oracle has released a plethora of products (designer, developer, OAS etc.) to assist the developer, dba, application manager etc. This is like dealing crack. The apps, individually, aren't too bad (except for OAS, which basically wraps layers of nastiness around Apache to render it impossible to configure/maintain). The real problem is, once you take your first hit, it becomes virtually impossible to use standard tools to deploy, maintain, or version your app. For just a few dollars more, you can acutally use the app you've spent six months developing.
The business model centeres around squeezing more and more money from a shrinking pool of customers. I'm finding it increasingly difficult to recommend Oracle to any of my clients. Smart managers see the trap of vendor-dependance, and insist on open standards. Large database vendors have a vested interest in trying to `extend and extinguish` those standards, as Oracle is doing.I predict that, very soon, pointy-haired-bosses of companies that CAN move to open source will do so 'en masse. The software is stable and mature, all that's missing is corporate mindshare. As that happens, the only recourse the big vendors have is to squeeze huge amounts of cash from the handful of companies who really do depend on the few features not freely available -- an unstable and possibly fatal arrangement for all parties.
So, I'm working with oracle today, but looking for a good opportunity to jump ship.
As you say, Oracle had "enterprise level features" that open source databases don't have.
However the business problem for Oracle is figuring out how many of their customers really have those needs. My bet is that most people paying an Oracle licensing fee don't run 1000+ transactions a second and wouldn't die if in a crash they lost up to a minute of data. It is wonderful that Oracle can deliver that, but to the extent that people don't need them, those features don't really matter in the marketplace.
As I've said elsewhere in this thread, check out The Innovator's Dilemma. Oracle vs open source databases is a classic example of how disruptive innovation works. On the one hand the Oracle fans talk about how much open source databases suck - and they do. On the other hand fans of open source databases point out that they are fine with open source databases sucking like that because the database is good enough. And so they talk past each other.
If history plays out again as it generally does, this talking past each other continues with both solutions improving faster than people's needs are increasing. After the "bad" solution becomes "good enough" for most of the market, the market switches. The griping of oldtimers notwithstanding.
If you have anything remotely interesting (i.e. thousands of concurrent users, or parallel processing, or complex data processing), this is not true. And I'm a big fan of ORM, especially Hibernate.
Firstly, enterprise-class databases are still extremely expensive, on the order of $50,000 per CPU. The price is slowly dropping, but I wouldn't call this commoditization.
Secondly, you're isolating things to Java applications written wtih an ORM as sophisticated as Hibernate. That further whiddles down the applicable cases -- most places do NOT use ORM at all, they use plain JDBC with embedded SQL or stored procs. When they do use ORM, it usually isn't Hibernate, it is EJB CMP, or TOPLink, or JDO, if they're using ORM at all. And then let's look at the big OSS languages: Perl, PHP, Python. Those certainly aren't bastions of ORM technology.
Thirdly, you're ignoring a huge class of applications: analytical or business intellegence services. These are things that have nothing to do with ORM, and require good knowledge of the underlying database to gain appropriate performance, using appropriate indexing structures, materialized views, I/O layout, etc.
Fourth, administering a high volume production database is an experience that will convince most people that databases are not created equal. Not in backup schemes, nor failover, crash or media recovery, or parallelism, concurrency, or tuning parameters. They're all extremely different, with what some may suggest are large gaps between them in certain feature sets.
-Stu
You act as if Slashdot has REAL editors who inspect copy and suggest changes.
That rant was directed to the editor of Newsforge, not Slashdot. I would never accuse /. of having such editors!
flossie
Write now. Defend liberty
Good thing they got their last payroll out of the way just before the DB blew up. The next payroll day may not be so happy.
At another similarly sized site I had a problem with late in the afternoon of the same day using a FOSS database, one of the *developers* (not a salesthing or politically gelded tech support person) popped up at 9PM our time and fixed the problem. For free.
There are a *lot* more 8-seat sites out there than 40,000-seat sites.
Got time? Spend some of it coding or testing
Posting as AC because I forgot my password....
Anyway, this is quite possibly correct. I did Analyze, and VACCUUME, and VACCUUME FULL, and VACCUUME FULL ANALYZE, and virtually anything else that was ever posted on the mailing lists.
I also messed with the buffer sizes, bucket numbers (for the analyze), etc....
Basically what was happening (trying to remember here) is that the linear interpolator was assuming that there would be relatively few rows returned. It did something like "This is an integer field, thare are 1000 distinct values of this field, we are joining on one of them, so there will be N/1000 rows returned (where N is the size of the table)....", though it was about 8 months ago, so my memory is a little fuzzy. Basically it underestimated the size of the returned set of a join by about 2 orders of magnitude (due to some funky distribution of the data), and then attempted to hash join on a data set that was wildly larger than available ram, and the box just proceeded to thrash forever. Turning off hash joins and sequential scans forced it to merge join, which was a few hundred times faster.
It is quite possible that the analyzer has become better since then, but that was the primary weakness at the time. Basically we were trying a very large DB (about 4 TB was the projected size), so obviously a sequential scan on some of those tables was just death, and the optimizer didn't realize that all the time.
Anyway, it's a good system, but probably not ready for REALLY large data sets, or sets that easily lend themselves to very bad optimization, or data sets that are both.
Well, you see I have this thing referred to as "curiosity", which perhaps you've heard of. I've used personally HSQL, MySQL, Postgres, Oracle, MS SQL, and Sybase. Cloudbase and DB2, I've read reviews, and I never said I've used them when I gave my guestimates of their capabilities.
As for the extreme technicality, you are splitting hairs. My experience with MySQL has never been good, and it is (at least was, as of about 1 year ago) missing so many key features that it hardly needed more than a quick look to disregard.
Sybase and MS SQL both performed fairly well (I used each for about 6 months at two different companies), this is not surprising since they are closely related.
I use Oracle and MS SQL at work now, and there is literally no comparison. When We trace the SQL statements for our JDO objects the difference is night and day. MS SQL ends up taking sometimes 150+ ms for a simple select (by clustered index, returning one row), whereas Oracle often takes 5 ms or less to return dozens of rows selected from complex joins between (already somewhat complex) views. This is not just an isolated case, it occurs across the board, over literally (I accumulated up the trace files...) thousands of Prepared SQL statements (Some of them executed more than 10,000 times), always the story is the same, Oracle is always much faster even when it is doing much harder queries. In addition, the MS SQL database is actually on much heftier hardware, and is under less overall load.
I'm not sure what you're comparing that you can't see the difference between them, but I think you can't see the forest for the trees. Unless you have some VERY specific requirements, Oracle will just murder MS SQL in any way that could matter (with the possible exception of pretty GUI pictures and configuration tools), this has at least always been my experience, and is roughly what everyone around me has said as well.
As for Postgres, I built up a very large database system (was projected to hold about 4 TB of data), and postgres had some problems with misoptimizing the queries (I do read explain outputs....). I have never seen Oracle materially misoptimize a query. I've seen MS SQL misoptimize one query fairly badly, but it was an extremely complex query (a ring of about 8 complex joins), so it is pretty forgivable.
As for HSQL, it deals with small datasets, so even misoptimized queries probably don't hurt that badly, though I've never looked at its explain output (don't even know if it has such a thing). When compared to postgres, HSQL was vastly faster for most queries (inserts, updates, selects, etc...), but it does have the problem that its data sets are limited to a couple GB (I think 2), and that it keeps all indices in RAM, so it's not really comparable.
So, since you've called me a Troll, lets hear what extremely technical points you consider when trying to decide between Oracle and MS SQL, and why are (for instance), HSQL and Oracle so similar that it would take extensive experience to be able to correctly choose between them. I claim that they are not, you disagree, I gave my reasoning, so lets hear yours.