1. A method, comprising: performing an operation on a flash database; periodically determining to semantically compress at least one portion of a node translation table corresponding to at least one node involved in the operation, the determining being based on a semantic compression threshold comprising a number of log entries for the at least one node involved in the operation, the semantic compression including: counting a number of stale log entries in a sector; and performing a log garbage collection on the sector when a fraction of the number of stale log entries in the sector is greater than or equal to a threshold value, the log garbage collection including: discarding at least one stale log entry that is rendered obsolete by at least one subsequent log entry; writing at least one fresh log entry to a log buffer; flushing the at least one fresh log entry from the log buffer to a new location in the flash database; adding a new address, corresponding to the new location, for the at least one fresh log entry to the node translation table; removing an address for the sector from the node translation table; and returning the sector to a storage manager as reclaimed space; and checkpointing at least another portion of the node translation table including replacing one or more sector addresses with one or more corresponding physical addresses, and storing the physical addresses.