The design for a data structure should be based on how you are going to use it. Here are some questions to consider:
- How are you going to access the data? By index?, by string value?, by endeme? Multiple as yet unknown ways?
- How are you going to index it?
- How is it going to change? Field names?, data types? array organizations?
- Does it need to interface, match up, or be compared with other data or data structures?
- Does it need to be easily serializable?
- How about compression?
- Should it be relational, hierarchical or something else? This is based on how it will be usually accessed?
- Does it need to be easier or faster to write to or read from?
- Permissions, security?
- High quantity of data? high amount of complexity? or both?
- Data structure purpose is information oriented?, data oriented? UI? Network?
- Needed to systemetize a chunk of intelligence?, information? or complexity?