[Info-vax] Oracle Database vs Oracle/Rdb
Craig A. Berry
craigberry at nospam.mac.com
Sat Jul 13 00:30:11 EDT 2019
On 6/27/19 2:28 PM, Arne Vajhøj wrote:
> On 6/27/2019 3:11 PM, Craig A. Berry wrote:
>> On 6/27/19 10:32 AM, Arne Vajhøj wrote:
>>> On 6/27/2019 3:23 AM, Jan-Erik Söderholm wrote:
>>>> Den 2019-06-27 kl. 04:12, skrev Arne Vajhøj:
>>>>> On 6/26/2019 9:29 PM, Dave Froble wrote:
>>>>>> On 6/25/2019 7:35 PM, Arne Vajhøj wrote:
>>>>>>> RMS is used in two meanings:
>>>>>>> * a technically correct of everything going through RMS (which is
>>>>>>> almost
>>>>>>> all IO)
>>>>>>
>>>>>> Well, that isn't correct. While RMS is very available on VMS,
>>>>>> there are other types of I/O. Arne may not know about them, but
>>>>>> they do exist.
>>>>>
>>>>> It is possible to use SYS$QIO(W) but I suspect that >99% of all
>>>>> IO goes through RMS.
>>>>
>>>> In respect to the subject of this thread, Rdb doesn't do RMS
>>>> for regular database I/O. Some operations (I think writing som
>>>> of the log files and maybe some of the backup work) use RMS.
>>>> But the important daily database I/O is not using RMS.
>>>> Probably faster that way...
>>>
>>> For special need SYS$QIO(W) - and for newer systems
>>> SYS$IO_PERFORM - can be and are used.
>>
>> 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?
They would have to know what pages are affected by an update and flush
them to disk on commit. I'm sure others here could explain the details
better than I could, but I think this is one reason not all RDBMSs have
always offered record-level locking and why they usually still prefer to
escalate those to page-level locks when they can.
More information about the Info-vax
mailing list