fmII
Fri, May 16th home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop 10:40 PDT
in
Section
login «
register «
recover password «
[Article] add comment [Article]

 You Say You Want a Revolution (or Dude, Where's My Database?)
 by Lee Geistlinger, in Editorials - Sat, Mar 16th 2002 00:00 PDT

Remember those heady days of the mid-to-late 1990s? When Webmonkey was required daily reading, Hotdog and HoTMetaL Pro were the "cool" HTML editors (though vi and Notepad predominated), and the Browser Wars were relevant? When virtually all Web sites were collections of static pages, even if generated via some dynamic process(es) such as VB widgets or Perl scripts? When Perl CGIs and .shtml pages were the only true approximation of dynamic Web development available? When Java still meant coffee, ASP was a snake, and Linus was a character in the Peanuts cartoon? Remember? Ah, the bad old days.


Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly.

Today, things on the Web are unbelievably different. Reflecting the entire culture of the Internet, the Web is today a collection of mostly dynamic Web pages. From the high-traffic sites running on custom or packaged software (such as Vignette Story Server or Future Tense), through the smaller business sites running off Cold Fusion/Access, to individual sites running off Blogger or similar packages/services, dynamic pages are overtaking static pages at an increasingly rapid rate.

Even so-called "HTML editors" are getting into the act, acting more like (very) mini-publishing systems than simple editors. Dreamweaver has morphed into Ultra-Dev, FrontPage has its own set of proprietary form extensions to make autogeneration of input forms/collection from the same straightforward, and most editors worth their salt have some sort of "project" mode that automatically reassigns (relative) links when a page is moved from one directory to another, etc.

However, "smart" or proprietary tools only get you part of the way there. For a truly dynamic site, you need a database.

Database primer

A database can take many forms, but is generally categorized into one of three slots:

  1. A flat file (Perl does wonders with flat files)
  2. A file-based database (Access)
  3. A true relational database, as described in 1970 by Dr. E.F. Cobb. (MS SQL, Oracle, MySQL)

But here's the problem: While the Open Source Software (OSS) movement has produced some exceptional tools for Web and other types of work, it has either:

  • Produced inferior database products that have become de facto OSS standards (MySQL),
  • Produced exceptional tools that for one reason or another have been largely ignored (PostgreSQL) by the OSS masses,
  • Or produced NO database tools that the non-OSS crowd appreciates. (While many non-OSS folks know about Apache and perhaps BSD (thanks to Apple's OS X), non-OSS folk haven't even heard of mSQL or MySQL.)

Whether you realize it or not, there is a fulcrum that the entire OSS movement is balanced upon, and, increasingly, that fulcrum is named "database". While you can debate the veracity of the "Information wants to be free" manifesto (I think it should read "I want all information at no cost"), note the lead keyword: Information.

Such as is stored in a database.

What database? Are there really any valid OSS choices? I don't think so. (Thus begins the flamewar....)

The two databases I will use for comparison's sake are those mentioned above, MySQL and PostgreSQL.

The former, MySQL, has the largest install base, so is best poised to succeed and endure (install base == endurance; see Microsoft...). It is a terrible database which grew up quickly and, until very recently, lacked the true database features (such as foreign key support and replication) that make it something you can confidently recommend to your boss (or your friend). However, it does have the install base (this is very important; you can get another MySQL DBA easier than one for, say, mSQL), it does have a small (but effective) number of tools (GUIs and so on), and it is deployable on Windows (yes, the Dark Side). On the business side, NuSphere has done well at promoting a for-fee version of the database.

The latter, PostgreSQL, has both the pedigree (the Palo Alto area has produced such meaningless baubles as BSD, Sun Microsystems...) and the features of an enterprise-class database. Unfortunately, it came after MySQL and has essentially been eclipsed by it. On the business side, Red Hat approached and was rebuffed by Great Bridge, a NuSphere-type business which capitalizes on PostgreSQL. Great Bridge filed for bankruptcy shortly after this brilliant "strategic decision" (http://news.com.com/2100-1001-272715.html). [Note: Red Hat has deployed a database solution for its customers based on PostgreSQL; I have heard nothing about its success/lack thereof.]

Which leaves the average Slashdot reader/developer with two questions:

  1. Why can't OSS databases match commercial databases in the same way Apache meets/beats IIS and/or iPlanet (née Netscape)?
  2. What database should I use?

Damn good questions.

Which leads to a third, more dangerous question: What is OSS development? DOES it rely solely on OSS, or is a careful/cautious mix of OSS and commercial products (such as Microsoft's or Oracle's, not NuSphere's) acceptable or even necessary?

What is OSS, at least in regard to databases?

There are valid arguments (and rebuttals) for almost any of the questions listed in the preceding paragraph, but, for me, it comes down to the following:

  1. Software is a tool, not a religion. (Is Pine a great email program? Yes! Will I set up my Mom on Pine? No! Does AOL suck? Yes! Will I set up my Mom on AOL? Yes!) Pick the best tool for the project; don't set up a Beowulf cluster for your neighbor's home network...
  2. What gives me the best bang for the buck? (This factors in platform (OS) availability, support, cost, ability to find DBAs for selected product, etc.)
  3. Will this tool endure/scale: Will it be around in 1/2/3/30 years? Does it meet or overreach my needs?

In other words, let's be pragmatic. Let's not bash Bill Gates for sport, only when relevant.

OSS options

At some point, the OSS folks have to admit that they do NOT have a viable OSS database, or they have to continue with their snot-nosed claim that they do have one... and then, basically, fail to deliver on this claim.

I'm not happy about this. I love PostgreSQL, but it sure doesn't look like it's ever going to be a player, despite glowing OSS press coverage. Without the community support, it won't make it. That's a fact, however unpleasant.

So what are the OSS options with regard to databases?

Well, as mentioned above, it all depends, to a certain extent, on what one believes OSS is. Still, here are, really, the range of options (and the platforms they run on):

MS Access
With either MS's FrontPage or Macromedia ColdFusion, a winning, low-cost, non-scalable solution. NT only. On every desktop, serious scalability issues, good SQL92 support.
MS SQL Server
An excellent product, one of Microsoft's best (second only to the Visual Studio toolset) that has a number of significant flaws and "issues", but which is nevertheless widely deployed despite its relatively (vs. OSS) high cost. Each release gets better. Version 7 was a quantum leap over version 6.5, and version 2000 is better still, although there are things that I file as "these improvements are like Access", which is not a good thing. NT only, and MS, in it's infinite stupidity/arrogance, has made the licensing agreements for this server more restrictive/costly than in the past. This could help or hurt MS; history will judge.
MySQL
The first real relational database on *nix that was embraced by the OSS community. It has serious limitations but a cross-platform environment and a wide install base of OSS supporters running Linux/Apache/PHP|Perl/MySQL. Like Access, it's everywhere (but on an OSS user's system).
mSQL
Inconsequential.
PostgreSQL
A product of Berkeley, a very Oracle-like database competing with MySQL and (to a lesser degree) Oracle. MySQL has a much larger install base and came earlier. Sad.
Oracle (pick the version)
The "best" (if money and personnel are no object) database out there. It certainly has more features/options than virtually any other database; that is what you pay for. Certain "lite" (limited functionality) versions are available for low/no cost for varying platforms. It requires considerable expertise to operate effectively.

Reality Check

Repeat after me: Software is a tool, not a religion.

So what do we all do? There really are not scalable solutions to OSS database conundrums; the most viable is the one that is most distasteful to most OSS users: A Microsoft solution. There are a countless articles on how to connect PHP (which, while cross-platform, is essentially an OSS product) with Microsoft MS SQL. Yes, connect with the Dark Side.

Why the hell are such articles even written? (Example: http://www.phpbuilder.com/columns/alberto20000919.php3.) Because they are necessary.

While most companies/individuals are too narrow-minded to mix OSS with MS products, this is often a good solution, especially for middle-range companies (that cannot afford Oracle). Yes, the hard part of the OSS & MS equation is platform, but PHP works very well on Windows, as well (no, not as good as on *nix, but that's my opinion).

What does this all mean? That OSS databases are really not ready for prime time in the way that Apache, BSD, PHP, and other OSS tools are, and, to me, that we are way past "well, it'll be kewl in a few months when we [whatever]". OSS database developers -- and especially users -- have failed to develop/embrace good DB tools. This is a fatal flaw in OSS; it leaves the door open to commercial, very non-OSS products.

I don't see an outcry, one way or another, about this.

Why is that?


Author's bio:

Lee Geistlinger has had more careers than Heinz has pickles. He's jaded, but never fails to be dazzled by the success of mediocrity (or frustrated by the same). He dreams in hexadecimal.


T-Shirts and Fame!

We're eager to find people interested in writing articles on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an article gets a t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about.

[Comments are disabled]

 Referenced categories

Topic :: Database
Topic :: Database :: Database Engines/Servers

 Referenced projects

mSQL - The Mini SQL database system.
MySQL - A fast SQL database server.
Oracle - An enterprise-level SQL database.
PostgreSQL - A robust Object-Relational DBMS.

 Comments

[»] What about Sybase?
by Warlock - Jan 15th 2003 09:04:05

I noticed that you did not include Sybase for Linux in your comparison, but did include Oracle....

I would classify Sybase 11.0.33 (free version) for Linux as quite superior to mysql....

Its Fast, and its free... I have a couple 100 GB+ Sybase databases running on the free version with very little problem, and very good performance...

It annoys me intensly, as sybase is always left out of the reviews, but Oracle is included...

All I can really say regarding sybase on Linux is, Try it.... we did, and threw out all our Oracle Databases and bought the New Sybase 12.x for Linux.. and havnt looked back since...

[reply] [top]


[»] Open Source Database
by Damien - Jul 12th 2002 18:54:10

I would have agreed with your article until I read

"HOWTO provide Microsoft Access-like functionality on Linux with open-source tools - OpenOffice.org 1.0, unixODBC, and MySQL" by John McCreesh available at:

http://www.unixodbc.org/doc/OOoMySQL.pdf

Bye bye MS-Access...

Damien

[reply] [top]


[»] Putting a database in a computer is silly!
by linuxknight - Jun 14th 2002 20:31:43

Come on, a database in a computer? Everyone knows that
computers just aren't good for that, databases should be kept
on paper, in an office. Not on a computer! Databases have no
place in a computer.

--
Signed, Linuxknight

[reply] [top]


[»] SQLBoss Developer - Makes database development & content management much easier.
by SQLBoss Database Tools - Jun 7th 2002 08:26:58

I want to introduce you to a SQL tool which definitely helps to speed up development and maintainance of various SQL databases: SQLBoss Developer 1.3.1 Its natively supports 11 different database types e.g mySQL, PostgreSQL, OpenBase, FrontBase, dtfSQL, 4D, Oracle (Beta) and many more besides the ODBC connection possibility.

You can download a free trial at:
http://www.SQLBoss.com


Or see SQLBoss @ Freshmeat:
Freshmeat Project SQLBoss Developer

Short Description:
SQLBoss Developer and the upcoming SQLBoss Layouter from SQLBoss Inc. provide you with a complete database and content management system for many (11) SQL databases. SQLBoss Developer is a tool for rapid database development on remote hosts. It helps you to create and change databases, tables and columns and to manage the content within web-enabled databases. More features: supports 8 import/export file formats, dynamically generated data entry layouts, HTML WYSIWYG Editor, database backup server, mySQL Admin. Fastest SQL tool on the market.

--
SQLBoss - SQL Database Development & Content Management Tools http://www.SQLBoss.com SQLBoss Developer SQLBoss Layouter SQLBoss Monitor

[reply] [top]


    [»] Re: SQLBoss Developer - Makes database development & content management much easier.
    by jeff covey - Jun 7th 2002 11:19:17

    Wow. Spam in an article comment; that's a first.

    --
    vs lbh pna ernq guvf, lbh'er n trrx.

    [reply] [top]


      [»] Re: SQLBoss Developer - Makes database development & content management much easier.
      by Tony Douglas - Jun 7th 2002 15:22:38

      I'll bet it's not the last either ... :(

      As an aside, much database related fun can be had at www.dbdebunk.com. SQL fans in general (and MySQL fans in particular) should wear a hard hat ... !

      - Tony

      [reply] [top]


[»] Very good links page for databases running on Linux
by elucidus - May 29th 2002 18:05:06

SQL Databases Includes substantial links to support info on PostgreSQL and MySQL. As well as covering the commercial players such as Oracle, DB2 and more obscure ones such as integra4 and PrimeBase.

--
Technology Observer

[reply] [top]


[»] DBMS :-( ODBMS :-)
by Petite Abeille - Apr 23rd 2002 16:45:29

I guess its time to move on from the relics of the fifties
(aka dbms). What about joining the 21st century and
using an odbms?

Just wandering...

[reply] [top]


[»] The right tool for the job...
by chris - Apr 23rd 2002 02:38:56

I have just read your article on Open source databases. Though I agree
with some of what you say, I do take a few exceptions to some of your
comments though, of which a few stand out.

You seem to forget other databases such as SAP, SyBase, ADABAS D, DB2 and
others. Each of these are competition for Oracle, and in some cases cover
the same turf Postgress covers.

As to your comment about "Will it be around in 1/2/3/30 years?" Can I get
a more realistic 8 years? Given most software projects by the time year 6
rolls around, the original developer is either a) forgotten history in
that company, or b) [S]He is looking to re-implement it on another
database that has some other super feature [S]He *MUST* have.

Not many software companies that have lasted 30 years. The closest
database company (in my brief memory search) I can come up with is
'Metafile'. It's about 20 years old. I think the company that makes
metafile is still in Rochester Minnesota. With the exception of DB2 it is
the only database I am aware of that has been available since the mid
1980's that hasn't been taken over, bought, sold or abandoned.

As to why MySQL might be so popular:

MySQL had the tools and the 'right size' available at the right time
(early to mid 1997). PHP3 had an arguably better interface than perl
(with the module version for apache). MySQL was significantly better
than MSQL 1.x, and generally better than MSQL 2.x; What clinched
MySQL for me was the more 'open' license than MSQL 2.x.

Having spent time working/developing with MySQL (and Oracle, Sybase
and Informix in UNIX Admin roles) and almost no time with Postgress, I
have little background to speak, however my impression is that
Postgress takes more administrative overhead than MySQL does, so I
stick with MySQL and this impression may be the reason why Postgress
is not as popular as MySQL is.

You spend more than passing time on MySQLs short comings. Some of
these issues you speak of have been addressed in recent editions of
MySQL. Since MySQL doesn't have transactions, foreign keys, sub
selects, et all, then a move to Oracle or Sybase would have been my
choice. If a developer starts with a small light weight RDBMS on a
project and then he bumps his head up against an issue as his project
grows what is his choice? Reimplement on Postgress and continue again
until he runs into a Postgress issue, or break down and buy Oracle and
reimplement. If it were me, I would pick Oracle. At least I can
bitch as a sales droid about the 'vapoware' they sold.

The issue may not be that MySQL is/was first, but that it is a 'baby'
step to learning SQL and the issues associated with growing a
web/database application. MySQL to me appears to be a little less
complicated to deal with. When faced with learning a new language (ie
PHP) and a new way to access data (SQL statements), managing a
database engine and apache modules, taking things in manageable hunks
wins over the better technology just because it's a 'learning
experience'.

Take your pick. Your guess is as good as mine.


I saw some comments about the scalability of MySQL vs Postgress. Again,
what is the task? I could easily say that Postgress is totally inadequate
for the task of managing a 5TB database of case law for legal searches,
especially since I was a contractor at a very popular legal publishing
company which uses ADABSE D with gobs of PL/1 on IBM big iron.

I would like to see a MySQL type database be included in all UNIXes
(perhaps as a standard), especially if system interfaces were written so
that I could avoid things like /etc/aliases in sendmail having to be read
from flat files and then written in to hash tables. Overkill to use
Postgress, but just right for MySQL. I have used PHP as a cgi-bin program
to query a MySQL database to build a flat 'aliases' file to be read by
sendamil and converted to a hash table. Roundabout way but a whole lot
better than giving out 'root' to a dozen tech support guys who all want
to be to BOFH next week (NIS+ wasn't permitted because of security issues).

What it all boils down to is right sized tools for the task. Some people
may have only run into tasks that you need multi joins, transaction
processing, sub selects, etc which makes Postgress the wonder tool. Some
of us may have only needed to manage loosely knit tables together where a
database like MySQL works fine. I don't need DB2 to manage my
/etc/mail/aliases, /etc/mail/virtusertable, and /etc/mail/relay.networks
files.

[reply] [top]


    [»] Re: The right tool for the job...
    by Tony Douglas - Apr 23rd 2002 06:37:49

    The interesting thing that seems to be coming out of the various comments is a view of something like "start with MySQL, and if it outgrows that, go to Oracle/Sybase/blah". This is an interesting challenge for the PostgreSQL people; how to make it clear to everybody that "there is a middle way". Rather than anybody going on about how much "better" PostgreSQL is than MySQL blah blah blah, accept that there is a whole application space ("mini-relational" ?) that MySQL covers pretty well, but that once an application goes beyond that space, commercial DBMSs aren't the automatic choice - you can stay open source, and get many of the (application-facing) benefits of those DBMSs (although not all the management-facing benefits - see my other posts on that). And for those "mini-relational" applications, what about the various Berkeley DBs ? For the application this poster was talking about, LDAP sounds a pretty sound bet too. And it's PostgreSQL, not Postgress. As an Ingres user, which is usually called "Ingress" by those not in the know, I get touchy about those double s'es ! Why they didn't call it "Miro" I don't know (somebody else has pinched that name, now). - Tony

    [reply] [top]


      [»] Re: The right tool for the job...
      by chris - Apr 23rd 2002 12:49:29


      > The interesting thing that seems to be
      > coming out of the various comments is a
      > view of something like "start with
      > MySQL, and if it outgrows that, go to
      > Oracle/Sybase/blah". This is an
      > interesting challenge for the PostgreSQL
      > people; how to make it clear to
      > everybody that "there is a middle way".


      >startquote
      > And it's PostgreSQL, not Postgress.

      Apologies to those offended by Postgress vs PostGreSQL. IMHO .db, .dbm,
      and db3 were not as easy to deal with as MySQL was, particularly with PHP
      and web applications. When tying to tie a couple of ISPs who's ideas
      about admining systems are vastly different at the time of acquisition, an
      application was needed in a hurry, and using 'MySQL-Apache-PHP' a solution
      was there and available in a week. LDAP would have taken longer, and I
      was a contractor, I did was they asked me to do.

      The vast majority of admins/developers are self teaching. The community
      learning curve may need to go through the MySQL step, before they move to
      something else. I watched something similar in the PC world in the 80's.
      Odd little special applications using flat file databases, then PC-FILE,
      then RBase/dBase, etc. Eventually, they moved to Oracle, and it's
      growing pains. As the people who developed their applications grew in
      knowledge, so did their need for more sophisticated tools. True database
      weenies of the time were busy on the Mainframe loading DB2 databases
      snickering at Oracle, and outright laughing at dBase.

      Circa 1994 I remember a FAQ on 'free' databases available for UNIX. It
      contained a list of features and limits of many different databases for
      UNIX. A updated version of that document may have been a better place to
      spend energy rather than complaining as to which databse is more widely
      accepted, bemoaning the fact, and pondering the reasons it is the way it
      is. Complaining and pontificating are less effective at educating than
      comprehensive information is. MySQL has a niche it has etched out for
      it's self. Is it the best tool? No. Is PostGreSQL? No (that may be
      difficult to accept for some). Reading several of your replys to others
      you seem to have a strong aversion to anything MySQL. What ever MySQL has
      done to step on your tail, there is not much I can do about it, nor any of
      the other users of MySQL. Sorry you don't like MySQL, but MySQL
      serves a need otherwise it would be so much discarded code littering
      the information super highway.

      In some ways MySQL-Apache-PHP-PHPMyAdmin reminds me of PC-FILE for DOS in
      the mid 1980's. Quick, dirty, not quite fully relational, but it
      works for most and get's the job done.

      As to why can't open source deliver a 'Enterprise' level data base server?
      Probably because it's not high on the importance factor of most
      developers. It requires more complicated engineering from the start. It
      has always been the realm of the 'heavy hitters' (ie Oracle, Sybase, IBM
      et all). It's a long way to go from PostGreSQL to DB2. Even running
      PostGreSQL as native code on OS/390 it would be a long journey filled with
      DB2 bigots slandering PostGreSQL at every line of code.

      -- 73s SK DE Chris

      [reply] [top]


        [»] Re: The right tool for the job...
        by Tony Douglas - Apr 25th 2002 15:23:16

        Hi there,

        Apologies to those offended by Postgress vs PostGreSQL.
        None taken, and none intended I'm sure. I'm way more touchy about the "Ingress" vs. "Ingres" one, esp. when it's techies in our own company (or reporters in computing mags) !

        IMHO .db,.dbm,and db3 were not as easy to deal with as MySQL was, particularly with PHP and web applications.
        They can be a pain, but they've got their place.

        When tying to tie a couple of ISPs who's ideas about admining systems are vastly different at the time of acquisition, an application was needed in a hurry, and using 'MySQL-Apache-PHP' a solution was there and available in a week.
        Then it's the right choice by a mile. If you can move that quickly, and there's enough of the right expertise about, why look any place else indeed ?

        LDAP would have taken longer,
        LDAP is one of those "good things" I've always meant to spend a little time with, but never quite got around to until recently, and I must admit to being quite impressed with it for a few things. The O'Reilly "Network Printing" book was a surprising place to get a shove into looking at LDAP, but there you go.

        and I was a contractor, I did was they asked me to do.
        Being a contractor can put things into a whole new ball park; sometimes you can be pretty restricted in terms of what you can and can't do or install or use or whatever.

        ... snip (which I pretty much agree with, by the way) ...

        Circa 1994 I remember a FAQ on 'free' databases available for UNIX. It contained a list of features and limits of many different databases for UNIX. A updated version of that document may have been a better place to spend energy rather than complaining as to which databse is more widely accepted, bemoaning the fact, and pondering the reasons it is the way it is.
        I think that FAQ is still out there somewhere, but it still mentions some DBMSs that I don't hear anything about any more, and didn't list the interesting Java DBMSs (PointBase, Cloudscape etc) for obvious reasons. It might be quite interesting to see this brought up to date, but it would be quite an undertaking nowadays.

        Complaining and pontificating are less effective at educating than comprehensive information is.
        Very true.

        MySQL has a niche it has etched out for it's self.
        I agree with that wholeheartedly. But we're about to disagree now...

        Is it the best tool? No. Is PostGreSQL? No (that may be difficult to accept for some).
        Before saying "best", define "best". Best for what ? For high volume read-intense/low-write serving ? For reasonably concurrent write situations ? For high volume read where SQL isn't required ?

        Let's take an analogous situation; what's the best programming language ? If you've already got an answer, then you're wrong, because I haven't told you what I want you to do yet ! (OCAML fans are about to start hitting send as I speak...!) If I want you to write metal-bashing code, then the answer should be different to if I was asking you to write an expert system with full backtracking capabilities.

        The same thing holds true for databases. What is just the ticket for one application could be horribly horribly wrong (for any number of reasons) for the next one.

        Reading several of your replys to others you seem to have a strong aversion to anything MySQL.
        No, I don't; honestly, and if I've given that impression then it's because I haven't been sufficiently clear in my writing. It simply didn't do the job I needed an open source RDBMS to do a few years back. This may be because I followed the opposite route to the one you outlined earlier; I moved from a commercial database (Ingres) to a free database (PostgreSQL), so my expectations & demands may have been quite different to someone in a different situation. As I said elsewhere, the situation with MySQL may well be different now. When I was looking back then ('96 - '97) I started with mSQL, then tried MySQL then wound up with PostgreSQL, so MySQL had a shot (I had actually heard of MySQL before PostgreSQL). If I was doing the same eval now, I might wind up with a different result. I'm open to that possibility, but I'm quite happy with PostgreSQL (within reasonable bounds), so haven't felt the need to dig about too much in the time since.

        What ever MySQL has done to step on your tail, there is not much I can do about it, nor any of the other users of MySQL.
        And I wouldn't ask you (or anyone else, for that matter) to do anything about it; it's up to me to go and find out about these things if I discover my current toolbox is deficient somewhere.

        Sorry you don't like MySQL, but MySQL serves a need otherwise it would be so much discarded code littering the information super highway.
        Absolutely it does.

        ...snip...

        As to why can't open source deliver a 'Enterprise' level data base server? Probably because it's not high on the importance factor of most developers. It requires more complicated engineering from the start. It has always been the realm of the 'heavy hitters' (ie Oracle, Sybase, IBM et all).
        I agree with some of this, but age & maturity of the code has a lot to do with it too. DB2's roots are way back at the beginning of implemented RDBMSs in the early '70s; Ingres dates from about '77, and Oracle about the same (ISTR copyrights for about 1979 in Oracle installations). They've had a long time to look at how to keep these beasties up and running, backed up and safe as houses. The open source databases can do the querying, but they don't have the management facilities that have been built up into these products over time.

        It's a long way to go from PostGreSQL to DB2.
        A very long way. To get an idea, remembering that PostgreSQL's roots are very close to those of Ingres, compare PostgreSQL to a current commercial implementation of Ingres. Hell, have a look at the source code of University Ingres (still available, but likely not buildable on anything modern) and compare that. Open source databases could be extended to match the "heavy hitters"; but it'll take a long time, and requires a type of testing effort that might not be available in an open source environment.

        Even running PostGreSQL as native code on OS/390 it would be a long journey filled with DB2 bigots slandering PostGreSQL at every line of code.
        Well, they slag Ingres at every opportunity ... :)))))

        Cheers,

        - Tony

        [reply] [top]


[»] Fun learning MySQL
by civad - Apr 7th 2002 22:58:20

I recently took a course in schhol in DB's, which was (plz: no laughs...) using M$ Access. I asked my instructor if I could use something else, and he said it would be okay as long as that 'somethig else' was good. So now I had a bg question before me. What is 'good'? A lot of questions and a lot more internet searches later I thought MySQL could be something worth a try.

I used it to prepare a DB of all the songs that I had on my computer :-) it was fun and easy to learn. Moreover, thanks to a friend of mine I used PHP to have a nice lil browser-based interface. The server has been running for about 10 days with no problems so far, and I get to listen to my own 'streaming media' anywhere (minus the irritating popup ads).

For a beginer, I think three things are necessary:
a. Ease of install
b. Detailed documentation
c. Online support (forums, etc.)

I dont know if Postgres, etc. have these criteria met, but I did find mysql quite useful.At the end of the day I was not only able to learn something new and useful, but I had fun learning it.
Now I think I could swim into some 'serious waters'....

[reply] [top]


    [»] Re: Fun learning MySQL
    by Tony Douglas - Apr 9th 2002 08:29:03

    Hi there,

    I recently took a course in schhol in DB's, which was (plz: no laughs...) using M$ Access.
    No laughs here; I hated Microsoft for releasing Access 2.0, because I quite liked it for visually hacking with schema possibilities when planning a database (it's a long story). I couldn't say Microsoft had never released a product I liked any more ! Bah !!

    ... snip ... For a beginer, I think three things are necessary:
    a. Ease of install
    b. Detailed documentation
    c. Online support (forums, etc.)

    Enterprise requirements start from similar bases, actually. But you need to add
    d. scalability, to support probably unpredictable growths, ebbs and flows in use
    e. robustness, so that work isn't lost either through poor application code (there's those dang transactions for you !) or poor database server code (no crashing or table corruption !)
    f. maintainability, that is, the ability to reconfigure either parts of the DBMS subsystem or the database schema, and to do full backups of your databases while the database is in use
    g. restorability, that is, the ability to restore the database from backups to a known point in time (say, for example, a developer wrote the Query From Hell that deleted unknown rows from a table (should never happen, but ...). You'd want to be able to get the database back to the state it was in immediately before that transaction started.)

    If you're coding up a fairly small application, with only a couple of concurrent users, small amounts of data (so you could rekey it easily), maybe the data is fairly static (updates aren't happening regularly) and you don't need near-permanent availability (ie. you can do loads of updates, then take the DB offline and back it up, then allow access again until your next bundle of updates), then you probably don't need a lot of this. If your app doesn't fit into those categories, then you probably need at least some, and often all, of those additional features.

    I dont know if Postgres, etc. have these criteria met, but I did find mysql quite useful.At the end of the day I was not only able to learn something new and useful, but I had fun learning it. Now I think I could swim into some 'serious waters'....
    It's excellent that you got into DBMSs this way. Even better if your courses encouraged you to think properly about your data, what you were storing it for and what you were going to use it for, thus the best way of storing it and retreiving it. The problem is, you might bump into the same "glass ceiling" you hit with MS Access. Maybe you won't. Horses for courses, after all !

    - Tony

    [reply] [top]


[»] Won't make it?
by Mysidia (J. Hess) - Apr 5th 2002 15:42:50

% OSS options
>At some point, the OSS folks have to admit that they do NOT have a viable OSS database, or they have to continue with their snot-nosed claim that they do have one... and then, basically, fail to deliver on this claim.
>I'm not happy about this. I love PostgreSQL, but it sure doesn't look like it's ever going to be a player, despite glowing OSS press coverage. Without the community support, it won't make it. That's a fact, however unpleasant.

So you're saying the panacea of dbs won't "make it" without community support. What does a piece of OSS software have to do to "make it" -- just because something is better doesn't mean everyone will use it instead of something they are using presently (despite its problems), Linux is like that; I don't see windows users switching en masse to avoid the crashes.

OSS projects don't have to sell things though, they only need a small userbase, developer support, and distribution channels [like www, ftp].

MySQL has its incompatible "features" (extensions) to SQL that lock its users in, since applications requiring a DBM use the MySQL API and its custom extensions (not knowing better, but locking people into it). I think other OSS dbms would be able to gather more users, if applications could be used more painlessly between them all.

Perl's DBI/DBD is great, its ashame other languages don't have db-neutral interfaces like that, and it's ashame that OSS developers write applications on top of flawed databases.

[reply] [top]


    [»] Re: Won't make it?
    by Charlie - Apr 11th 2002 05:34:48


    >
    > Perl's DBI/DBD is great, its ashame other languages don't have
    > db-neutral interfaces like that, and it's ashame that OSS developers write
    > applications on top of flawed databases.
    >

    *cough* PHP *cough*

    [reply] [top]


[»] What about ODBMS and persistency?
by Basile Starynkevitch - Apr 4th 2002 13:55:38

I am surprised that nobody mentions object-oriented database managment systems (ODBMS) and persistent systems.

ODBMS used to be hot a few years ago. O2 was then a significant (commercial proprietary) ODBMS system.

Some research projects are about deductive database systems also.

persistent systems give the feeling of persistent data (which remains after the program ended, and still exists when it restarts). See for example Shoreand Texas. There exist also the Orthogonal Persistence concept. Persistency is vaguely related to object serialization (customary in Java, Python, Ocaml, ...).

With the current XML fashion, I am wondering why there are no more open-source ODBMS (which should fit nicely into XML formats). But developping such a system requires a lot of efforts.

The TUNES site contains an interesting review of related concepts.

I find the current file and RDBMS models rather inadequate for today's programming challenges.

--
Basile STARYNKEVITCH

[reply] [top]


    [»] Re: What about ODBMS and persistency?
    by Tony Douglas - Apr 9th 2002 08:07:48

    Hi there,

    I am surprised that nobody mentions object-oriented database managment systems (ODBMS) and persistent systems.
    As another poster says, horses for courses. a lot of data that is kicking about suits the relational model quite well.

    ODBMS used to be hot a few years ago. O2 was then a significant (commercial proprietary) ODBMS system.
    I remember looking into CA's Jasmine (back when it was basically Fujitsu's ODB-II with Ingres/Net stitched onto the front). It was ok, I suppose, but at the time I couldn't find a worthwhile project to make me want to use it more.

    The other problem was that at the time there was no recognised standard for object database languages. SQL is rather like the FORTRAN of database query languages; it sucks, but at least everybody's had a go at implementing it (even if fully complying with the SQL standard(s) is nigh-on, if not completely, impossible).

    Some research projects are about deductive database systems also.
    My pet puppy would be completely removing SQL from the scene and replacing it with Prolog as the query language. Sick puppy or what ;) There has been some work done on this in the past, but if anybody knows of projects pushing ahead on this let me know !

    persistent systems give the feeling of persistent data (which remains after the program ended, and still exists when it restarts). See for example Shore and Texas.
    Perhaps some of the thunder has been stolen by implementations of Transparent Persistence in Java, as they seek to provide a (nearly) invisible link between the mountains of relational data and the (growing) mountain of object code.

    ... snip...
    With the current XML fashion, I am wondering why there are no more open-source ODBMS (which should fit nicely into XML formats). But developping such a system requires a lot of efforts.

    Maybe dbXML/Xindice would be of interest to you ? Or perhaps the xmldb contribution to PostgreSQL ?

    ... snip ...
    I find the current file and RDBMS models rather inadequate for today's programming challenges.

    This is the most interesting comment ... what is it about the relational model that makes inadequate for you ? Maybe it's more that nobody's really made a decent job of implementing the relational model in full that's the problem ?

    I would recommend CJ Date's Introduction to Database Systems to anybody with an interest in databases (of whatever kind). And also a look at Date & Darwen's Guide to the SQL Standard, if only for what is possibly the most poisonous preface ever published in a technical book.

    - Tony

    [reply] [top]


[»] Role of MySql
by astaines - Apr 2nd 2002 18:49:52

MySQL was written to store complex data structures, which didn't change very often. This is a very common need in the real world.

I use MySQL to hold large tables of epidemiological data. This stuff is collected once, and selected many many times. I do not need transactions, I need a fast complex structured data storage system - I need (and dearly love) MySql. My data may have cost several million dollars to collect, and there is no possibility of collecting it again - I can't afford data loss

I wouldn't store 500 million records in it in a fit, but I haven't got 500 million records, and neither do most of you. If you do, go to Oracle, or Sybase.

Horses for courses, folks!

[reply] [top]


[»] No time for CrashGreSQL
by Paul Houle - Mar 28th 2002 14:57:59

or is it CorrupedTablesGreSQL. When I started learning how to use databases, I believed the propaganda about ACID properties and tried using PostgreSQL. What a mistake. Every time I had PostgresSQL crash again and again and often I had corrupted tables.

Then I'd switch to MySQL and it would work just fine.

Then a new version of PostgreSQL would come out and the people around PostgreSQL would say how great the new version was, how it fixed all the new bugs, and I'd try a simple query and find that it takes PostgreSQL 60 seconds to do what MySQL can do in 0.1 second.

I can think of a number of major web sites that use MySQL. I can only think of one that uses PostgresSQL -- the independent media center -- and they have so much trouble with crashes that they really regret that choice. MySQL's web site has case studies of major organizations that use MySQL. PostgresSQL doesn't have any case studies -- maybe that's because PostgresSQL isn't being used by any major organiations because major organizations can't accept crashes and corrupted tables.

Sure, PostgresSQL has all kinds of features like subselects and transactions -- maybe MySQL is 1/2 a database because it lacks them. But after PostgresSQL crashes (particularly if your tables got corrupted) then you've got no database and 1/2 is greater than zero.

What particularly angers me is that the PostgresSQL mafia is always going around using lies and scare tactics. When they talk about performance, they always mysteriously seem to get 100x better performance than anybody else does. It seems like crashes and corrupted tables never happen to them. And then they go blabbering about the ACID property and never mention that corruted tables break the ACID property.

People are using MySQL because MySQL works. It might not be perfect. But if you learn MySQL and understand how to take advantage of it's strengths and work around it's weaknesses, you can build high-performing and robust applications. PostgreSQL has been around as long or longer than MySQL, but the fact is that it doesn't work -- at least not for ordinary mortals who download it, compile it, and try to use it. Maybe there's some secret about it that they're not telling us. If PostgresSQL can fix the crashing and corrupted tables, I might give it another chance, but they've lied so many times about the crashing and corrupted tables I don't know if I trust them anymore.

[reply] [top]


    [»] Re: No time for CrashGreSQL
    by Tony Douglas - Mar 30th 2002 11:36:23

    Hi there,

    ...snip...
    > I believed the propaganda about ACID
    > properties and tried using PostgreSQL.
    It isn't propaganda, it really isn't. ACID properties are absolutely essential for the safe, reliable operation of multiple concurrent update databases. You can waste your life trying to write, test and debug your own optimistic / pessimistic / whatever locking system, or you can have a DBMS with one built in, with however many other people working on it. But you do need one.


    > What a mistake. Every time I had
    > PostgresSQL crash again and again and
    > often I had corrupted tables.
    >
    I can honestly say I haven't had Postgres do that to me; in 8 - 9 years DBAing with commercial DBMSs I've had real data loss once and recoverable corruption (ie. a stuffed cache, requiring a DBMS restart to fix) three times that I can remember. I can honestly say Postgres hasn't done anything cruel to me (yet !)


    > Then I'd switch to MySQL and it would
    > work just fine.
    >
    If it works for you, great, but I bumped into SQL issues with MySQL so early that I just went looking for other products; this was back at version 6.1...

    ...snip...
    > find that it takes PostgreSQL 60 seconds
    > to do what MySQL can do in 0.1 second.
    >
    Yep, that was a real problem. But things started getting better about 6.5.2, and get better all the time.

    ...snip...
    > Sure, PostgresSQL has all kinds of
    > features like subselects and
    > transactions -- maybe MySQL is 1/2 a
    > database because it lacks them.
    Subselects not so much (although once you're used to them, they're a pain to do without) but transactions, 'fraid so as far as I'm concerned.

    ...snip...
    > What particularly angers me ...
    Phew, there's a fair bit of heat there - guess you must have gotten really burned - want to share what happened (so we can dodge the falling tree if necessary) ?

    Bottom line is (as I see it, anyway) :
    - if you're in a multiple concurrent write scenario, you need transactions
    - if you're in a mostly read + seldom write scenario, you can probably, maybe, perhaps (did I caveat that enough ?) work around lack of transactions; but
    - if you're in a read-heavy environment, maybe any kind of SQL database is overkill, and an LDAP database (which is designed for fast reading and occasional updating) might be advisable, or even
    - if your data is already in XML format, maybe dbXML / Xindice might be an idea.

    All part of life's rich pageant, eh !!??

    - Tony

    [reply] [top]


    [»] Re: No time for CrashGreSQL
    by hqm - Apr 1st 2002 06:43:48

    My experience has been just the opposite of what you describe. I have been using Postgres since version 7.1. I have never experienced a crash nor have I ever had data become corrupted. I have used Postgres as the back-end for the OpenACS toolkit, as well as for some embedded applications that require constant inserts and deletes from network daemons. The use of subselects, transactions, and full SQL syntax is a must for me. I have seen SQL code written by people who use MySQL, and it is a mess because they don't know how to use basic SQL features that are not present in MySQL. If you believe that RDBMS == Hashtable then MySQL is probably a good match for you. Otherwise, PostgreSQL is a very good competitor for Oracle at the low-end and medium-end enterprise application level.

    [reply] [top]


[»] InnoDB
by Mark van Beek - Mar 28th 2002 08:55:12

I'm no expert, but I know a (dutch, www.tweakers.net) site that is running InnoDB and does replication. Can anyone explain this to me and the relation of it to the db's mentioned here?

[reply] [top]


    [»] Re: InnoDB
    by Joshua Eichorn - Mar 31st 2002 12:57:47


    > I'm no expert, but I know a (dutch,
    > www.tweakers.net) site that is running
    > InnoDB and does replication. Can anyone
    > explain this to me and the relation of
    > it to the db's mentioned here?
    >

    Its a new table type for mysql that supports transactions and other advanced features.

    http://mysql.com/documentation/mysql/bychapter/manual_Table_types.html#InnoDB

    [reply] [top]


[»] Hey you sap! What about SAP!
by Lewis Bergman - Mar 26th 2002 22:27:56

SAP went open source lately. Free for all. I still like PostgreSQL better (maybe because I know nothing of SAP). But, I don't know many people that would tell you that SAP isn't one of the most capable DB's in the world.

I think recommending MSSQL to a client is a disservice. The licensing scheme is a trap waiting to be sprung. Postgres can easily do well what MSSQL tries to do well.

[reply] [top]


[»] You Say You Want a Revolution (or Dude, Where's My Database?)
by dotslash - Mar 26th 2002 01:51:46

Interesting, but....

Like a previous commenter said, it looks more like a highly opinionated rant than an actual useful article, more's the pity. Having said that, there are a few points that I sort of agree with the author. PostgreSQL is underrated, however it is 600% more scalable than the author is trying to make it. MySQL is not a true relational database system, but it is relational enough and ANSI SQL complient enough to make for a really useful tool. Both have got their place.

PostgreSQL does extremely well in situations where you would typically and traditionally would have used Oracle/Sybase/Informix, even if it does lack features that would be needed in an enterprise level RDMS. MySQL is excellent for web-based content management where transaction locking is not really needed. The speed and simplicity of MySQL counts heavily in it's favour here. Insofar sheer speed is concerned, PostgreSQL is doing some serious catching up - with each new release it's much faster. The current version actually rivals MySQL in terms of speed!

A few case studies:

Interbase has indexing problems, yes. However, there are ways to work around that without crippling your database so much that you cannot use it... Interbase is still one of the fastest RDMS systems around in terms of bulk data throughput, and that speed can be used to excellent effect in some situations. For instance, I use Interbase in a traffic logger system for an ISP to store IP flows measured with NeTraMet. Together they make a tight team! I tried PostgreSQL, but it did not quite make it. MySQL was too slow, which came as a big surprise to me. I have no intention (so far) to do actual tests to measure data throughput, so my experience with the above system is purely nuts 'n bolts, and the current arrangement works like a dream.

A number of different clients of my current employer has a number of franchised branches throughout the world. One client, a chicken-based fast food chain (not KFC! ;-) uses Linux and PostgreSQL with ISDN links as the backbone of their entire POS system. The ISDN links proved fast enough and cost effective too, since they saved a fortune in not having to have dedicated data links between stores. PostgreSQL replicates it's data blindingly fast to the company's central PostgreSQL server, proving the system to be incredibly scalable. An almost identical setup is used at another client, this time specialising in electronic equipment instead of chicken! ;-) They also open up branches at the rate of between 2 to 4 per week all over the world, and this mating of using PostgreSQL/ Linux/ISDN makes them incredibly competitive. Over here in Africa, PostgreSQL rules the roost!

I hope that the author would write another article that has some more useful content and post it here again. It is obvious that the author has extensive knowledge in database systems, and it would be wonderful if he can impart with some of that knowledge instead of doing it the way he did. The article was interesting noise, but unfortunately it is still noise. Pity.
For a really interesting comparison between MySQL and PostgreSQL, this time by the MySQL development team, download the MySQL source and read the "manual.txt" file that comes with it. You'll most probably be able to download just that file via CVSWeb somewhere, but it succeeds to be as objective as can be, even from the angle it has been written. If the author could have written an A vs B comparison like that, my life could have been a bit easier. Instead I've had to wast my time reading his piece, and write this comment. Life's a bitch... ;-)

--
Regards, ./

[reply] [top]


[»] I did a similar review.
by Tadghe - Mar 22nd 2002 10:38:41

I did a similar review of my own, strictly on OSS RDBMS systems.
Those those that touted SAPDB, I can only say, first install it then look at the security model then try to like it...

Interbase has probs with indexes, Mysql is still not a true RDBMS, (but is fast as hell).

in any case you can read my review at http://mordikyn.dynu.com

-

[reply] [top]


[»] article? or opinion?
by Stefan Koopmanschap - Mar 20th 2002 07:51:55

though this piece of text was presented to me as an article, it looked more like a rant, an opinion of someone highly in favor of postgres as opposed to mySQL or any other database. it didn't really present any useful information.

why was this published on a site like freshmeat, which normally protects the high quality of information that is served to it's visitors.

[reply] [top]


[»] Hmmmm....
by Tony Douglas - Mar 19th 2002 09:09:51

Interesting article in some ways. I've been asking myself recently, "why is it I would trust an open source O/S more than an open source DBMS ?"

The answer isn't too straightforward. Some background first - a couple of years ago, I wanted a DBMS for a quick development, but didn't want to start taking up time and space on my production servers, so I had a look for an open source DBMS to run on a spare machine. MySQL & mSQL I dropped from consideration fairly quickly for lack of features, so I got to PostgreSQL. (MySQL may have moved on a bit since.) PostgreSQL supported a good subset of SQL (and has since added more), and had good support for ACID properties - essential in a "real" multi-user concurrent-update database, whatever the MySQL proponents might say. Its Ingres ancestry was obvious - nice, since we're primarily an Ingres shop. So in terms of SQL, tools, etc., PostgreSQL wasn't far behind in most areas (and ahead in some, indeed).

The big difference was scalability & manageability. Discussing open source databases with management recently, I described PostgreSQL as having the core functionality in place, but not quite having the scalability we need, and that managing the databases was like managing a 10 year old version of our current commercial DBMSs.

For example, in Ingres I have tables with between 5million - 30million rows, striped across multiple disks by the database (e.g. there are multiple mirrored locations, across which Ingres stripes the tables). I honestly wouldn't like to throw that much data into a PostgreSQL database. There also aren't enough index types - there are btree, hash and rtree indexes, but hash doesn't seem quite good enough yet and isam indexes (static versions of btrees, effectively) would be a boon - they are a good compromise in a heavy update environment where data clustering is needed but maintaining a btree becomes too lock intensive.

Also, PostgreSQL still needs a lot of work in the area of backing up and recovering databases to known points in time. Ingres, Oracle (and no doubt all the other major commercial players) have invested huge amounts of time and money on developing backup, logging and journaling systems that allow full online or hot backups, plus the ability to restore the database to a precise moment in time from those backups by selectively applying transactions from the logs to the database. This is essential, but not terribly exciting stuff (can you imagine telling a company, "sorry, there was a database problem but we've recovered it now - can you just redo today's work, please ?")

However, I do use PostgreSQL for smaller scale jobs, and am very happy with it (and getting happier with each release). Hopefully at some point soon it'll gain the "extras" that the commercial DBMSs have, and I can start thinking about it seriously as an enterprise system.

- Tony

[reply] [top]


[»] What about Interbase?
by Mattias Sundberg - Mar 19th 2002 07:48:30

In my opinion there´s no need to use big enterprise databases like Oracle or the "Dark-Side" MS SQL. Interbase has full support for foreign keys, stored prcedures and transactions and has somewhat joined OSS. I do admit that IB is not exactly ideal for web-sites since the connection-handling is slow (compared to MySQL and PostGreSQL) but for industrial sites with large databases and much data-altering it does the trick. Works quite well with PHP too.

[reply] [top]


[»] Credit where credit is due
by rz110011 - Mar 18th 2002 05:44:19

I believe it was Dr. E.F. Codd, perhaps this was a typo?

A database can take many forms, but is generally categorized into one of three slots:

A flat file (Perl does wonders with flat files)
A file-based database (Access)
A true relational database, as described in 1970 by Dr. E.F. Cobb. (MS SQL, Oracle, MySQL)

[reply] [top]


    [»] Re: Credit where credit is due
    by Sven Wåhlstam - May 28th 2003 03:17:44


    > I believe it was Dr. E.F. Codd, perhaps
    > this was a typo?
    >
    > A database can take many forms, but is
    > generally categorized into one of three
    > slots:
    >
    > A flat file (Perl does wonders with flat
    > files)
    > A file-based database (Access)
    > A true relational database, as described
    > in 1970 by Dr. E.F. Cobb. (MS SQL,
    > Oracle, MySQL)
    >
    >


    The key
    the whole key
    and nothing but the key
    so help me Codd.

    [reply] [top]


[»] MySQL vs commercial products
by Bruce Tobin - Mar 17th 2002 14:05:43

eweek recently did a database shootout test with MS-SQL Server, DB2, Oracle, MySQL and Sybase. Guess who won?

http://www.eweek.com/article/0,3658,s=708&a=23115,00.asp

[reply] [top]


[»] Some answers??
by Gorm - Mar 17th 2002 08:18:01

my $.2

1. Why can't OSS databases match commercial databases in the same way Apache meets/beats IIS and/or iPlanet (née Netscape)?

- The OSS databases do not have support from alot of 3rd party tools. This is getting better, but its still alot of problems out there. MySQL is a hardcore database that until some months ago lacked alot of funtionality that make it hard to use in ebiz. Postgress have had some of this functionality (FK and triggers) for some time but it got other problems.

2. What database should I use?

- I think it's important to look on databases as something transparent. The different databases all got positiv and negativ things bound to them.

Until Pear::DB came PHP had big trouble with this transparency. Perl got their DBI and this is very cool. I also find that most OSS developers have great pain adopting new technology (I use emacs, but the guys that started earlier than me still use vi as their main editor). When something "works" for a OSS "hacker" it's very hard to replace it.

Its also very hard (read: nearly impossible) to convert a big Microsoft SQL databases with SP, Views, ER to MySQL. This will change when MySQL supports the minimum funtionality needed to run a ebiz app.

[reply] [top]


[»] A Few Fundamental Misunderstandings
by Robert Uhl - Mar 16th 2002 22:56:52

This article has a few misunderstandings in it whose ramifications, I think, cast some doubt on the veracity of its conclusion.

While you can debate the veracity of the "Information wants to be free" manifesto (I think it should read "I want all information at no cost")...

That particular slogan means that information does not want to be enslaved, not that it wants to cost naught. It refers to the fact that information is inherently transmittable, and that attempts to hamper its spread are tantamount to shackling a man. The side effect of this fact is that folks can receive information for no cost.

Are there really any valid OSS choices? I don't think so.

You say this after stating that PostgreSQL is an exceptional database. Why is it not a valid free software alternative? Your reason seems to be simply `not enough folks use it.' So what? Let it be your competitive edge.

Software is a tool, not a religion.

Granted, so far as it goes. But usefulness as a tool is the reason for the religion. Proprietary software is simply not as useful in the long term as is free software. That's a fact of nature.

Incidentally, I would set my mother up with pine; she's much less likely to screw it up than Netscape Mail...

While most companies/individuals are too narrow-minded to mix OSS with MS products...

Why is it narrow-minded to mix free software with proprietary software? Perhaps one has come to the realisation that the disadvantages of free software are minor and those of proprietary software are major.

Incidentally, if mySQL is so primitive, why then can it so successfully run a site as popular and well-visited as Slashdot with issues?

[reply] [top]


[»] Postgres is *OLD*
by DataMoist - Mar 16th 2002 22:32:27

You may have heard of Postgres only recently, but it's been around for almost 20 years. A Short History Of Postgres.

P.S. This article was shite. The whole point of Open Source is to be a meritocracy. People who are loud but can't code should move into politics.

--
-- DataMoist -- The revolution will be packetized

[reply] [top]


[»] Freshmeat Made a Mistake Publishing This
by jonesy - Mar 16th 2002 21:27:02

This guy has obviously no knowledge of the database software industry, the database consulting industry, or the vertical markets involved in the aforementioned (like, say, the financial or insurance industries which partially fuel the market). In addition, this person is obviously not a very experienced writer.

First of all, the article, overall, lacks any kind of focus. There's a thing writers call 'revisions'. We write our first drafts like the above article: 'stream of consciousness'. It makes sense while we're writing it, and then we walk away from it for 20 minutes, come back to it, and it makes, of course, no more sense than a Slashdot comment. We go back through, cut out the extraneous crap, tweak here and there, add some order to the content.... rinse, repeat....

Second, there are glaring issues with the subject matter. Do you want to talk about databases in any particular context? If so, it's rare that you'll find Oracle and Access in the same article. If you want to talk about MySQL and the OSS community, there's a reason it was embraced in spite of the features Postgres came to the table with. Namely, a lot of people didn't need those features, and therefore didn't want the overhead or added administrative hassle/learning curve associated with them. MySQL is very compact, has a small footprint, is very fast, and if you don't need triggers/stored procedures, is fine for just about anything. If you don't believe me, send email to Yahoo and ask them how their financial site is doing. It runs on MySQL.

If you do need enterprise features, there are many other options you miss, and many insinuations you make that make it obvious that you're highly influenced by industry rags, slashdot and other things unrelated to actual experience in the field. Have you ever heard of Sybase? Did you know that MS SQL was sold to MS? Do you know that it was sold to them by Sybase, and that it's essentially version 4 of Sybase's version 12.5 product?

Do you know how the market breaks down in terms of Oracle vs. Sybase? The long and short of it is that Oracle grew to Sybase's size by feeding on the dot com boom. They never took any significant market share from Sybase in their core sectors, because Sybase has more history in enterprise scenarios, has more history running on the Sun, IBM and HP platforms, and has never been shown to be slower than Oracle in any test that I'm aware of. In addition, Sybase ASE 12.5 is available for Linux. So is DB2 (that's an IBM product). DB2 is an insane product. I would go into their query optimizer, but I don't suppose you know what that is.

Here's the deal. Screwdrivers are tools, but you don't use a flathead to do a phillipshead's job. Just the same, You don't grab Oracle or Postgres when MySQL does the job. If you grow out of MySQL (the fewest features, but one of the smallest footprints and by far the easiest to get up and running 'today'), there are plenty of other alternatives out there to turn to without going to MS SQL (one of the least scalable and feature filled - and one of the slowest databases out there).

That's all I have to say about this. If I could nail down the intended audience or the intended direction of the article, I might say more.

[reply] [top]


    [»] Re: Freshmeat Made a Mistake Publishing This
    by ozten - Mar 20th 2002 23:58:22

    I agree. Why was this published? It is more of a comment than an article.

    --
    In Soviet America, democracy chooses You!

    [reply] [top]


      [»] Re: Freshmeat Made a Mistake Publishing This
      by jeff covey - Mar 21st 2002 07:32:37


      > Why was this published? It is more of a comment than an article.

      Then write something better for me. :)

      --
      vs lbh pna ernq guvf, lbh'er n trrx.

      [reply] [top]


        [»] Re: Freshmeat Made a Mistake Publishing This
        by Robert Trebula - Mar 22nd 2002 09:53:40


        >
        > % Why was this published? It is more
        > of a comment than an article.
        >
        > Then write something better for me.
        > :)
        >

        Has freshmeat come to such state that *anything* is good enough to be published?

        Hey! The article isn't worth the T-shirt you gave to the author.

        I think this is a general issue - the value of articles being published on freshmeat goes down and down. And I mean this as a friendly advice, not a flame.

        Robert

        [reply] [top]


          [»] Re: Freshmeat Made a Mistake Publishing This
          by jeff covey - Mar 23rd 2002 11:43:18


          > the value of articles being published on freshmeat goes down and
          > down.

          I don't think that's true at all. Take a look at http://freshmeat.net/articles/ and compare it to what we were publishing three years ago (in the back of the editorials section). We're covering a much broader variety of topics now, and I think the overall quality is quite good. If we occasionally come up with one that you think is unworthy, well... sorry, but don't judge the rest by it. :)

          --
          vs lbh pna ernq guvf, lbh'er n trrx.

          [reply] [top]


    [»] Re: Freshmeat Made a Mistake Publishing This
    by Randall Randall - Mar 22nd 2002 14:20:19


    > Here's the deal. Screwdrivers are
    > tools, but you don't use a flathead to
    > do a phillipshead's job. Just the same,
    > You don't grab Oracle or Postgres when
    > MySQL does the job.

    Recently, after using PostgreSQL for two years because of the questions about whether MySQL had transactions, etc, I decide to begin using MySQL more, for those applications that don't involve financial transactions. I found that it crippled me to work with MySQL. How can you build a complex query when you don't have subselects? The alternative is to have lots of smaller queries and build the later ones based on the former, but this has two problems: It's far slower than just one query, because of the overhead involved in calling out to a database, and, you have to write extra code in the calling language (Python, RXML, Pike, whatever) to make up for the lack of subselects. This slows down web development considerably, in my experience. Anyway, since the recommended solution is to do more database queries to make up for not being able to do complex queries, I gave up and went back to PostgreSQL, which, after all, is fast enough.

    --
    -- Randall.

    [reply] [top]


    [»] Re: Freshmeat Made a Mistake Publishing This
    by David Ross - May 3rd 2002 14:29:58


    > This guy has obviously no knowledge of
    > the database software industry, the
    > database consulting industry, or the
    > vertical markets involved in the
    > aforementioned (like, say, the financial
    > or insurance industries which partially
    > fuel the market). In addition, this
    > person is obviously not a very
    > experienced writer.
    >

    Keep the flames down there. I happen to agree that the author explained things better in further postings than the original article, but I think you'e gotten carried away. I don't see your credentials listed here either...


    > Have you ever heard of
    > Sybase? Did you know that MS SQL was
    > sold to MS?
    > Do you know how the market breaks down
    > in terms of Oracle vs. Sybase? The long
    > and short of it is that Oracle grew to
    > Sybase's size by feeding on the dot com
    > boom. ...

    <b>*mini flame on*</b>
    and on and on... Geez, who cares! So you like Sybase! That's great! Are we still in a context here, or are you just "streaming conciousness"!
    <b>*mini flame off*</b>
    Sorry, but that really was ridiculous, if not verging on hypocritical. I'm no expert, but I think you've missed Oracle's history by a long shot. Oracle was big before dot-com was even a catch-phrase - when the Internet was email, ftp and gopher (I was actually a user then, so I know what I'm talking about). I know almost nothing about Sybase (perhaps this is one of their problems - marketing?)

    I happen to agree that the author's original article spent too much time shooting down MySQL and praising PostgreSQL without much meat as to why/when, but as I mentioned - I think that was explained in further postings. I actually am very interested in exactly the reasons for his feeling the way he does (and other posters facts or examples as well). There have been subsequent posts with real life examples that have been quite helpful. Perhaps you were trying to say this, but in a rude, overheated, 'stuck in your own little world' sort of way?




    [reply] [top]


[»] Sheesh, drink some coffee before you pour your brains out.
by Bobski - Mar 16th 2002 19:05:58

I mean, really. You come so close to 'stream of consciousness' I wonder if you just dropped out of bed when you started writing.

"Software is a tool, not a religion", you say, but the overall tone of your article is nothing but MySQL bashing and PostgreSQL praising, sprinkled with homage to Microsoft.

Your thoughts scatter, your pointed lists are pointless.

Was there some locus that is lost in all this grandiloquent reverie?

[reply] [top]


[»] Equating popularity with suitability? Wrong.
by Schwern - Mar 16th 2002 18:19:14

This editorial is asking the question, "What are the database choices for an OSS project?" And it comes to the conclusion "the existing OSS database are unsuitable, consider MS-SQL".

This conclusion comes through a process of elimination. MySQL is eliminated on the grounds that its generally "weak". Arguable, but fine. SAP DB, as was pointed out, is ignored as are several others. But I imagine they would be eliminated for the same reasons PostgreSQL was.

PostgreSQL is eliminated. Why? Because its missing features? No. Because it can't go toe-to-toe with commercial databases? No. The author clearly states that it has "the features of an enterprise-class database". It is eliminated because its not popular.

Hold on. Can't use a piece of software because it's not popular? This is a very, very dubious way to select anything. A conveniently self-fulfilling prophesy. There's no sign of PostgreSQL development slowing. No worry that the group might go under for lack of interest (as there might be for a commercial DB). Its easy to install (I installed mine with a few keypresses from a Debian package) so that's not a problem. SQL, as fractured as it is, is still a lingua franca, so there's not the same problem finding DBAs for underused databases like there is for underused programming languages.

So the editorial's conclusion is PostgreSQL should not be used because it is not used. Like the converse of the old joke: Nobody drives in New York City, too much traffic.

With this part of the argument chopped out PostgreSQL reenters the running and the editorial's conclusion is bunk. When placed against the offered commercial databases, it has the features, it has the speed, it has the reliability and the price is certainly right. No need to invoke religion.

[reply] [top]


[»] You forgot Mimer
by Jensus - Mar 16th 2002 16:02:23

If I have to choose between MsSQL and Oracle, I would choose Mimer http://www.mimer.com/ Mimer is probably the most standards compilant database available. It is also very easy to set up and aministrate. Mimer is unfortunately not OSS...

[reply] [top]


[»] I dont necessarily agree
by RC - Mar 16th 2002 13:17:35


What does this all mean? That OSS databases are really not ready for prime time in the way that Apache, BSD, PHP, and other OSS tools are, and, to me, that we are way past "well, it'll be kewl in a few months when we [whatever]". OSS database developers -- and especially users -- have failed to develop/embrace good DB tools. This is a fatal flaw in OSS; it leaves the door open to commercial, very non-OSS products.

Says who? YOU? Your real complaint is the lack of graphical tools isn't it? To which any decent DB programmer/admin doesnt need such tools. You can get your graphical tool using Tora which will talk with Oracle, Mysql and Postgres. but even without Tora theres more than adaquate tools available. Sorry if they are not point and click. Thats _YOUR_ problem. Mysql and Postgresql are more than capable databases. Would I use them to store say 500 million records? I'd be more inclined to choose Oracle instead. See the issue isnt one of _maturity_ of the OSS tools, it's one of _support_. The oss databases are _more_ than capable of doing the job. The issue is one of_exposure_, _training_ and _support_. Period. For many who have talented staff, this is already taken care of, for others, they need to rely upon support services offered by others.
To Imply that OSS DB's are inadquate is just wrong. I think as systems like Linux make more inroads into the marketplace, Developers will get more exposure and experience with these tools. The tools themselves right now, today are more than adaquate for most jobs.

. While most companies/individuals are too narrow-minded to mix OSS with MS products, this is often a good solution, especially for middle-range companies (that cannot afford Oracle).

First. its not a matter of narrow-mindedness, many simply do not have the staff that can handle non-out-of-the-box solutions. Thus the real issue is a lack of exposure to these tools. Again, at lest in terms of Linux, most modern distros are bundling Mysql and Postgresql together. So I think over time these tools will gain more exposure, and thus more use in different commercial projects.
Second, Oracle license is not all that expensive. It _DOES_ require someone with knowledge and experience. I can't imagine _any_ company entrusting their valuable data to someone who was _not_ knowledgable and who had _little_ exerience in DataBases.
Clearly you may have a valid complaint due to the fact not a lot of companies are deploying their software to use OSS databases. For example Oracle deploys Apache in its IAS9i portal product. So point well made, but I think Databases are of a different nature than Apache or Samba. Perhaps over time we will see more vendor support of these free databases, after all Postgres is not all that radically different from say Oracle in many ways. But still, I firmly believe the main problem with OSS Databases remains one of support.

[reply] [top]


[»] DB2 Universal?
by Toby Haynes - Mar 16th 2002 11:44:37

Is there some pariah status accorded to DB2 Universal, or was it just a major oversight on the part of the author? How can you omit the database with the largest market share in an article on OSS and commercial databases? And its cheaper than Oracle.

Other omissions are SAP DB which got GPL'd some time ago. There are the other major database products out there like Informix and Sybase.

Now I'd quite like to see improvements in the capabilities of the open source databases but my hands are tied - my day job is developing DB2 Universal so I really can't work on any opensource DB without a serious conflict of interest. On the other hand, there are open source (and even GPL'd) options out there which do the job well enough for most setups out there. For a lot of cases, the database is doing little more than ensuring the data's relational integrity. As people need more fully fledged solutions, either they will turn to a commerial DB to plug into their established SQL routines (Aren't standards wonderful things?) or will push one of the opensource developments along by commiting resources to that project.

Cheers,
Toby Haynes

--
These are my own opinions and not necessarily the opinions of IBM Canada.

[reply] [top]


    [»] Re: DB2 Universal?
    by Infidel - Apr 12th 2002 03:22:18

    % Other omissions are SAP DB which got
    > GPL'd some time ago. There are the other
    > major database products out there like
    > Informix and Sybase.

    I think the ommission of Informix may have been due to the fact that it is no longer a supported product (having been bought out by IBM then turfed).

    Now that was a DB I had a lot of respect for...especially after some of the punishment we put it through, without any down time whatsoever, over a 3 year period (other than one unmentionable occurance which resulted in a junior DBA having his hands severly slapped).

    This brings to mind a question: Why doesn't IBM release Informix to the open source community? It would, to say the least, earn them some major brownie points.

    Andy

    [reply] [top]


      [»] Re: DB2 Universal?
      by tarame - Apr 21st 2003 17:03:26

      Informix is alive and quite well. IBM has continued to enhance Informix.

      [reply] [top]


[»] SAP DB
by alinv - Mar 16th 2002 09:17:49

What about SAP DB?
It looks to me like a good candidate for the OSS options.

[reply] [top]


[»] Other options
by apuma - Mar 16th 2002 07:46:01

Take a look to firebird

http://www.ibphoenix.com/ibp_act_db.html

[reply] [top]


    [»] Re: Other options
    by Thomas Hays - Mar 16th 2002 16:54:37

    I also have used FireBird on several projects and it works well. It's fast, relatively easy to set up, supported by Java (use the newer client-java JDBC driver from CVS, not interclient), Perl, PHP, and probably others. It is also self-tuning and is as close to a dba-less install as you can find. One nice thing I like is that it stores the entire database in a single file which (in my view) makes things easier to keep track of. FYI: the official web page is at http://www.firebirdsql.org/

    [reply] [top]


[»] good and bad vs right and wrong
by Rizen - Mar 16th 2002 01:34:26

The author makes some very valid points: Like MySQL isn't as feature-rich as PostgreSQL or Oracle; and that M$ need not always be a dirty word. However, I think that there are a few larger points that he's missing.

=begin rant

1) Apache existed before IIS. That gives it a competitive edge in market dominance. PostgreSQL and MySQL are just babies in comparison to the age of Oracle. Does Oracle have more features than the OSS dbs? Of course it does! It's more than twice the age of the two of them.

2) All the proggies out there that are capable of using only one database are simply poorly designed or half-hearted hacks. Why should the OSS community necessarily adopt only OSS databases? Sure it should have them, but that doesn't mean it should play only with them.

3) While I agree that MySQL is missing major features that PostgreSQL has (and even more-so with MSSQL, Sybase, Oracle, etc), I'd say that it's not necessarily playing to the same audience as the rest. MySQL is and always has been all about the speed. If I want the features of PostgreSQL, I use it, but if my foremost concern is speed (which on the web it usually is) I'm gonna go with MySQL 10 out of 10 times. It's not that I have any warm-fuzzies about MySQL over PostgreSQL, I just use the tool that's right for the job.

4) The author said "if money and personnel are no object" you should go with Oracle. I'd say that Oracle is overkill on all except the very largest of projects. PostgreSQL easily has the features to take on most of the jobs you'd want to run on an Oracle server. And it doesn't have that $100,000 (exageration) license fee attached.

5) And finally, while PostgreSQL hasn't had quite the following that MySQL has had, it is certainly not being ignored by the OSS community. In fact one the the biggest OSS players in the game (sourceforge.net) runs on PostgreSQL. If PostgreSQL was as easy to set up as MySQL, they'd be on equal ground.

=end rant

--
Those who say it cannot be done should not interrupt those who are doing it!

[reply] [top]


    [»] Re: good and bad vs right and wrong
    by Jeremy Guthrie - Mar 16th 2002 06:58:41

    % 3) While I agree that MySQL is missing
    > major features that PostgreSQL has (and
    > even more-so with MSSQL, Sybase, Oracle,
    > etc), I'd say that it's not necessarily
    > playing to the same audience as the
    > rest. MySQL is and always has been all
    > about the speed. If I want the features
    > of PostgreSQL, I use it, but if my
    > foremost concern is speed (which on the
    > web it usually is) I'm gonna go with
    > MySQL 10 out of 10 times. It's not that
    > I have any warm-fuzzies about MySQL over
    > PostgreSQL, I just use the tool that's
    > right for the job. Postgres has been MUCH faster than MySQL since 7.1. Go find independent benchmarks, many out there show that.
    > 5) And finally, while PostgreSQL
    > hasn't had quite the following that
    > MySQL has had, it is certainly not being
    > ignored by the OSS community. In fact
    > one the the biggest OSS players in the
    > game (sourceforge.net) runs on
    > PostgreSQL. If PostgreSQL was as easy to
    > set up as MySQL, they'd be on equal
    > ground. Postgres isn't hard to setup, it's just as easy.

    [reply] [top]


    [»] Re: good and bad vs right and wrong
    by Ben Reed - Mar 17th 2002 00:36:06


    > If PostgreSQL was as easy to
    > set up as MySQL, they'd be on equal
    > ground.

    I still don't understand this... I've heard it a number of times, but when I was new to databases (and tinkered with both mysql and postgresql), postgresql's well-documented CREATE USER and GRANT functions made a hell of a lot more sense than the strange mixture of programs, database tables, and other stuff it took to make new users in mysql; and initdb/createdb seems pretty self-explanitory. No harder than "mysqladmin create [db]".

    MySQL has since added a lot of stuff to their documentation, but it used to seem like they purposefully used big words for common things in their manual so that searching the manual for keywords was very difficult. But overall, postgresql never seemed any harder than mysql to me, just different. And they were both very different from oracle (the only other database I had worked with), so it's not even like one had the advantage of familiarity from that...

    [reply] [top]


[»] PostgreSQL
by Steven Scott - Mar 16th 2002 00:34:05

...is great. I started out on MySQL a couple of years ago, and that was my introduction to SQL and RDBMSs. When I got a job in the field, working with DB2/Sybase/Oracle/MSSQL, I realized all that was missing. So I've begun a concentrated effort to use Postgres for everything. My instance of (shameless plug) MÆS runs only on postgres, now, and it's made me realize bugs I need to fix and how terribly I'm under-utilizing postgres by adapting a mysql app to work with it.

anyway, everybody who uses mysql should take the time to sit down and learn postgres. the worst thing about it is the security, what usernames and password scheme you should set up, but once you're over that hurdle it's cool.

[reply] [top]


    [»] Pulll-----eeease!
    by Jim Nicholson - Mar 16th 2002 01:15:26

    The author repeatedly claims that MySQL is somehow inadequate, but he doesn't make his case. Why does MySQL have the market penetration that it has? Because it's cheap, easy, and does what people need it to do. Why have so-called "key parts" of the formal RDBMS definition been late in coming to MySQL? Because demand for those parts was late in coming - because people found that MySQL implemented enough of the relational model to be useful, even if it lacked transactions (since added) or replication (on the way?)

    The fact is, in the normal course of events, even a developer working with commercial RDBMS offerings should be worrying very little about things like replication, transactions, foreign keys, etc.. Many of the better development efforts I've been involved in (I've been in the field since 1981 as a developer) have used stored procedures for virtually all database access, so that the application code contains not one line of SQL. Such approaches treat the database as an object, even if the underlying language technology is not OOP; the job of working out the details of what gets stored where and who can update what fields and such is left to the DBAs. And DBAs as a group are remarkably under-exposed to and under-represented in the open source world, which probably goes further to explain why none of the OSS database offerings have all the features of commercial products.

    Sorry, I just don't buy the "open source tools are inadequate for the task" schpiel. Open source is the one place in the software universe where the extant code base substantially meets the requirements. That's because the sole point of the code is to do so, unlike commercial software; any given open source program exists because someone had a need to fill. In the commercial world, factors like vendor profitability and pointy-haird-boss-buzzword alter the equation, . Is Oracle a good product? probably so. Will I ever use it? I have. Will I ever use all of it? Nope. Probably not even touch on most of it. But I know that if I need to build a prototype to specs given to me at 3pm for a demo tomorrow at noon, I'll probably use MySQL. That way, I get to go home by 7pm and play with my kids.

    --
    - Jim Nicholson

    [reply] [top]


      [»] Re: Pulll-----eeease!
      by Stephen Ramsay - Mar 16th 2002 07:59:42


      > The fact is, in the normal course of
      > events, even a developer working with
      > commercial RDBMS offerings should be
      > worrying very little about things like
      > replication, transactions, foreign keys,
      > etc..

      Really? A developer should be worrying very little about race conditions, redundancy, and referential integrity? Remind me not to hire you the next time I need a database!

      I really suspect that most people out there are building flat schemas with a couple of relations kinda sorta normalized out to first normal form. Building a real system (not necessarily a big one, just one that takes advantange of the relational model) requires all of the stuff you mention. A database without foreign keys is not a relational database. You might as well store your records in a Perl hash.

      PostgreSQL wins on every count, and it's very fast. If speed were the main concern, everyone should be using msql or Berkeley DB. I suspect that as with all things in computing, there are lots who know how to do it, but a significantly smaller subset who know how to do it well.

      --
      Stephen Ramsay Senior Programmer Institute for Advanced Technology in the Humanities University of Virginia

      [reply] [top]


        [»] Re: Pulll-----eeease!
        by vidarh - Mar 20th 2002 13:40:48


        > Really? A developer should be
        > worrying very little about race
        > conditions, redundancy, and referential
        > integrity? Remind me not to hire you
        > the next time I need a database!
        >
        > I really suspect that most people out
        > there are building flat schemas with a
        > couple of relations kinda sorta
        > normalized out to first normal form.
        > Building a real system (not necessarily
        > a big one, just one that takes
        > advantange of the relational model)
        > requires all of the stuff you mention.
        > A database without foreign keys is not a
        > relational database. You might as well
        > store your records in a Perl hash.
        >
        > PostgreSQL wins on every count, and
        > it's very fast. If speed were the main
        > concern, everyone should be using msql
        > or Berkeley DB. I suspect that as with
        > all things in computing, there are lots
        > who know how to do it, but a
        > significantly smaller subset who know
        > how to do it well.
        >

        If you read the post you responded to again, perhaps you'll see the section where he is pointing out that most of the relational DB stuff can be placed in stored procedures and "hidden" from the application developers. He advocated letting the DBAs worry about the database, and letting the application developers worry about application logic.

        [reply] [top]


    [»] Re: PostgreSQL
    by Grant K Rauscher - Mar 16th 2002 01:55:36

    I certainly agree with Jim Nicholson's response (above), yet most projects aren't lucky enough to have DBA teams, much less organized ones who are able to abstract all SQL out of development! A great many projects should not require so much focus on something outside the scope of the project... unnecessary complexity, but what is the solution?

    I'm strongly influenced by licensing restrictions, as the author of the article appears to be, but as the article wisely states it is imperative to choose the right tool for the job. I realize that eventually many of us do choose software based on licensing, increasingly of late, but I don't believe it to be the primary factor overall - yet or perhaps ever.

    object and xml databases are a more natural fit for most use cases than relational ones, which are built for efficiency of execution, not development and maintenance. RDMBSs are useful for large corporations and have tailor-made solutions for almost every statistical analysis scenario, but are not as aptly applied to web development, embedded applications/appliances, distributed services or even what databases are designed for : persistence and organization.

    relational databases are basically 2-dimensional matrices with pointers... high-class spreadsheets. object and xml databases are more likely to accept the architectures and data models you're working with every day, and are more adaptable, flexible and customizable : you'll be able to apply extreme programming principles and add fields as you go, connect to other systems and maintain focus on your data model and your project, not that of the database and the best possible model that fits into that database.

    before choosing to ignore this suggestion and go back to relational databases, struggling to fit your designs into its data model, consider xml and object databases. import/export from/to RDBMSs is straightforward, and has been set up in real-time to truly garner the design/maintenance benefits of OODBMSs while retaining the atomicity and existing relational tools without sacrificing data quality and currency.

    [reply] [top]