As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems often use databases. A database may be defined as a structured collection of records or data. The structured collection of records or data making up a database may be stored in an information handling system and/or computer-readable medium accessible to the information handling system so that a computer program (e.g., a database management system or “DBMS”) and/or person may query the database to retrieve desired information.
Typically, a database is stored on one or more logical storage units, also known simply as “logical units.” Each logical storage unit may be made up of one or more hard disk drives, magnetic tape libraries, optical disk drives, magneto-optical disk drives, compact disk drives, compact disk arrays, disk array controllers, and/or any other type of computer-readable media. In addition, each logical storage unit may have a unique identifier, or logical unit number (LUN) that identifies the logical unit to an information handling system and/or software executing thereupon.
Database software typically allocates memory space and storage space in multiples of database block sizes. For example, a database may be stored in memory and/or persistent storage in one or more blocks of 2 kilobytes (KB), 4 KB, 8 KB, and/or 16 KB. Memory and/or persistent storage may also include caches (e.g., buffers) having sizes equal to the database block size that may improve the speed of reading from and/or writing to memory and/or persistent storage. In certain database systems, a user may be permitted to create logical groupings of data known as “tablespaces” with block sizes different from the standard database block size for the database. Thus, if a small block size is desirable, a user may create a tablespace with block sizes smaller than the standard block size (e.g., for online transaction processing systems that perform random update operations). On the other hand, if a large block size is desirable, a user may create a tablespace with block sizes larger than the standard block size (e.g., for decision support systems that access large numerous consecutive rows of database information at a time a larger cache size may reduce the number of input/output requests needed to store and/or retrieve data). In addition, in mixed applications, a user may employ multiple tablespaces with each with a different block size.
However, because tablespaces may span one or more logical units, and because particular logical unit is typically associated with a particular read cache and/or a particular write cache, the advantages of using read and/or write caches may be diminished in instances where a cache is of a different size than the block size of a tablespace block stored on the logical unit. For example, if a cache is smaller than the block size of a tablespace stored on a logical unit, the cache will not be able to read or store an entire block of data. On the other hand, if a cache is larger than the block size of a tablespace stored on a logical unit, a portion of the cache may be unused when reading or storing a block of data.
Accordingly, a need has arisen for systems and methods that allow for more efficient configuration of storage resources for database storage.