Data Gathering Service
It gathers user input queries and aggregates them
- Considerations:
- data sampling
- batch aggregation


Trie DB Choice:
- Document DB: store serialized snapshot
- KV store: k = prefix, value = data on the corresponding trie node

Query Service
- Considerations:
- Trie
- Filter: remove sensitive words
When the data set is small

When the data set is large: Trie
