[Info-vax] HP wins Oracle Itanium case
David Froble
davef at tsoft-inc.com
Tue Aug 21 22:11:29 EDT 2012
Stephen Hoffman wrote:
> On 2012-08-21 20:37:44 +0000, Bob Koehler said:
>
>> In article <zCQYr.12412$7h.10088 at fx23.am4>, ChrisQ <meru at devnull.com>
>> writes:
>>> On 08/21/12 17:33, Bob Koehler wrote:
>>>> In article<b9NYr.4322$3p2.4259 at fx03.am4>, ChrisQ<meru at devnull.com>
>>>> writes:
>>>>>
>>>>> As for RMS, a file system is to store bytes and any imposed
>>>>> structure on
>>>>> the data should be layered on elsewhere. So yes, you will have to
>>>>> write it
>>>>> yourself :-)...
>>>>
>>>> "a file system is to store bytes"
>>>>
>>>> Nope. Meaningless hype.
>>>
>>> ymmv, but the ideal file system really doesn't want to know about
>>> various data
>>> formats. It's main function is to store and retrieve data.
>>
>> Nope. Disks are made to store and retrive data, filesystems to
>> organize it.
I agree with Bob ..
I'll also point out that for your data, there is no need to use RMS if you
desire not to do so. QIO works for reading and writing data. Mount /Foreign
and roll your own if you don't like ODS.
On the other side, providing RMS allows various languages to access data files
without the requirement of providing the underlaying file system.
> And then there are the things I find frustrating about the file system,
> and I'm here lumping VMS mechanisms such as mount, RMS, and the XQP,
> together...
Oh, good, I finally get to be the devil's advocate, not the defense :-)
> o RMS files don't defragment themselves,
Short of some Relational databases, is there any file system anywhere that does
this? And even in something that does, can it be done without copying the data
elsewhere?
> and indexed files don't pack
> old records.
Give ya this one, my DAS database system doesn't either. I've looked at it more
than once, and the hassle doesn't seem worth the effort. However, a programmer
can re-use a deleted record.
< The programmer or the end-user has to deal with that mess.
It was ever thus ..
Isn't that why we have programmers ??
> o RMS files require an extra license and related coding for
> transactional processing and rollbacks, and the transactional API
> doesn't document any means of synchronization with the other activities
> that might be necessary within an application.
Some people consider marketing decisions a technical issue. I don't. But I can
consider it a royal PITA.
Sychronizing any database software with an application has always been a tough
nut to crack.
> o RMS files (and disks) don't scale past two terabytes.
Did any pre-1990 OS? Maybe ever any pre-2000 OS? Let's be fair in case we're
doing any comparisons. Or if we're just listing lack of updating when it should
happen, well, isn't that what these discussions are all about? HP not
continuing VMS development?
> o RMS programming routines have an exceedingly arcane programming
> interface.
If calling RMS directly, I got to agree. If using RMS from a HLL, then I don't
agree. RMS benefits the VMS HLLs.
> o RMS sequential files force the user to deal with slightly different
> formats, particularly when transferring files around.
That's more like, the rest of the world came up with something different, and if
there was to be interchange of data, RMS needed to implement that used by
others. At least it can adapt. How well do other OS handle RMS files? They
are the ones having trouble adapting.
> o RMS relative files lack sparse storage capabilities; you're pushed
> over into index files if you need that.
Is there any method to do this? If the record can be found only by it's
position in the file, then the calculations to find a record need some fixed
information, such as record length. Now, if you're going to have some pointer
to each record so it can be found, well, isn't that an index?
Are you suggesting that there are data storage models that can have variable
length relative records without some type of pointer? If so, I'd be interested
in knowing about them. That would be very educational.
> o RMS record and I/O data transfers are limited in size.
As are most things in this universe. At some time in the past 32767 bytes was
considered quite large. Time changes all things. Did Unix in 1970 have any I'O
limits? If so, and they were modified, then that just takes us back to lack of
ongoing development of VMS.
> o RMS files require you to deal with records, rather than dealing with
> your data; there are no marshalling and unmarshalling APIs.
> o Heck, there's no concept of marshalling and unmarshalling anywere; I
> have to roll my own data structures with SDL or {whatever}.
As I'm not sure what "marshalling" is, I'm assuming it's defining and accessing
the pieces of a data record. That's always been one of my complaints about RMS,
that the data file system doesn't know a dang thing about what's in the records.
The DAS database system I mentioned above contains this "marshalling"
information within the file, and the database routines assign labels, if
desired, to the data fields in a data record when the record is read. This
dynamic labeling is more labor intensive, but, allows for many utility programs
for manipulating the data files, records, and data fields.
> o VMS (and RMS) doesn't implement application sandboxing.
Without having huge amounts of memory available, what does?
My preference is development and testing systems.
> o RMS doesn't implement action routines; there are no built-in triggers
> for activity, short of repurposing the security APIs.
Examples? What would such be used for?
> o RMS doesn't have a way to set a default sequential file format.
Well, it did once, until it had to be modified to support multiple formats. But
yeah, being able to have a consistent default would be a good thing.
> o RMS lacks an API and storage for application metadata, beyond
> repurposing an ACE.
Ya know, I don't get out much, so, just what would this be, and what could it be
used for?
> o RMS lacks a data replication API; HBVS and journaling are it.
Agreed.
> o VMS had (has?) a separate shelving package and tools for nearline
> archiving and restoring files.
> o VMS (and RMS) lacks the application synchronization primitives for a
> consistent on-line BACKUP.
I've heard this many times, and I agree that it is a problem. But how large of
a problem. Assume that you could journal all activity that didn't make a
backup, and then included that data with the backup. Sure, you could restore as
of the point in time when the backup finished, but for a 24 x 365 application,
just how much does that help?
As mentioned before, I don't get out much, so I'm asking, is there any system
anywhere that can perform an online backup and always get it 100% right, and if
it does, what about subsequent activity?
> o RMS lacks a way to modifying the structure of an existing file in
> place; you're left to either implement this record translation yourself
> at run-time, or rewrite the file. (This made SYSUAF upgrades all the
> more interesting, as there was no good way to do that across versions.)
And the reason DAS has this offline capability is to allow quick and easy
modification. It's still copying data from a source to a destination.
> o And VMS doesn't support variant file systems; there's no API for
> inserting your own file system underneath RMS, or a replacement for RMS.
As for file storage, you're correct. Does any other OS allow multiple file
systems on the same disks? I frankly don't see how this could be done. One
file system per disk, yes, I can see that, and that is might be useful, if the
tools to use multiple file systems existed.
I guess an example would be Weendoze handling both NTFS and FAT. I'm assuming
that there is different code for each. Or possibly different code for certain
operations.
Would ODS-2 and ODS-5 be considered different file systems?
> o Add a key to an existing indexed file. Or remove it. Go ahead. Try
> it. Make my day.
That was always another of my problems with RMS. In an indexed file, the bottom
level keys were actually the data record. To change the primary key, you needed
to move the entire data record.
> o RMS forces me to read records in, and to write them out. Personally,
> I'd rather let RMS deal with that, and just hand me the data. (See
> marshalling, et al)
Like paging, huh?
> o No built-in tools to assist with file format and data conversions,
> beyond CONVERT /FDL and friends.
> o It's slllllloooooowwwww.
Anything that resides on disk is slow. Cache it all up in memory and you'll see
a difference. RMS was designed and implemented in a time where memory was
measured in KB, not MB, and GB was unthinkable.
> And I am sure I can find a few more things that annoy me about RMS or
> the XQP here, too.
>
> Things that don't annoy me about RMS? RMS is wicked-good at not
> corrupting itself. Which is very important.
>
> RMS was a great idea well into the 1980s. And it's a marvelously
> well-engineered system. But it's really gotten quite feature-stale in
> the ensuing decades. And it lends itself to the one-size fits all
> approach of application design, which usually then leads to busted
> applications, difficulty with backups, and other messes.
>
> And yes, there are a number of applications that can (and do) (and
> should) still use RMS. I have a number of them, and will likely have more.
>
> But in the end, I find the Unix approach of allowing me to layer on
> whatever system I need much more flexible. (The days of rolling my own
> record-level storage system are largely gone, except when I'm working on
> VMS with RMS, and without the benefit of a database in the target
> environment.)
I can appreciate the concept of having more than one file system available, and
more than one database system available. On VMS I've practiced that, using both
RMS and DAS.
More information about the Info-vax
mailing list