(more points): 4. CDNs are a must here. Since the prefix tree rarely changes (relative to queries), we could make sure to be web-proxy and CDN friendly by loading the response with caching headers. Some queries may be eliminated at the CDN level itself. Note that unless we do some CDN analysis, we'll be missing queries for statistics which may affect other optimizations, so we may want clients to send usage statistics using another route (periodic, in bulks).