The mem_page_size and disk_page_size elements define the size of memory
pages for conventional memory and persistent media devices, respectively. The
mem_page_size can be calculated to optimize performance and will vary
depending on the application dynamics, but as a rule of thumb, page size should
a power of 2 with disk_page_size being at least 8 times the mem_page_size value
to allow for efficient caching. It may be useful to map the disk_page_size to the
blocking factor of the persistent media. This is because eXtremeDB performs I/O
in units of disk_page_size (i.e. if you modify a record on a page that holds five
records, eXtremeDB will write the entire page), and disks perform I/O in blocks,
bytes, even if eXtremeDB makes a call to write 4096 bytes because its
disk_page_size is 4096 bytes. Given that the disk will always read or write 8192
bytes, eXtremeDB should, also.
pages for conventional memory and persistent media devices, respectively. The
mem_page_size can be calculated to optimize performance and will vary
depending on the application dynamics, but as a rule of thumb, page size should
be between 80 and 512 bytes; a 100 byte page size would be fairly good in most
situations.
For all-in-memory databases disk_page_size will be set to zero by
eXtremeDB, for persistent and hybrid databases both parameters should be set toa power of 2 with disk_page_size being at least 8 times the mem_page_size value
to allow for efficient caching. It may be useful to map the disk_page_size to the
blocking factor of the persistent media. This is because eXtremeDB performs I/O
in units of disk_page_size (i.e. if you modify a record on a page that holds five
records, eXtremeDB will write the entire page), and disks perform I/O in blocks,
regardless of the size of I/O requested by the database system. In other words, if
the disk blocking factor is 8192 bytes, the disk will always read or write 8192
bytes, even if eXtremeDB makes a call to write 4096 bytes because its
disk_page_size is 4096 bytes. Given that the disk will always read or write 8192
bytes, eXtremeDB should, also.