What trade-offs do you consider when choosing between different data structures for a high-throughput service?