I have been pressed to provide some "brain dumps" regarding my IT philosophy. (I think it has to do with an approaching birthday... and realization that I won't ALWAYS be here... :-))
(snip)
What I would really like is for people here (whose opinions I do
actually value, even if I don't always agree with them) to take a look
and criticize what is there. (Although this could be humiliating and
painful for me, there is no other way to improve and make what is there useful to people...)
So, if you find yourself needing a coffee break, please go and look at:
http://primacomputing.co.nz/PRIMAmetro/RDBandSQL.aspx
The sort of feedback I'm looking for:
1. You can see the pages in various Browsers (and mobile devices...)
2. There are no broken links.
3. You found the content interesting (or not...)
4. You think the pages could be useful to COBOL people (or not)
Or, whatever comments you want to make.
Please post here, or privately to me.
(snip)
I'm not denying that ISAM requires constant housekeeping, I'm arguing
DBMS can require some major housekeeping of its own, of a different
kind.
You also imply that DBMS does not have the space management problems
that ISAM does. In fact, it has different space problems. I've seen a
DB2 table with 400 million rows getting 25 to 50 million new rows per
day, and believe me, you will have space management problems.
If I needed a TEST DB2 table, I could not create it for myself. The
DBA's had to do it for me, because they administered all the tables and
all the DB2 plans or schemas. We could write our own SQL, but it had to
be reviewed and approved by our DBA's. Quite often they would require >changes that improved it, but which we were not able to foresee. We
didn't have the DBMS skills that the DBA's had.
This showed up in bit.listserv.ibm-main recently. It does relate to the >issue:
===quote===
Subject:.dumb VSAM KSDS & AIX question.
From:..john.archie.mckown@GMAIL.COM (John McKown)
Date:..8/30/2017 3:34 PM
Newsgroups:.bit.listserv.ibm-main
A programmer came by with a question. He asked if, when you are reading
a VSAM KSDS via an alternate index (PATH), to have duplicates returned
in base key order. I don't think that is possible.
I have been pressed to provide some "brain dumps" regarding my IT philosophy. (I think it has to do with an approaching birthday... and realization that I won't ALWAYS be here... :-))
After all these years, I'm more than happy to give back what I can, so
I'd like to think that somebody, somewhere, can benefit from what I've written. (Or, at the very least, decide they strongly disagree and move
in a different direction...)
Anyway, I gave it some thought and, rather than write a "memoirs" type
of self-indulgent book, I decided to do some self-indulgent web pages...
:-)
The trouble with writing web page content is that it is very difficult
to know how other people will view what you've written (both literally
and figuratively.) Not only that, but if you can't afford to employ a professional web developer, don't like the idea of using a standard
template like Joomla or WordPress, so your site looks like dozens of
other people's, and really don't want to irritate your visitors with annoying advertisements, then you have little recourse but to build it yourself. (You can learn HTML easily in a (rainy) afternoon, and these
days there are superb tools to help you build your site. I'm using the
Web Version of Visual Studio Express 2012 - it's free and it supports
HTML5 and CSS. I'm using ASP.NET with C# code-behinds and it is all
loads of fun...)
The above topic is part of the refurbishment of the COBOL21 (COBOL inI have had a report that when using the Opera browser, the site is
the 21st century) web site which is currently being amalgamated with the PRIMA web site. Various clients from time to time ask questions about
why I don't "like" certain things relating to data manipulation (like hanging on to ISAM technology...) so I've taken this opportunity to
explain the reasoning behind some of the positions I take on using RDBMS with COBOL.
What I would really like is for people here (whose opinions I do
actually value, even if I don't always agree with them) to take a look
and criticize what is there. (Although this could be humiliating and
painful for me, there is no other way to improve and make what is there useful to people...)
So, if you find yourself needing a coffee break, please go and look at:
http://primacomputing.co.nz/PRIMAmetro/RDBandSQL.aspx
The sort of feedback I'm looking for:
1. You can see the pages in various Browsers (and mobile devices...)
2. There are no broken links.
3. You found the content interesting (or not...)
4. You think the pages could be useful to COBOL people (or not)
Or, whatever comments you want to make.
Please post here, or privately to me.
The COBOL21 site is linked to this newsgroup and it is intended to be a "COBOL place" just as this Newsgroup has always been. It is a huge
amount of work to implement everything I actually want there (some of
the tiles on the hub (http://primacomputing.co.nz) are currently being worked on and others are having their existing content reviewed and refurbished), and do real work as well, but I'm giving it a go...
I hope you'll mark the site and copy people you think would enjoy it. It will evolve over the next few months (if I can still see and type... :-))
Cheers,
Pete.
On 8/30/2017 10:52 PM, pete dashwood wrote:
I have been pressed to provide some "brain dumps" regarding my IT
philosophy. (I think it has to do with an approaching birthday... and
realization that I won't ALWAYS be here... :-))
(snip)
What I would really like is for people here (whose opinions I do
actually value, even if I don't always agree with them) to take a look
and criticize what is there. (Although this could be humiliating and
painful for me, there is no other way to improve and make what is
there useful to people...)
So, if you find yourself needing a coffee break, please go and look at:
http://primacomputing.co.nz/PRIMAmetro/RDBandSQL.aspx
The sort of feedback I'm looking for:
1. You can see the pages in various Browsers (and mobile devices...)
2. There are no broken links.
3. You found the content interesting (or not...)
4. You think the pages could be useful to COBOL people (or not)
Or, whatever comments you want to make.
Please post here, or privately to me.
(snip)
Pete,
I viewed those pages in Firefox and Chrome and they looked identical.-a I didn't notice any problems with the formatting.-a All the links from the "portal" link on page 2 seemed to work fine.-a I might not have followed every link, but I never found a broken link.-a I enjoyed the old story of disk drives (have you ever heard of IBM's "noodle-picker"?).
I found the contents interesting, and I think the pages would be very
useful to COBOL people.-a Now if only the managers could pay attention...
I do have some minor quibbles, probably not anything big enough to
require any changes on your part.-a You've simplified the differences between ISAM and DBMS for the article and I've seen some exceptions in
the real world.-a That doesn't mean your explanation is "wrong".
You seemed to say that ISAM requires constant housekeeping and DBMS does not.-a I would disagree.-a I've seen a large IBM DB2 system with over 100 tables, and for a major upgrade the database had to be taken down for
over 8 hours to rebuild data (new columns, new tables), convert existing data, and reload it.-a I'm sure you would have similar problems with
Oracle or other DBMS systems.
I'm not denying that ISAM requires constant housekeeping, I'm arguingYep.
DBMS can require some major housekeeping of its own, of a different
kind.-a But at the same time you get much more power and flexibility with DBMS compared with ISAM.
In my experience there is NO performance advantage for ISAM (or IBM KSDS VSAM) compared to IBM DB2, especially in those cases where you would
want to use alternate indexes with VSAM KSDS.-a Where performance is measured for really large datasets with complex relationships, a modern
DBMS should be faster than ISAM.
They used to say nothing was faster on an IBM mainframe that BDAM. Sure,
if you want your COBOL program to read disk records by physical address,
and assuming you knew the address or could calculate it.-a With modern systems the data should be indexed by key or pointer and cached in
memory.-a BDAM is no longer even orderable as a z/OS component because it
is just not fast enough any more.-a Today's data management technology is more complex but also more powerful and flexible.-a You've made an
excellent case for that.
You also suggest that performance is not a problem with DBMS (on modern devices with modern software).-a I would also disagree.-a There are always cases where bad or incomplete design (or changing business rules) create performance problems, but a good DBA should be able to tune the system
to solve most of those problems.
You also imply that DBMS does not have the space management problems
that ISAM does.-a In fact, it has different space problems.-a I've seen a DB2 table with 400 million rows getting 25 to 50 million new rows per
day, and believe me, you will have space management problems.-a Even if
you don't run out of space your query time may increase intermittently.
Once users get used to sub-second response time they scream if it falls
to 5 seconds.
Where I had a problem with DB2 was that it was owned by the DBA's and
they were were a different department from application development. Fortunately we had excellent relations with our DBA's, and they were
real wizards.-a In some corporate cultures the two groups might be at
each others throats like Operations versus Programming in the old days.
If I needed a TEST DB2 table, I could not create it for myself.-a The
DBA's had to do it for me, because they administered all the tables and
all the DB2 plans or schemas.-a We could write our own SQL, but it had to
be reviewed and approved by our DBA's.-a Quite often they would require changes that improved it, but which we were not able to foresee.-a We
didn't have the DBMS skills that the DBA's had.
So for a small, simple application it might be quicker to develop a VSAM KSDS file, since I didn't have to wait a week for another department to create my test file.-a But I only did that if I could live with the limitations of ISAM, including the maintenance issues.-a ISAM was still "good enough" in some cases, especially if budget was an issue.
You've written on occasion about "fortress COBOL" and the data being
locked up in files and record layouts controlled by COBOL applications development.-a The same problem also exists with DBMS, especially with today's security and privacy concerns.-a The data is now owned by the
DBA's, but the tools to get at that data are better than for ISAM.
From my point of view as a programmer, one huge advantage to DBMS
(which you also pointed out) is that the data definition (the "record layout" in COBOL terms) is also stored in the DBMS.-a That means it can
be searched and manipulated much more easily by a programmer than COBOL record layouts scattered in various libraries, programs, and copybooks.
Overall, I would say it's well-written and very informative.-a I saved
those pages because you made your case.
This showed up in bit.listserv.ibm-main recently.-a It does relate to the issue:
===quote===
Subject:-a-a-a dumb VSAM KSDS & AIX question.
From:-a-a-a-a-a-a-a john.archie.mckown@GMAIL.COM (John McKown) Date:-a-a-a-a-a-a-a 8/30/2017 3:34 PM
Newsgroups:-a-a-a bit.listserv.ibm-main
A programmer came by with a question. He asked if, when you are reading
a VSAM KSDS via an alternate index (PATH), to have duplicates returned
in base key order. I don't think that is possible. From examining the contents of the AIX records themselves, it appears to me that the base
key for a "new" base record with a given alternate key is just placed at
the end of the keys. Yes, I know, if this sort of thing is a
requirement, we need Db2 (or is it DB2), but that is _never_ going to
happen around here.
-- Caution! The OP is an hyperpolysyllabicsesquipedalianist and this
email may cause stress to those with
hippopotomonstrosesquipedaliophobia. Maranatha! <>< John McKown ----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to listserv@listserv.ua.edu with the message: INFO IBM-MAIN
===end quote===
On 31/08/2017 6:34 PM, Arnold Trembley wrote:
(snip)
Pete,
I viewed those pages in Firefox and Chrome and they looked identical.
I didn't notice any problems with the formatting.-a All the links from
the "portal" link on page 2 seemed to work fine.-a I might not have
followed every link, but I never found a broken link.-a I enjoyed the
old story of disk drives (have you ever heard of IBM's "noodle-picker"?).
No, do tell... :-)
On 31/08/2017 6:41 PM, Arnold Trembley wrote:
This showed up in bit.listserv.ibm-main recently.-a It does relate toThe-a primary sequence of duplicate alternate keys is "indeterminate" but there are programming devices that will let you do what he wants. It is "possible".
the issue:
===quote===
Subject:-a-a-a dumb VSAM KSDS & AIX question.
From:-a-a-a-a-a-a-a john.archie.mckown@GMAIL.COM (John McKown)
Date:-a-a-a-a-a-a-a 8/30/2017 3:34 PM
Newsgroups:-a-a-a bit.listserv.ibm-main
A programmer came by with a question. He asked if, when you are
reading a VSAM KSDS via an alternate index (PATH), to have duplicates
returned in base key order. I don't think that is possible. From
examining the contents of the AIX records themselves, it appears to me
that the base key for a "new" base record with a given alternate key
is just placed at the end of the keys. Yes, I know, if this sort of
thing is a requirement, we need Db2 (or is it DB2), but that is
_never_ going to happen around here.
-- Caution! The OP is an hyperpolysyllabicsesquipedalianist and this
email may cause stress to those with
hippopotomonstrosesquipedaliophobia. Maranatha! <>< John McKown
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to listserv@listserv.ua.edu with the message: INFO IBM-MAIN
===end quote===
Pete.
On 31/08/2017 6:34 PM, Arnold Trembley wrote:
Wow!
This is brilliant!
Thanks SO much Arnold.
(snip)
You seemed to say that ISAM requires constant housekeeping and DBMS
does not.-a I would disagree.-a I've seen a large IBM DB2 system with
over 100 tables, and for a major upgrade the database had to be taken
down for over 8 hours to rebuild data (new columns, new tables),
convert existing data, and reload it.-a I'm sure you would have similar
problems with Oracle or other DBMS systems.
That is certainly true, but the RDBMS maintenance is separate from the application and it can be split into parts. Some clusters can be "maintained" while others are still "working"; you can't do that with an indexed file.
(snip)
You also suggest that performance is not a problem with DBMS (on
modern devices with modern software).-a I would also disagree.-a There
are always cases where bad or incomplete design (or changing business
rules) create performance problems, but a good DBA should be able to
tune the system to solve most of those problems.
THAT was the point. It can be fixed without impacting the applications.
(I was careful to qualify what I said with the fact that the DB design
has to be good.)
(snip)
So for a small, simple application it might be quicker to develop a
VSAM KSDS file, since I didn't have to wait a week for another
department to create my test file.-a But I only did that if I could
live with the limitations of ISAM, including the maintenance issues.
ISAM was still "good enough" in some cases, especially if budget was
an issue.
What you say is sound common sense under the circumstances, but stand
back a bit... what has happened here? A technical decision has been
taken because of the political climate. It's no wonder so many sites
have problems with data handling.
(snip)
Thanks very much for your feedback, Arnold.
Cheers,
Pete.
On 8/31/2017 7:46 PM, pete dashwood wrote:
On 31/08/2017 6:34 PM, Arnold Trembley wrote:
(snip)
Pete,
I viewed those pages in Firefox and Chrome and they looked identical.
I didn't notice any problems with the formatting.-a All the links from
the "portal" link on page 2 seemed to work fine.-a I might not have
followed every link, but I never found a broken link.-a I enjoyed the
old story of disk drives (have you ever heard of IBM's
"noodle-picker"?).
No, do tell... :-)
You can actually read about IBM's "noodle picker" in Wikipedia:
https://en.wikipedia.org/wiki/IBM_2321_Data_Cell
The article says it was a successful direct access storage device, but
that particular technological approach has long since been abandoned.
For the obvious reasons.
Kind regards,
On 8/31/2017 7:50 PM, pete dashwood wrote:
On 31/08/2017 6:41 PM, Arnold Trembley wrote:
This showed up in bit.listserv.ibm-main recently.-a It does relate toThe-a primary sequence of duplicate alternate keys is "indeterminate"
the issue:
===quote===
Subject:-a-a-a dumb VSAM KSDS & AIX question.
From:-a-a-a-a-a-a-a john.archie.mckown@GMAIL.COM (John McKown)
Date:-a-a-a-a-a-a-a 8/30/2017 3:34 PM
Newsgroups:-a-a-a bit.listserv.ibm-main
A programmer came by with a question. He asked if, when you are
reading a VSAM KSDS via an alternate index (PATH), to have duplicates
returned in base key order. I don't think that is possible. From
examining the contents of the AIX records themselves, it appears to
me that the base key for a "new" base record with a given alternate
key is just placed at the end of the keys. Yes, I know, if this sort
of thing is a requirement, we need Db2 (or is it DB2), but that is
_never_ going to happen around here.
-- Caution! The OP is an hyperpolysyllabicsesquipedalianist and this
email may cause stress to those with
hippopotomonstrosesquipedaliophobia. Maranatha! <>< John McKown
---------------------------------------------------------------------- For >>> IBM-MAIN subscribe / signoff / archive access instructions, send
email to listserv@listserv.ua.edu with the message: INFO IBM-MAIN
===end quote===
but there are programming devices that will let you do what he wants.
It is "possible".
Pete.
The few times I worked with IBM VSAM alternate indexes it always gave me
a headache.
I suspect the alternate keys would have to be redesigned to allow this,
and the problem could have been prevented.-a It would be difficult (or
even impossible) to solve it in VSAM/ISAM and without changing the
current alternate key structure.
But it should be trivial to solve in a relational DBMS.-a All ya gotta do
is add an "ORDER BY" clause correctly.
I'm just glad I don't need to work with VSAM AIX and PATH anymore.
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 995 |
Nodes: | 10 (0 / 10) |
Uptime: | 199:29:09 |
Calls: | 13,023 |
Calls today: | 1 |
Files: | 186,574 |
Messages: | 3,284,729 |