Create - given some data, store it and return an ID to access it later

Update - given some data and an ID, replace already existing data at that ID

Search - given an ID or some data, search for similar IDs using some secret sause mathematical relationship

Delete - given an ID, clear or delete the contents of the data in that ID

 

The primarly goal is to make sure the search operation is fast. The search operation probably can not be implemented in a non-linear fashion, but I haven't investigated the mathematics in great detail. I'm thinking the best way to implement this should search be linear is using an array. Anyone else have any suggestions?