[Asterisk-Users] OT: Best DB
Chris Travers
chris at metatrontech.com
Sun Mar 13 12:27:18 MST 2005
>
> At the risk of sounding like a closed source fan (I'm not) I do think
> you should
> at least consider Oracle for this job.
> I built a system a few years ago which takes a constant stream of
> entries from a number (<100)
> of remote systems analizes them and generates reports
> (see http://www.westpoint.ltd.uk/example-reports/reports/index.htm)
>
> We use Oracle for it, and it has been great. Also they have improved
> the weakest points:
> 1) pricing - It is now _much_ cheaper than it was
> 2) Install - I had a couple of oracle newbies install it in a
> couple of hours, that was never possible
> in the old days.
>
On the other hand, PostgreSQL is Free and can be installed for light use
in under an hour from source by a first time user, or far less time than
that if you use RPM's etc. Tuning it for heavy load can take a little
more time, but that is life with a read DB (Oracle is not so different
in this regard.
> Once you have it there are _stacks_ of neat features and a really
> solid performance.
> I am especialy fond of the ability to put java into triggers (we send
> SNMP traps to
> ops console when specific error conditions occur on inserts) and the
> whole oracle
> Text and XML integration has saved me _months_ of development time on
> various project.
Ditto with PostgreSQL. Except that usually triggers are written in
PLPGSQL, Perl, or C. I don't know whether PHP, Python, or Java support
triggers yet but I am sure that they will soon :-)
Anyway..... People's main gripes regarding PostgreSQL tend to come down to:
1) Slow performance under heavy load. Historically (prior to 7.4),
PostgreSQL installed with very conservative memory settings, allowing it
to run on pretty much any system made after the 1970's (ok, that is an
overstatement but you get the idea). It required tuning to get good
performance under heavy concurrent use. Nowadays, it does a better job
of autodetecting settings, but if you need a *lot* of concurrent
connections, you will still want to do some tuning.
2) Historically, the alter table command was a bear. Nowadays it is
better.
3) PostgreSQL doesn't ship with a GUI interface, so go get phppgadmin,
Pgaccess, or Pgadmin III.
The selling points are:
1) Extremely good performance under load (+/- 10% compared to
commercial RDBMS's when properly tuned)
2) Extensible data types
3) User defined functions in a wide variety of languages including
Java, TCL, Perl, Bash(!), Python, PHP, and more.
4) Extreme care taken on making sure your data is consistant and
meaningful. Compared to MySQL which does not take so many precautions,
PostgreSQL is the way to go. As an aside, PostgreSQL and Oracle differ
in whether they consider empty strings to be synonymous with NULL
values. Oracle says Yes, while PostgreSQL (and iirc the ANSI standard)
says No, but this is a minor point which is usually academic.
But whatever you do, don't trust your accounting information to MySQL.
Best Wishes,
Chris Travers
Metatron Technology Consulting
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chris.vcf
Type: text/x-vcard
Size: 127 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20050313/b4814b5d/chris.vcf
More information about the asterisk-users
mailing list