Article View: net.database
Article #239Re: Re: speed of ORACLE, large INFORMIX DBMS's
From: Robert Bradbury
Date: Mon, 21 Jul 1986 18:19
Date: Mon, 21 Jul 1986 18:19
45 lines
3018 bytes
3018 bytes
In article <235@hdsvx1.UUCP>, hoffman@hdsvx1.UUCP (Richard Hoffman) writes:
>
> > Sorry Greg, but I don't think this is incorrect.
> > To my knowledge our advertising only claims to compress the indexes. We do
> > not compress the data itself (nor do any of the other RDBMS to my knowledge)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Ingres does offer primitive data compression for text strings (the supress
> trailing blanks and nulls using run-length compaction) in the base tables
> themselves, not just the indexes.
We have a mis-understanding of terms here. By "compression" I meant squeezing
the data into a smaller format (like the compress or pack utilities on UNIX).
I consider Oracle's treatment of indexes using forward and backward compression
to be actual data compression as it has to be "un-compressed" to be useful.
(The actual un-compression isn't that expensive and you can create uncompressed
indexes if space is cheap and time is expensive).
The idea of storing trailing blanks (or padding fields to their maximum width)
makes so little sense to me that I'm surprised that anyone would do it.
Oracle certianly doesn't. We do allow you to bind data to a data-type which
will not strip trailing blanks on insertion but I doubt it is commonly used.
As far as using run-lenth compaction (ala Ingres), do sequences of 3 or more
identical characters occur often enough to justify the expense of scanning?
What I meant by the (nor do any ...) comment was that I suspected no one
actually encoded the data (7-bit ascii massaged to fill 8 bit bytes for
example) owing to the problems of scanning and ordering the data.
Other "space saving" (data compression?) features found in Oracle include:
- Null fields require no storage at all.
- Numbers are variable length (0 requires 1 byte, 1-99 requires 2 bytes,
100-9999 3 bytes, 10000-999999 4 bytes, etc.). It depends on your
application whether this saves you a little or costs you a little.
It is done primarily to allow our numeric range to be indepenent of
(and exceed) the capacity of a machines f.p. unit and to allow
transparent exporting and importing of data across machines with
different architectures.
--
Robert Bradbury
Oracle Corporation
(206) 364-1442 {ihnp4!muuxl,hplabs}!oracle!bradbury
Technical Details
Message-ID:
<456@oracle.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!nike!ucbcad!ucbvax!hplabs!oracle!bradburyReferences:
<449@oracle.UUCP> <235@hdsvx1.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!nike!ucbcad!ucbvax!hplabs!oracle!bradbury From: bradbury@oracle.UUCP (Robert Bradbury) Newsgroups: net.database Subject: Re: Re: speed of ORACLE, large INFORMIX DBMS's Message-ID: <456@oracle.UUCP> Date: Mon, 21-Jul-86 14:19:29 EDT Article-I.D.: oracle.456 Posted: Mon Jul 21 14:19:29 1986 Date-Received: Mon, 28-Jul-86 00:51:09 EDT References: <449@oracle.UUCP> <235@hdsvx1.UUCP> Organization: ORACLE Corporation, 20 Davis Dr., Belmont CA 94002 Lines: 45 Summary: Database storage and data compression