[Info-vax] Oracle Database vs Oracle/Rdb
Jan-Erik Söderholm
jan-erik.soderholm at telia.com
Fri Jun 28 09:22:31 EDT 2019
Den 2019-06-28 kl. 15:08, skrev Bob Koehler:
> In article <qf35cn$1hq7$1 at gioia.aioe.org>, =?UTF-8?Q?Arne_Vajh=c3=b8j?= <arne at vajhoej.dk> writes:
>> On 6/27/2019 3:11 PM, Craig A. Berry wrote:
>>>
>>> I think databases often use storage-backed global sections or equivalent
>>> for a lot of their I/O so that the OS is just dealing with whole pages
>>> that get swapped out to disk using memory management primitives.
>>
>> That is probably the most efficient.
>>
>> But how do they know if the data are actually written to disk?
>>
>
> I've used such global sections for inter-process communication many
> times. But I think a DBMS does want to know data are on the disk.
> I don't know of any way to force that. As long as the power stays on
> and the OS doesn't crash, it will happen eventually, but I would not
> want to buy a DBMS that relies on those.
>
What is important is that the transaction journal is written
with committed transactions. Then you can lose the actual
database data update since it can (will) be rolled forward from
the journal when the database restarts.
Rdb tries to write “dirty” pages (pages in cache that has been
updated from what is on disk) in batches to optimize the I/O.
On single node (non-clusered) setups, different user processes
can transfer pages between local buffers in-memory. In clusters
the pages still have top go down to disk first and re-read.
But yes, as others also said, modern storage systems has made
many of the trimming knobs less important, as long as you do
not go with the defaults for some simple things such as DB page
size which are way too low for modern storage systems.
More information about the Info-vax
mailing list