Sybase v Oracle.  Why go Sybase?

Before reading this...you MUST read Brian Ceccarelli's discussion of
Oracle limitations.  You'll be amazed at the detail and the points
he brings up.  Surf to http://www.talusmusic.com/BrainTools/ and click on
the "Oracle Facts 1 & 2" documents.

---

Sybase...
- 11.9.2 is beating Oracle's database in Tpc tests.  See the TPC-C
tests at www.tpc.org and sort by Hardware Vendor.  A recent TPC-C 
benchmark of Sybase ASE 12.0..0.2 on Sun E-10000 beat Oracle on 
the same platform by 36%.  (Cost per transaction  (156,873 tpmC) was 
$48.81  vs. Oracle's (115,395 tpmC) of $105.63).  This is the fastest
TPC benchmark ever recorded (as of 12/2000) for a SMP environment.

- Sybase is far less Expensive than Oracle.  Arbitrarily, Oracle charges per
megahertz on the CPU, a Universal Power Unit.  UPU=number of processors
multiplied by processor speed, multiplied by $100 (the current price
per UPU).  This has problems two ways; a PC chip works at far higher
megahertz speeds than a Sun Ultrachip, meaning a far more powerful
server costs far less than a PC-based server.  Secondly, users are charged
for capacity over an entire server, even if Oracle is not the only software
running.  Additional features are always additional cost in Oracle;
Sybase builds in all features to its entine.

- Oracle's Tech support is inferior compared to Sybase's.  Sybase has
Online case management and updating, instant reponse times.

- Sybase is cheaper to administer, from a DBA standpoint.  Mgrs report
that one Sybase DBA can do what 2-3 Oracle DBA's do.  

- Sybase's Customization and Tuning is simple (one text file contains
hundreds of database server options) compared to tuning Oracle.  It is 
far easier to administer, install, operate Sybase.  Very easy to create
databases versus instances.  

- Sybase Requires fewer system resources; Sybase's code runs within one 
operating system process, not dozens like Oracle.  Sybase manages memory 
better.  Oracle: one instance, one database.  One client, one
process.  One sql*plus client can only take one batch of sql at a time.
Everything in Oracle is single-threaded, not multi-threaded like Sybase.

- more efficient use of tempdb.  Oracle has a temporary workspace 
but does not clean itself up afterward like Sybase's tempdb.

- has far better documentation.  Sybooks is nicely organized and
searchable.  Oracle's is a nightmare.

- Ease of data migrations both in and out of Sybase.  Oracle has no
tools to export data out of its Databases (except in native format).

- Reliability/Stability; Banks, Financial institutions, NYSE, Nasdaq,
Amex all run Sybase.  Sybase owns 90% of the financial industry.  Oracle
has a directory (/admin/cdumps) specifically made to collect core files!

- Use of Transaction logs: Sybase has rollback and recovery transaction
log features built into the same construct; each transaction only needs to
be written to one place.  Oracle must write transactions twice (once to
the Rollback segment, once to the Redo log) because the recovery feature
was never built into the main engine.  Configuration is thus more difficult.
I/O increases. 

- Needless Index maintenance: Oracle logs index creations (why??) and 
never deletes from Indexes...neccesitating periodic manual Index recreation
to reclaim space.

- Disaster Recovery; with inline backup utilities, Sybase can back itself
up on the fly w/o taking tablespaces offline.  Replication server
creates a warm standby for 100% uptime.  Oracle can do neither.

- Backup capabilities; Sybase has builtin backup tools; Oracle depends
on file system/3rd party backup solutions (a very difficult endeavor
when your data devices are on raw disks; dependency on dd commands to
do backups).  In Sybase its one command; in Oracle its a three-day class.
Hot Backup capability requires additional I/O overhead.  Oracle backups
work best doing "cold backups" (i.e., shutting down the server...how
feasable is that in today's computing environment??).

- SQL limitations: You cannot mix DDL inline with an if statement in
Oracle.  You cannot truncate a table in Oracle w/o removing its constraints.
Data types not being IEEE compliant (causing cpu overhead as regular
numbers are passed in and converted on the fly constantly).  Every
select statement is am implicit cursor in Oracle.  Oracle can't handle
result sets!!  All sql must return exactly one result.  PL/SQL considered
verbose and Cobol-esque.

- Similarity to Microsoft SQL Server: relatively easy to transfer data
from one to another (on account of their past shared code base).  Also
relatively straightforward to re-train MS Sql server admins for Sybase
and vice versa.

-----
"Features" in Oracle not in Sybase and rebuttals

- Automatic database segment growth; I would argue that this is incredibly
dangerous to allow to occur.  Its easy to extend databases, not so much
to fail them back.  Now many Unix SA's would like an automatic disk growth
feature for their users?

- "Minus" clause to detect table differences.  Re-writable with a simple
"not exists" clause of a select statement.  

- Decode statement; previously emulated with complicated abs functions,
but now (11.5) emulated with case and coalesce statements.

- larger varchar() capabilities (beyond 255 characters): varchar2 in Oracle
is not Ansi standard ... but it is flexible.  Later versions of Sybase
(12.0+ and above) increase the 255 character limit in varchar datatypes.

- Sequences: The Sybase identity was a weaker emulation of Oracle's sequence,
until 12.0, when the Identity can be more or less configured to be
monotonically increasing.  Prior to 12.0 sequences were easily emulated
with a stored proc/key storage table solution.

- Synonyms: these are actually Oracle constructs designed to get around
Oracle architecture limitations.

- Time datatype: Oracle seperates Time from Date.  Sybase's datetime
datatype has both included in one, plus a whole suite of display styles
that can show the date/time in a multitude of formats.  However, Oracle
is weak interpreting date/time variables being imported, and Oracle's time
variable is only precise to the second.  If you need more precision, you
must design your own datatype.

- Some nice Inhouse tools: Oracle Forms and Reports.  However these 
tools are very expensive and challenging to get upto speed on, and Sybase
has totally comparable 3rd party Reporting tools that can connect using
Sybase's native client libraries.

- Connect by: some sort of "tree-walking" clause?

- Before and After triggers: definite advantage over Sybase's "after"
only triggers.

- Cascade Deletes: ?