
dB Choices - Oracle, DB2 or Something Else? 27
An Anonymous Coward asks: "I work company where I currently have to implement a new back end database architecture. It needs to be highly scalable, globally accessible, distributed, robust, fault tolerant and secure. There's a feeling amongst management that our current database, PostGres, hasn't got the grunt we need. Everyone seems to think we should go to Oracle or DB2, but I'm not yet convinced. Can anyone suggest what are the pros and cons of Oracle and DB2? Why should we go for one over the other? Is it possible to implement either of these without paying a fortune in maintenance and subscriptions? Which of these requires LESS maintenance given that we are going to be using the Linux on Intel?"
Advantages of Oracle (Score:3)
The technical advantages of Oracle over Postgress are not as significant as Larry might like to think. However, what it does have is a proven ability to perform.
I'm sure that there is no technical reason why Postgress can't handle multi-terabyte databases but I know Oracle can manage because I've seen it and because there are plenty of other customers who have too. The same goes for clustering, stored procedures, etc. If you're trying to reduce technical risk it's pragmatic to choose a solution you know will work.
Also in Oracle's favour is that it's much easier to recruit Oracle people than Postgress people. Databases are complex beasts, so it's important that you have qualified people supporting it.
I've not really used DB2, but I think that it has similar advantages over Postgres as Oracle. And finally, I am slightly biased. I don't work for Oracle but I did write the Oracle 8i on Linux Howto [zx81.org.uk].
Re:Personally, I wouldn't change (Score:3)
No they don't. We were only quoted 600 grand :-)
Needless to say, we stuck with a non-OPS version
of Oracle. The parallel features would be nice,
but there simply isn't the business justification
to spend that much money on them. As we grow,
perhaps we'll need it, but for us (and for most
companies, in fact), the cost is just too high
to justify parallel server.
Actually, unless you have a really good reason for doing so, stick with PostgreSQL. A really good reason, BTW, means more than just a vague management feeling that it doesn't have enough grunt. Have you done accurate performance benchmarking? Have you checked that it really is Postgres that's having a problem, and not an issue with inadequate hardware? 24x7 support could count as a "good reason", should you decide you need it. Yes, I know there are companies that support PostgreSQL now, but I don't know if they do 24x7, and I'm pretty sure they wouldn't be considered sufficiently established to support a large scale implementation by the corporate world. At the end of the day, no one ever got fired for choosing Oracle, but you have to be aware of what you're letting yourself in for.
DB2 is still my favorite (Score:2)
A few reasons (I'm not even going to try to cover all the bases):
1. SQL3: This is probably the last attempt at a standard SQL, but it still seems to have a few more brains behind it than PL/SQL or T-SQL. My apps have a strong need for recursive SQL, which is present only in SQL3.
2. ODBC: This is, or at least was, an open standard API. DB2's API is essentially ODBC, while Oracle continues to push OCI, and ODBC drivers for it are hit or miss. I'm not sure about now, but a few years ago one could write an ODBC app and link it to the DB2 CLI directly, without an ODBC driver or driver manager.
3. Price.
DB2 is cheaper (Score:3)
troll... (Score:1)
Congrats for having your submission accepted! :-)
Ralf
__________________________________________________ __________
The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
consider Sybase (Score:2)
http://www.sybase.com/ase_125eval [sybase.com]
Alas, you don't say exactly what it is you intend to do with this database nor what issues/capabilities are most important to you.
depends what kind of shop you run ! (Score:2)
(expecpt for all the users admin guys and domain servers )
mostly we see that places are a UNIX shop and its HP or SUN now under solaris I'm sorry but oracle does rock !
all the perf tests beat DB2
+ there are alot of people who know admin + tuneing so geting support is Very good
DB2 works well if you are a IBM customer and are useing WebSphere and have a mainframe
free DB's need very little work to get to run but to get to run well on high workloads they are a nightmare SUN + Oracle make a nice partners but I dont like there prices either
but I still pay
regards
john jones
Re:Database Choices (Score:1)
Re:Oracle DBA (Score:2)
See Linux magazine (Score:1)
Quentin
Oracle DBA (Score:2)
Neither... (Score:2)
you should never code for one particular DBMS. We
used Informix here for our project (that decision was made 5 years ago) because back then DB2 was too IBM centric and Oracle just wasn't able to handle the load... Now, Informix is almost gone, and porting our application to any other product will take us months. It has to be done, but all that money could have been saved if the app was coded to utilize a thin DB layer instead of accessing features of the DB directly.
Database changes (Score:2)
First off, what are the reasons for changing systems? Are there particular features that you're missing, is it so that you can get a support contract, is it just a buzzword issue?
If it's just that the management's going for the latest buzzword, try to get the management one on one, and tell them what a mistake they're making. [For some reason, they don't like us techies telling 'em their plans are crap in meetings]
If it's a features issue, well, you'd have to look at each product, and see which ones supports what you're looking for.
For the support contract, I don't know about DB2 licensing, but Oracle's rather strange -- although the cost model for the server goes in 2/5/infinate year blocks, the support's the same either way. You may save in the long run by buying a larger contract.
Also, platform is important. I was in a class once where someone recommended not running Oracle on NT, and using MS-SQL server, just for the fact that the limitations of an Oracle/NT combination were on the NT side, so you might as well take the cheap way out.
Now, given that all of the above things are equal, you need to first look at maintenance issues -- how often do they recommend cold backups, hot backups, rolling the transaction logs, etc. You also need to look at how easy it's going to be to transition to the new server. [Do you have more than just tables -- views, indexes, constraints, etc, that are going to need to come over?]
Moving data of a significant size is a pain in the ass. If it's s speed issue that you have, unless something's completely built wrong on your current system, or there's some major feature that you need, you'll almost always be better fixing your current problem than moving to a new system. (eg, Oracle doesn't have an 'autonumber' field type. You'll need to set up a sequence, and then either make sure that all inserts read from the sequence, or take a (worthwhile) performance hit, and set up a trigger for inserts)
Anyway, the point I wanted to make is that your question is vague enough that either one may be the answer, or you may really want to stick with what you have. As I don't know your situation, I can't give any solid recommendations, other than to do your research, as this is something that you might have to live with for a long time.
If you need some stalling time to get all of the information you need, so you can get things done right, and not rush something through, give your management this article from C|Net:
http://news.cnet.com/news/0-1007-201-6375299-0.ht
Re:Personally, I wouldn't change (Score:2)
They shitcanned the speed portion of the license formula (upu) a couple of weeks ago.
Before the reduction, a 9i license for a dual 440 sparc was about 40 grand (us) with support, now it's around US$27k.
Oracle is expensive, but you get what you pay for. If you need the power and features, it pays for itself. The most expensive part is the brain power to administer it. Usually two or three times the license cost.
Postgres and mySQL are fine for many Web sites, but if what you are doing is really mission critical, Oracle is a good way to go.
Dave
Re:Database Choices (Score:1)
DBA? (Score:2)
Free Trials (Score:2)
Oracle DB has great performance. But to gain it, one should spend some time reading, thinking and poking -- and things start to work *many times* faster. So, consider a DBA position for your site. Anyway, to run a large and complex distributed DB it *takes* to hire a DBA, which is expensive.
Though, very same things may apply to DB2 :-)
Re:why not MySQL (Score:1)
Doncha just love Slashdot? And trolls in general?
Try them out! (Score:3)
Re:here is a very good alternative (Score:1)
Yes, these FrontBase guys are active on comp.database.*, and they're certainly easier to talk to than Oracle developers. For both of those I am glad. But the topic of the 'Ask Slashdot' is something more powerful than Postgres, and FrontBase really isn't even up to that yet, let alone in the range of Oracle and DB2. Stop spamming; read the article; stay on topic.
here is a very good alternative (Score:1)
A free SIX months developers licence with all options active. An active dev-community. A no-nonsense support - even if you only have a free developers license.
Scalable license scheme, SQL92 compliant, row level privs...
Mac OS X
Mac OS X Server
RedHat 6.x
SuSE 6.x (Intel and Power PC)
YellowDog Linux
Debian Linux
Stormix
Mandrake Linux
FreeBSD
Solaris
HP-UX
Windows NT
go and read the specs!
Those guys react as if they were your collegues!
Re:why not MySQL (Score:1)
http://www.mysql.com/news/article-51.html
check for yourself.
there is objective information (Score:1)
Personally, I wouldn't change (Score:2)
If you're a company like American Express or Citibank then perhaps Oracle is the way to go. Otherwise, stick with Postgres, if only for the cost reasons. Cost of Oracle is based on how many servers you are running, how many processors on those servers, the speed of those processors, what your business is, and probably the relative IQ of your full-time Oracle DBA. (You do have a licensed Oracle DBA don't you?) On the average, you are looking at $150,000+ per year for software licenses, more if you need 24/7/4 support.
I can't speak for DB2, but I definitely recommend against Oracle. I would seriously spend a lot of time trying to convince management that they don't need the fancy buzzword, and that for anything else, Postgres is fine.
--
He had come like a thief in the night,
Depends on what you're using and doing... (Score:1)
1. Price
2. Platform
3. Support
4. Your Industry
Taking each one briefly, Oracle ain't cheap and DB2 isn't either, but it's cheaper than Oracle.
Platform - Since you're on the Lintel platform either should work well.
Support - Both DBs are well supported, most of my experience is with Oracle - once you get past first-level support Oracle actually does a very good job.
Industry - I work in the clinical trials industry (humans only) and 90% of the all members use Oracle for one thing or another, therfore we use Oracle.
Also, take the advice I've seen here and hire a DBA to perform setup of your instance. It will save you many problems later. If you will be running a distributed DB consider a full-time DBA.
It doesn't sound like you are considering anything else, that's good. MySQL lacks many of the features of any enterprise-level DBMS packages, it doesn't even have row indexing.
I've worked for IBM running M$ SQL Server, Oracle 8i and dabbled briefly in DB2 for benchmarking. Overall I would trust my data to Oracle before any other DB out there - period. With Oracles recent price drop (30%) Oracle 9i falls more in line with the others. It's also much easier to find Oracle experience than any other.
Re:DB2 is cheaper (Score:2)
Another Database solution: InterSystems Cache (Score:1)