Estimating database storage space

You can use the following calculations to estimate the space required in the Content Manager OnDemand database to hold the index data for a report.

In general, it is recommended that you add a 10 or 20 percent buffer to the value returned by these formulas. These calculations can be used for reports that contain logical items and reports that contain a sorted transaction value.

Estimating the size of database objects is an imprecise undertaking. Overhead caused by disk fragmentation, free space, and the use of variable length fields (including numbers) make size estimation difficult, because there is such a wide range of possibilities for field types and row lengths. After initially estimating your database size, you should create a test database and populate it with representative data.

These examples uses the following assumptions:
  • The system adds a 19-byte index to each table.
  • Index n length is the size of a database field for which you want Content Manager OnDemand to build an index. For example, a date field requires 4 bytes to hold the date value. DB2® requires an additional eight bytes for each index that you define.
  • The system adds approximately 40 bytes of control information to each row in a table.
  • When the report contains logical items, the Number of indexed items per month is the number of statements, policies, and so forth.
  • When the report contains a sorted transaction value, the Number of indexed items per month is the number of groups of indexed pages (by default, the system indexes a report in groups of 100 pages). You can specify the size of an indexed group of pages when you index a report with ACIF.
The examples shows the formula that was derived from information provided with DB2. See the DB2 product information for details.
Figure 1. Calculating database storage space for DB2
     TableSize = ( Sum of column lengths )

     IndexSize = 19 + ( Index 1 length + 8 ) + ( Index 2 length + 8 ) + ...

     DatabaseSize = ( ( TableSize + 40 ) * 1.5 ) + ( IndexSize * 2 )
                        * Number of indexed items per month
                             * Number of months to keep index in database
The example shows the calculation that you can use to estimate database space requirements when the database manager is Oracle. The formula was derived in part from information provided by Oracle. For more information, or if you have special requirements or if you need to do more, see the Oracle product information. Also, the formula does not include space requirements related to file management overhead required by the operating system, including file block size and directory control space.
Figure 2. Calculating database storage space for Oracle
     TableSize = ( Sum of column lengths ) + 3 + ( Number of columns * 2 )

     IndexSize = 19 + ( Index 1 length + 8 ) + ( Index 2 length + 8 ) + ...

     DatabaseSize = ( ( TableSize + 40 ) * 1.2 ) + ( IndexSize * 1.2 )
                        * Number of indexed items per month
                             * Number of months to keep index in database
The example shows the calculations that you can use to estimate database space requirements when the database manager is SQL Server. The formula was derived in part from information provided by Microsoft. For more information, or if you have special requirements or if you need to do more, see the SQL Server product information.
Figure 3. Calculating database storage space for SQL Server
     TableSize = ( Sum of column lengths ) + 6 + Number of VARCHAR columns

     IndexSize = 19 + ( Index 1 length + 11 + ( 1 if VARCHAR ) ) +
                 ( Index 2 length + 11 + ( 1 if VARCHAR ) ) + ...

     DatabaseSize = ( ( TableSize + 40 ) * 1.2 ) + ( IndexSize * 1.2 )
                        * Number of indexed items per month
                             * Number of months to keep index in database