Content addressable data storage and compression for semi-persistent
computer memory for a database management system including providing a
data structure that associates data identifiers and retrieval keys for
memory blocks for storing in semi-persistent memory data from the
database management system; searching for a segment of a chunk of data
from the database management system that matches a memory block from
semi-persistent memory; and if a matching segment is found: discarding
the matching segment; storing in the data structure in the database
management system a retrieval key for the matching segment in association
with a data identifier; identifying an unmatched portion of the chunk
that does not match the memory block; storing the unmatched portion
semi-persistently in a free memory block from a file system; and storing
in the data structure in the database management system a retrieval key
for the unmatched portion in association with the data identifier.