Re: Compression in Oracle, by Jonathan Lewis

From: Jonathan Lewis <>
Date: Thu, 14 Feb 2013 17:24:14 -0000
Message-ID: <>

"Mladen Gogala" <> wrote in message
|I just wanted to share this with the group
| This is an excellent article, with good technical information. The only
| remark that I have is the remark that Oracle doesn't do compression but
| deduplication. The problem is, of course, in the fact that compression
| really is deduplication. If one checks the most popular family of
| compression algorithms invented by Lempel, Ziv and Welch (that's where
| "LZW" comes from), one will see that it's all about deduplication.
| Essentially, those guys are building dictionary of things and, when
| encounter an existing item, mark it with a pointer. Deduplication and
| compression are, essentially, one and the same.
| The description and the fact that Oracle pins the block during the
| reconstruction are excellent. I really enjoyed reading the article.


Thanks for mentioning it.I enjoyed writing the series - it was quite nice to have an opportunity to write a fairly lengthy piece (5 instalments) without going to the lengths of writing a book.

You're right about the deduplication / compression thing, of course - at least with respect to loss-less compression mechanism - but I decided to put it the way I did because there's a much higher degree of structure in the choice of deduplication that takes place in an Oracle block than there is in the generic run-count and dynamic dictionary compression methods. I was trying to emphasise the image that there's a significant difference between "compressing an Oracle block" and "compressing a jpg", and the latter is the sort of image that I think many people have in mind when they talk about compression.


Jonathan Lewis

Author: Oracle Core (Apress 2011) Received on Thu Feb 14 2013 - 18:24:14 CET

Original text of this message