Your data themselves essentially decides what data structure you are going to use. Tree? List? Array? Set? Map? If you need to allow other process to visit the data, do they change the data or just read data? This is related to multithreading issues. In addition, the solution has something to do with what programming langauge you are using. If you use Java, please first determine if there is data sharing between multi threads.
Our host Sailor has plentiful of experiences in data structures. For instance, all the postings are incorporated in some binary trrees....
I hope you can describe your problem in some details, if possible, using some heuristic examples. Then, more friends can help you. Your present description sounds a little bit abstract.
Sorry for my too vague discussions.