But if he's going to search all the records to match on some set of criteria, won't he have to load the whole thing in memory anyway?
In this application, it's not very often that you call up one record by its key id. Searches are more common. So, you'll have to evaluate just how much data each record will hold, how much RAM will be used up, and how quickly you can load all that data into memory.