You must determine the quantity of space to allocate per area. OpenEdge keeps data and index storage at reasonable compaction levels. Most data areas are kept between 90 and 95 percent full, and indexes are maintained at 95 percent efficiency in the best case. However, when calculating the amount of space, it is advisable to use 85 percent as the expected efficiency. Using the 1-million-record example previously discussed, you can see that the records plus overhead would take 61 million bytes of storage, as shown:
(Mean record size + overhead) * Number of records = record storage size
(59 + 2) * 1,000,000 = 61 million bytes
This is only actual record storage. Now, divide the record storage value by the expected fill ratio. The lower the ratio, the more conservative the estimate. For example:
Record storage size / Fill ratio = Total storage needed
61,000,000 / .85 = 71,764,706 bytes
To determine the size in blocks, divide this number by 1KB (1024 bytes). The resulting value is in the proper units for expressing the amount of space needed when you create your structure description file (dbname.st). The structure description file uses kilobytes regardless of the block size of the database. For example:
71,764,706 / 1024 = 70083 (1KB blocks)
If there are other objects to be stored with this table in a storage area, you should do the same calculations for each object and add the individual calculations to determine the total amount of storage necessary. Beyond the current storage requirements for existing records, you should factor additional storage for future growth requirements.