Is there an easier way to combine containers with different blksize then recreating each effected file
from FDT individually?
Annoyance is that many FDT does not include latest FDT changes.
The only other way coming to mind is (Mass delete)/(Deallocate space)/Remove Containers)/(Mass add)(Allocate more space), but it doesn’t looks better.
What are general performance consideration regarding number and BlkSize of ASSO and DATA containers residing on the same hard drive?
Majority of descriptors are less than 10 bytes and FIND usually is a FIND(1).
Export the files except the system files with ADAORD EXPORT.
Recreate the database with the containers you want to have. However, you must consider the following: The DATA block sizes must not be reduced. This means, because currently your DATA3 container has a block size of 32 KB, your new DATA container must also have the block size 32 KB. For ASSO, Adabas distinguishes between small ASSO blocks (< 16 KB) and large ASSO blocks (>= 16 KB). If the index uses small index blocks, they are imported again in small ASSO blocks, and large index blocks are imported again in large index blocks. In your case, the database only uses small ASSO blocks. => You must define your new DB also with small ASSO blocks. I don’t think that the performance differs very much between the different block sizes. Most of your index blocks currently have a block size of 4 KB; so I recommend to use again 4 KB as block size.
If you still have explicit hard drives and not a storage system with RAID, where this no longer matters, you should take care that
the database containers ASSO,DATA and WORK are on one or more hard drive and
the backups and PLOGs are on one or more different hard drives.
Otherwise it max happen that you can no longer regenerate your database after a disk failure.
Apart from that you should only try to share the containers on the disks that the number of I/Os on the disks are similar. However, this should not have very much impact on the performance, because most logical I/Os do not result in a physical I/O because of the buffer pool. More important is that the buffer pool is large enough.
I see that parameters RABN and blocksize have a similar effect on files placement when containers have a different Blcksize. Average size of the records I calculated as a ratio between occupied space and number of records.
Length of the records with an extreme length still a mystery. As usual extreme cases are records with PE and MU fields, especially processed by applications without reasonable constrains. But this topic clearly out of scope for ADABAS forum. Any way ADABAS impressively well handling this problematic data and even has now referential integrity which I’m going to try.
In particular when your files have MU/PE with an unknown number of values, I recommend to use the maximum DATA blocksize = 32 KB. If you then get a record overflow, it is not possible to store the record in Adabas on Open Systems. Then you have to reorganize your data. For example, you can consider storing the data in LOB values (field option LB) instead of MU/PE. For LOB values, there is no restriction in size.