Depending on how quickly the data changes, it sounds like it could be a good fit for cdb64. Lookups normally take just 2 disk accesses - 1 if the object isn't in the cdb. You can use any string as the key, contents of a record are anything you want, no arbitrary limits.