Microsoft Vs Open Source Databases

From WikiLockSolutions:

How about using a better database? These all seem like hacks to me. Microsoft has MSDE 2000 which has no licensing costs. Time to use Windows? [CategoryJoke]

Of course, YMMV. The last time I was involved in database concerns, PostgreSQL walked all over MSDE, on the same hardware, for our app. The upgrade path to pay support looked about equal to MSs' offering, for our needs. I have *no idea* how generalizable that experience is, since I am not a DBA, and have no wish to be one :)

Why a joke? It seems from the above description that the MSDE database and drivers would work better than the current set up. Plus there is an upgrade path (although we wont need DataCenter? Server just yet, and couldn't afford it anyway). I'll bet the person who put CategoryJoke has never even used MSDE.

There are limitations with MSDE but hey it's free and they are trying to make money out of SQL Server (for now anyway), so that's not unreasonable. Only Ward can decide since only he knows the load. Hardware and W2k OS can be picked up for next to nothing. ActiveState Perl is good.

Why not use a free server with no limitations on the functionality it offers? Like PostgreSQL or MySql? MSDE seems to be just another piece of cripple-ware... Doesn't already run on a Linux box?

Yes, according to Netcraft

No limitations? And yet Oracle remain in business selling theirs for tens of thousands of dollars?

Perhaps you mistook my use of the word 'limitations' - I meant in comparison to SQL Server/other big databases. MSDE has designed-in limitations. But given the descriptions above it sounds as if it would be several times more scalable than the current system. Also, last time I looked at them, the open source databases were pretty limited in comparison to MSDE. (Although I don't claim to be an expert, and haven't stayed up to date.) So they, to my mind, are more limited, and definitely not without limitations.

You're right, I misunderstood your use of the word. I have amended my previous contribution to reflect this.

But even a crippled SQL Server will run faster and more reliably than these open source databases. At least Microsoft provide a completely free database of some description. Do Oracle? IBM?

NASA don't seem to think so. See for how NASA switched to an open source database to lower costs but got an unexpected performance increase.

I think it would be unreasonable for Microsoft to spend a lot of money developing SQL Server Enterprise and then give it away. Don't you?

"There are limitations with MSDE but hey it's free" - no it is not. It's another reason to pay the MicrosoftPlatformFederalTax?

Huh? What do you mean?

MSDE is designed so that you can use it to do everything you would normally do with SQL Server. Then, when 5 concurrent connections is too little for you, or your DB grows to be more than 2 Gb in size, you migrate to SQL Server, right? And now you're stuck using a non-free MS product - locked into the platform.

Firstly, 5 connections (remember they are pooled) and 2GB (in a single database, you can have as many as you want) is a lot for nothing.

Secondly, with an open source database you just shrug and give up because there is no upgrade path at all.

Thirdly, who says if you reach the limit you have to buy MS. Go buy Oracle, DB2 whatever. I don't see why you think there is an automatic tie in. You seem to be saying an upgrade path is bad? You sound bitter about MS to be frank?

No, you're missing the trick. There may be no price to pay for MSDE, but I'll bet it's only available for operating systems that cost money. They can budget to give away lots of stuff, so long as you can fund it out of the revenue gained for the non-free OS that the free stuff requires. You're not going to throw away that operating system after you've finished are you? - so they win. I do have something against Microsoft: I can't just use one of their products, it seems as though I have to choose between building an all Microsoft solution or a portfolio of alternatives. If they didn't keep trying to lock me in, I'd be less hostile towards them.

You're just trotting out the same crappy FUD-based 'argument' that Sun and Oracle come up with repeatedly. It just isn't true in practice. Lots and lots of places use Unix and Windows together. MS products work fine with Java, Oracle and DB2. They also work fine with Perl, Python - Microsoft having sponsored development of these by ActiveState. Outlook and IE work fine with any SMTP and HTTP servers. You can get a toolkit of Unix utilies from Microsoft themselves. Your argument has no basis IMO.

I don't think MS software is all great BTW, but if I ever use Netscape Navigator again it'll be too soon.

''Okay, where can I get MSDE for Linux?

What's your point? I never said that you could.

Then again, maybe it's time to install Oracle (!) [CategoryWorseJoke?]

Only if you want to remortgage your house to buy it! -))

$40k for a single CPU isn't it?

Something like that. What a bargain! -))

Actually I've seen the previous version of Oracle (four CDs) come free with a NZ$120 textbook (that's about US$50). My university had a whole pile of them. Unfortunately I don't recall the name of the textbook! :P -- GavinLambert

Yeah, so what? You can download Oracle for free. Getting the software isn't the point. Getting licensed to use it is.

It was a licensed copy -- for home use only, naturally, at that price. But totally legal. -- GavinLambert

It isn't that hard to write portable SQL, especially for an application as simple as a Wiki server. If you want to switch to a relational database, I don't think it really matters which one you switch to, as long as it's multi-user with some kind of semi-rational locking scheme. Then if you find that you need a bigger box and/or a more "scalable" relational database, you can upgrade to it later.

My experience has been that "light weight" database servers can outperform "industrial strength & highly scalable" databases on low-end hardware. So don't buy into Oracle unless you're going to put it on a non-trivial box. -- JeffGrigg

I've recently looked into this, and I would say the following 5 cover pretty much all my needs, although I have no personal interest or experience in mainframe systems.

1. OracleDatabase - Expensive. Good if your client wants to spend lots of money, as many do. Targets high-end applications.

1.5 IBM's DB2 - Competing hard to take Oracle's high-end turf. A better bargain than Oracle for high-end stuff.

2. MicroSoft SQL Server - Expensive. (Remember the OS CALS). Good if your client has Microsoft blinkers.

These two are both pretty good for commercial solutions

3. PostgreSQL. Opensource. Nice features, rugged, scales well with replication.

4. MySql. Opensource, scalable. Not great for transactions and data integrity features. But, it has a lot of popularity momentum behind it that may result in future robustness features.

5. InterBase. (Opensource InterBase 6.01 or FireBird Release Candidate; commercial InterBase 6.5). Good features. There is development effort and support going in FireBird community, but open InterBase seems to have stopped at 6.01.

Of these Interbase would usually be my first choice unless I wanted to spend some money and/or use the extra, usually pointless, features of the commercial databases over and above what Interbase has. Interbase was only available as a commercial database until recently, which is perhaps why it gets overlooked so often. Still, it's probably a case of UseTheToolsWeLikeOrLikeTheToolsWeUse --JoeOtten

If you're planning to use InterBase for Java, don't bother. The JavaDatabaseConnectivity driver depends on some MiddleWare known as InterClient? with *severe* performance problems. A MemoryLeak seems to develop that soon brings machines to their knees - this happens with Windows and Linux. It may be that I'm unaware of it's special sensitivities to closing statements etc, but when I changed the back-end to MySql and PostgreSQL, all the problems disappeared. --GarethCronin

Could you please elaborate on the scalability of PostgreSQL and InterBase? They have a similar architecture and I haven't heard any specific critique about their scalability.

Sorry, that was second hand, and I don't have it all to hand. I believe InterBase uses a MultiGenerationalArchitecture?, and PostgreSQL does't. Also that InterBase has some support for redundant back up servers.

What the heck is MultiGenerationalArchitecture?? Is that like MVCC that PostgreSQL and Oracle use for row versioning?

I've personally seem some frightening bugs in MS-SQL-Server. It seems more likely to return garbled answers than to trigger errors in some cases. I hope they have cleaned them up.

A GUI front-end is a really nice thing. MSDE does not have one by design. MySql has PhpMyAdmin?, a web-form interface which is better than the command prompt, but awkward. MS-Sql-Server has one of the best front-ends. One can purchase TOAD for Oracle.

Related: PhpMyAdminSucks

What about SAP-DB (now controlled by MySQL) and Ingres ? -- Eric E.

See a comparison of MSDE and Firebird:

EditText of this page (last edited April 5, 2005) or FindPage with title or text search