Page 1 of 1

Query Reg CI and CA splits.

PostPosted: Wed May 04, 2011 2:10 pm
by shabukumar
Hi Friends,

I know how split works and the record will be placed on the ascending order of the primary key.

My query was as follows.

Suppose my ksds contains 10 records with the primary key value ranging from 01 to 10 in First CI. The CI can hold only 10 records. when I am trying to insert a new record 11, split occurs, and records from 06 to 10 will be in next available CI and 11 will be placed after 10.

Now I have space in First CI. As my records from 01 to 05 in CI 1 and 06 to 11 in CI 2, there was space for 5 records in CI 1. Will this space be unused or VSAM will manage the space accordingly so that when keep on inserting records, CI 1 will have 10 records and CI 2 will have next 10 and so on...

If you are not clear with my question, Kindly let me know.

If you are clear, Kindly let me clarify.

Awaiting your clarifications.

Re: Query Reg CI and CA splits.

PostPosted: Wed May 04, 2011 2:56 pm
by Robert Sample
Your understanding of CI splits is incorrect. Once the split is done, you have records 1 through 5 in CI 1 and records 6 through 10 in CI 2. The key for record 11 will determine whether it is placed in CI 1 or CI 2 -- if the key value is less than the key value for record 6, the new record will be placed in CI 1.

As records are inserted with keys less than that of record 6, the unused space in CI 1 will be used for the new records. A CI or CA split creates freespace that can be used for data records. The only way CI 1 would have the first 10 records, CI 2 the next 10, and so forth would be if you unloaded the VSAM file, deleted / defined it, and then reloaded it with FREESPACE(0 0).

You need to download and read this Redbook: http://www.redbooks.ibm.com/abstracts/sg246105.html?Open which is the VSAM Demystified Redbook. All of this and more is explained there.

Re: Query Reg CI and CA splits.

PostPosted: Tue Nov 15, 2011 5:22 am
by BillW
There are as few more nuances to it. First off is that there a free space parm when you define the KSDS cluster. There could be reasons to specify none and there may be reasons to specify a lot. There are two free space values, free bytes in a CI and free CI's in a CA. The two values are determined by the type of processing you expect when you designed the system.

Secondly to the key and where it is inserted. VSAM uses forward key compression and rear compression. The forward compression is it removes that portion of the key that is a match between adjacent CI's. For example if the key is "SMITH" and the next key is "SMITHE" all that is kept is "E". Additionally there is rear key compression. What happens in that case is that (and my memory is a little weak re the details) VSAM keeps what it needs to keep the key unique, but it discards anything after that. Later in determining where to place the new record, when looking at the last key in the CI, VSAM will expand thew rear portion of the rear compressed key with x'FF's, then compare to the key being added. Lastly, remember that VSAM only keeps the last key value in a CI. The size of the CI's in the index potentially be made smaller given the key compression possibilities of the file. Why, to try to minimize the size of the index and just possibly the number of index levels.

Re: Query Reg CI and CA splits.

PostPosted: Tue Nov 15, 2011 6:01 am
by BillyBoyo
If your data was such that a key would never be encountered that was less than the key which caused the split (but greater than the previous CI) then yes, you would have space in the CI that was never used.

If you have 100,000 records on your KSDS which you load sequentially, with zero CI freespace and then you insert one record, and you never write to that KSDS ever again, then the space in the split and the new CI would not be used.

It happens. It probably happens less than you think because of the key-compression Bill W mentioned.

Are you researching something particular to resolve some question, or are you just curious? If the former, feel free to give us some detail, if the latter, good on you, and get your head stuck into the Redbook that Robert metioned.

Re: Query Reg CI and CA splits.

PostPosted: Tue Nov 15, 2011 12:19 pm
by NicC
Only 6 months old