How Real Is The Open Source Database Fever? 315
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.)
I'm sure Oracle's nice and all, but... (Score:5, Insightful)
Mr. Shimp, get a clue... we're simply not going to buy your pitch without looking at other decent (free!) alternatives.
As I said on newsforge (Score:5, Insightful)
codekeg (Score:5, Insightful)
Re:I'm sure Oracle's nice and all, but... (Score:4, Insightful)
Let's not pretend that orphanware is something that it's not. Nonetheless, there are still reasons to be pleased to see it.
Re:I'm sure Oracle's nice and all, but... (Score:5, Insightful)
Expensive DB's Put Companies Out of Profit Zone (Score:2, Insightful)
Re:I'm sure Oracle's nice and all, but... (Score:5, Insightful)
So what? There's still some more source code added to the big pot marked OSS. Someone, somewhere may be able to take it and do something else imaginative with it.
Re:I'm sure Oracle's nice and all, but... (Score:4, Insightful)
One of the areas Oracle shines is the developer support. While not free as in speech, they already make their product free as in beer for the folks doing development work. Granted, you pay the piper when you move to production land, but one of the strong points for the OSS offerings is not having to hork about with licensing on the dev side. I know I have used Tomcat and Jboss on the dev side while a customer noodles through the decision to get BEA or IBM kit.
I'd say Oracle might be in a world of hurt on the lower end database solutions. Light weight stuff that might have required a 100k license in production land and needed the sophistication of a ten column MS Access database is numbered. Many of the OSS solutions are 'good enough' for department scale use. An interesting move on IBM's side was donating Cloudscape (now Apache Derby). They salted the field for the lower end stuff, but were clever in they used DB2's JDBC connector. Build a simple app, find out it grows into the enterprise, and you have the option to pay the same mad cash as Oracle for the full featured solution....
Re:It's called being a good editor (Score:3, Insightful)
Re:I'm sure Oracle's nice and all, but... (Score:4, Insightful)
Can something like MySQL do the same? Well, I honestly don't know. However if you are in a position where there will be extreme losses from an outage, you don't want to be the one to test and maybe find out that no, indeed it can't.
Re:Expensive DB's Put Companies Out of Profit Zone (Score:3, Insightful)
ok, sure. You throw $2m at mysql and maybe it can provide the performance of $100k of Oracle or DB2: in running large decision-support queries.
And note: before you say that nobody needs these, keep in mind that most robust operational applications today include some business intelligence/DSS. It's mainstream stuff, and the hotting-selling component that Siebel (CRM) sells today. But mysql/postgresql/sap-db (bleh)/firebird/etc - lack the partitioning & parallelism necessary to pull off this common need at all.
And note again: don't even bother talking about the half-assed clustering solution that mysql has. It's about as credible in the large database world as their lack of transactions were two years ago in the oltp world.
Then you've got replication, high availability, etc, tec. Once again - don't bother offering up the limited/alpha capabilities of the open source databases here. They need some serious time to get those capabilities to 100% before picking up mission critical functions.
So, before talking about cost-benefit equations - you need to get more familiar with the technology. And more familiar with the larger issues within IT.
There's some cool stuff happening in the open source database world. But also a hell of a lot of hype - and some of the products are pure crap.
Re:Just follow the path of nessus.. (www.nessus.or (Score:1, Insightful)
(If the project is important/popular enough, like mysql for instance)
Database is a commodity now (Score:4, Insightful)
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.
Re:I'm sure Oracle's nice and all, but... (Score:4, Insightful)
Disclaimer: I'm a MySQL hater and wouldn't recommend it in any circumstance. Postgresql on the other hand is fantastic and should get a lot more love than it does. It still can't compare to Oracle in the huge installations, but it can certainly replace Oracle in all sorts of common usage.
Re:Slick salesmen are a lot more expensive than th (Score:1, Insightful)
using OR to hide DBMS isn't always good (Score:3, Insightful)
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.
Re:Database is a commodity now (Score:3, Insightful)
> Later on if you figure out you need a big honking Oracle/DB2/whatever you can easily change your mind.
kinda-sorta:
what % of the ANSI-92 standard does your tool support? 80%? 85%? and since it probably doesn't support vendor extentions, you're going to be locked into the slowest and lowest-functionality sql.
and that will make you want to upgrade to a more powerful database (or more hardware).
however - getting the performance benefits of oracle or db2 won't come free just by migrating the data to the exact same model on the exact same server. You'll want to add partitioning, new index types, materialized views, etc, etc.
And when you do - you'll usually have to make small adjustments in your sql to take advantage of it. Not always - you can often slip materialized views under the cover in the database and have the queries rewritten by the server on the fly to use these new, faster tables. But still, for partitioning you'll typically need to slightly modify your queries. Hopefully your database-wrapper will make this job easier - but it will be a job.
And if you want to take advantage of non-logged inserts into a temp table, ddl in a transaction, tec, etc - your wrapper will break. It won't support it and you'll end up with some queries in the wrapper and some outside.
On the other hand, if you've got a database that's going to stay tiny, and you're *highly* unlikely to not need OLAP, recursion or other very useful database functionality - then it's probably a good idea. And then, if your application becomes extremely successful - and you get a lot of demand for new functionality. *then* you can rip it out.
Perspective from an Oracle professional (Score:5, Insightful)
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.
Apples and Oranges (Score:2, Insightful)
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.
Re:That's why you should NOT use oracle (Score:4, Insightful)
Not very likely. And not a very good idea either. Until you show me something in the open-source world that can do 1000+ transactions per second, with complete atomicity, and ability to pull the plug on that system and then seamlessly roll it back to the exact moment in time that it was at when it died... Well, you're not replacing Oracle with anything less in the enterprise space.
By the way -- the "painful" part of converting from an OSS database to Oracle isn't the data conversion, export import, etc. That part is dead easy. The hard part comes when you start customizing your solution to take advantage of some of the huge performance-gaining features that Oracle provides. You have to start figuing out what parts of your application-layer code can be moved to your database, and making those changes at the second and third tier accordingly. You can create massively fast, very complex database systems with Oracle, but it's a very specialized area.
I'd be all for complete transparency of database from any application, but when you do that you encourage, no, you force, the least common denominator solution.
Re:Expensive DB's Put Companies Out of Profit Zone (Score:2, Insightful)
Re:Oracle v MySQL not fair (Score:3, Insightful)
i write software for a business of web-based telephony that has half a million users. they make payments online, make calls (that generate call records), handle customer support and they have to make periodic settlements with the call minutes provider.
Ok. It can be done, but it is more dangerous than it is with something like PostgreSQL.
when we began building the software, we all though that oracle was what we required. i spent two days on oracle site trying to figure out which oracle i need to buy. finally, i gave up and started working with MySQL that was available on our RedHat server (thinking that we will switch to Oracle when we get it).
Reread what I wrote. Oracle has some features which some large enterprises will require and are not reasonably available on open source databases. However, these are not commonly required, so it is more of a niche market. (large 24x7 databases).
The main reason for MySQL is that we find it pretty easy to optimise queries and get support. source code availablity is a big plus. It helps the gurus better understand the internals.
All the more reason to use PostgreSQL. And besides you don't have the licensing issues you have with GPL's client libs in MySQL.
Don't confuse cheap databases with free databases.
Not at all. I said Firebird and PostgreSQL are great databases. They are both Free. I just have issues with the fact that MySQL tries so hard to fail as little as possible that it quite often sets one up for serious data integrity issues later. This is fine for content management. It is NOT OK for anything where the numbers must be accurate.
Also MySQL is a "cheap database" in another important respect. MySQL basically functions as a simple SQL-like non-volitile (for the most part) cache for your app. This is fine, but here are a few things that MySQL cannot do well:
1) Manage and automatically maintain your data (triggers)
2) Allow on-the-fly presentation of data independent of its stored form (Views)
3) True arbitrary-precision arithmatic (Numerics are converted into floats for the purpose of math operations, which is not good if you use them to store, say, money, so you MUST store money in INT fields in MySQL).
MySQL is pretty much a tough guy.
Not to start a flame war but are you actually even looking for a relational database management system? In this case, MySQL has enough problems and deficiencies that it is just not good enough for anything important. I guess if all you want is a SQL interface for some basic objects and you don't care about truncation, then it is not a problem.