A technique used to map large amounts of data to a smaller set of values, typically used for data retrieval and lookup.