[plug] Linux DBMS

Bret Busby bret at clearsol.iinet.net.au
Tue Mar 28 15:41:14 WST 2000


Nick Bannon wrote:
> 
<snip>

> If you need support, reliability, high level network access etc, _and_
> raw speed try MySQL.
> 
> If you need support, reliability, high level network access, etc, _and_
> you actually need a RDBMS with transactions, SQL compliance et al,
> try PostgreSQL.
> 
> If you need all that, on a big scale, with multiple people working on
> things at once, on large amounts of data, try Oracle. There's a few
> other choices in this arena - IBM DB2, Sybase, MS SQL Server etc.

Not forgetting Informix, which has also ported to Linux...

> 
> Even Oracle, etc. will run fine on any new PC, but there's a reason
> people buy clusters of big fast machines, each with with gigabytes of RAM,
> huge caches, fat IO buses, big fast discs, multiple fast CPUs, with big
> price tags and equally big support contracts to ensure that expertise
> (and in the case of hardware, components) are immediately on hand in
> case of problems. The brand of CPU or OS is almost irrelevant except
> when it gets in the way of getting the job done.
> 

It all depends on what you want to do (in terms of quantified analysis;
transaction volume/rate, number of currencies simultaneously handled (that
should be easy enough to work around), types of collision handling and locking
required, etc), and what front-end you want to use.

It also depends on how much you want to pay. If you are going to use mySQL
commercially, from memory, the fee is 200 euro's, and some (I think Oracle
provides one) products that have high fees otherwise, are free on Linux.
Informix had an offer, but, from memory, the $99 (maybe USD) (I think it was
$99, it may have been $299) offer, was for only three months' trial use. You
have to check the licensing agreements, and, if you err, you could find it quite
expensive. I am not sure, but I believe that PostGreSQL is free to use,
including for commercial applications.

There's no point using a super-dooper, whizz-bang database back-end, if your
front-end is not compatible. That generally means making sure that you have the
right ODBC drivers, and, importantly, that the ODBC drivers work well.

>From memory, some time ago, someone posted a URL on the mailing list, for a web
site comparing mySQL and PostGreSQL, and I have found a website that lists
comparisons of Oracle, Informix, and PostGreSQL (it may have been the same
website, comparing the four products, and, it compared ANSI SQL 92 compliance,
transaction capability in terms of volume and processing speed, etc); it's the
kind of thing for which you have to spend the time searching. If and when you do
find such resources, you need to consider the date of the review; those
companies are updating their products, and buying out other companies and
assimilating their products, continuously. An example, is when, a few years ago,
Informix bought out Illustra, and reformed the Illustra product into Informix
Universal Server; and, from memory, Illustra formed from PostGreSQL, or one of
its derivatives, if my memory is correct.

With the continual changes occurring in that area, the best thing is to go
visiting all the database development system companies websites of which you can
think; eg Oracle, Informix, CA, mySQL, PostrGreSQL, IBM, etc, and see what they
are offering.

In terms of the CPU/OS issue, it was my understanding, from a couple of years
ago, that the Cyrix chips were faster at database processing than the Pentiums
(that should give an indication of how long ago), but that, for graphics and
thus games, and, I think, for floating point calculations, the pentiums were
faster. Perhaps that had something to do with the instruction set for the Cyrix
6x86 chips, apparently being the same as only the i486 instruction set, and not
the i586 instruction set. Thus, it is possible that one brand of CPU might be
better for database processing, but, I believe that the CPU brand is, now,
purely a matter of personal preference. Once again, it depends on exactly what
you want to do. One particular brand of CPU, or, dual, or multiple CPU's, may be
more appropriate, and may be cost-effective, or, may be a complete waste of
money, depending on the particular needs.

Regarding the OS, depending on the nature of what exactly it is that you are
considering doing, Linux has Apache, on which you can run such combinations as
mySQL/PHP, PostGreSQL/PHP, mySQL/Perl, PostGreSQL/Perl, etc, which, from my
understanding, cause all the data processing to be done on the web server,
rather than the client machine, resulting in less bandwidth usage, and less
processing requirement on the client machines, and, thus means that much cheaper
client machines can be used, needing only to run an OS and a compatible web
browser. That also, goes to the required power of the web server computer,
depending on what is needed.

If you decide to use a Java front end, as at least one of the banks does, for
Internet banking, it allows  security applets, but requires Java enabled
browsers (which some, like me, will not allow, out of security concerns due to
abuses by Java applets), and a Java front-ent can requie client-end processing,
which therefore also requires greater bandwidth usage, apart from requiring
client PC's to do the processing, and thus, that the client computers would need
to be more powerful, to ensure faster processing.

Linux, from what I understand, is more robust (I think that is the appropriate
term), and more resilient, than other versions of UNIX, and, certainly more so,
that either Microsoft operating systems, or proprietary operating systems of
hardware manufacturers. Whilst my knowledge of Linux, is comparatively limited,
compared to some on this mailing lis, I understand that Linux would be the best
operating system to do the job, providing you find the applications that are
capable of doing the required job, to run on Linux. I know of Informix for SCO
UNIX, having been successfully installed and run on Linux without need for
recompiling, so, it is possible that other UNIX-based databases, will run
successfully on Linux, without any modifications.

Linux also has one thing over some of the other OS's; if you want to do real
serious stuff, Linux with Beowulf, will allow you to rein in many little
computers, to form one massive, multiprocessing system, for distributed
processing.

It all depends on what you want to do, exactly...

Once you have sorted that out, then, you find the appropriate tools. It is no
use getting a $100,000 setup, to do the job that a $2,000 setup could
effectively manage, and, conversely, it is not worth trying to do a massive job,
with cubes and multi-dimensional databases, using MS Access97.

Remember the Hitch-hiker's Guide to the Galaxy? The question can be the most
important thing. The answer is no good, if the question is the wrong question.

First, sort out exactly what you want to do, and what you need, then, and, only
then, look for the solution.

And, remember, if you get a toy Internet business application, and launch it on
the Internet, and people try to use it, and fail, because the application is too
much of a toy, and not a serious enough application, that kind of choice has
caused big multi-nationals to lose massive amounts of money and goodwill, and
has had similar effects on small startup companies, so, before investing in a
toy application, solely on the basis of cheapness, make sure that you have the
right tool for the job.

That is why people pay lots of money to get professionals to analyse needs and
requirements, and to recommend on the basis of the analyses; it costs more in
the short term, and less in the long term, if the professionals are any good.

That is my opinion.
-- 

Bret Busby

........................................



More information about the plug mailing list