Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Fahd.

Asked: April 21, 2017 - 10:51 am UTC

Last updated: August 09, 2022 - 3:05 am UTC

Version: 11.2.0.1.0

Viewed 1000+ times

You Asked

Why is writing to Redolog file is faster then actually writing changes to datafiles ?

and Connor said...

That's an interesting question given modern storage infrastructure.

But when you consider that disks were predominantly spinning platters, then writing in sequential fashion was far more efficient than doing random I/O all over the disk.

So redo logs give a means of performing sequential writes to the redo logs files (compared with random single block I/O by the database writer).


Rating

  (4 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Sebastian, April 26, 2017 - 8:25 am UTC

I also was wondering about this.

Interaction with datafiles is done mostly with default 8kb blocks (sometimes 16kb, I rarely seen different configurations) while standard blocksize of redo log is 512 bytes so it is much lighter to write sequentialy 512 bytes of redo log and return command to session after it commit than write 8kb of datafile block (this is done via dbwn asynchronous to user session).

Although nowadays redo log can have 4 kb of blocksize which is reducing benefit of smaller writes.

IMHO I think that someday in future flash storage will dominate market so much that Oracle will have to redevelop RDBMS engine to elimante redo log entirely ;)
Connor McDonald
April 27, 2017 - 6:25 am UTC

These things do happen occasionally....Oracle 6 was pretty much a rewrite from the ground up

Reason

Asim, August 07, 2022 - 2:13 pm UTC

And what became the reason I mean what technology advancement became the reason for rewriting Oracle 6
Connor McDonald
August 08, 2022 - 1:22 am UTC

It was setting the foundations for pretty much all versions up to oracle 12 (multitenant)

Better rollback segments, space management etc. I think we can be pretty confident that it was not a decision taken lightly, because rewriting your product generally doesn't end well for companies. (eg Netscape)

Will online redo be removed in near future

Asim, August 08, 2022 - 4:53 pm UTC


So that was said in year 2017, now in 2022 (5years), do you think flash storage dominated the market so much ?
Do you think oracle will remove online redo log files and directly writes to data file, or atleast make the use of online redo log files optional in future to take the advantage of flash storage?


Connor McDonald
August 09, 2022 - 3:05 am UTC

If you're writing direcly to datafiles, now you have a contention issue - what if 2 people want to write to the same block?

With redo, because the writing is *always* append, ie, write *new* blocks, then you don't have this concern.

However, look at our Exadata stuff - we've been taking advantage of flash in various areas for many years. I would be unsurprised if we dont continue to exploit it in more ways

Concepts

emaN, August 10, 2022 - 12:40 am UTC

Do you think oracle will remove online redo log files and directly writes to data file, or atleast make the use of online redo log files optional in future to take the advantage of flash storage?


RAM is still faster than flash storage. Data and undo blocks changes are cached in memory. The redo log tracks changes in the sequential order. This protects data changes from inconsistency in the event of a write failure.