Вам понадобится веб-сервер, который может быстро реагировать, но обычно это не проблема.Вам также понадобится быстрый сервер баз данных, который может очень быстро запрашивать, какие популярные результаты поиска начинаются с 'ca'.Google вообще не использует обычную базу данных, но использует большие кластеры серверов, базу данных, подобную Cassandra , и большая часть этих данных также сохраняется в памяти для более быстрого доступа.
Я не уверен, понадобится ли вам это, потому что вы, вероятно, можете получить довольно хорошие результаты, используя только один сервер, работающий на PHP и MySQL, но вам придется сделать несколько удачных решений относительно способа хранения.и получить информацию.Эти быстрые результаты не получатся, если вы выполните запрос, подобный следующему:
select
q.search
from
previousqueries q
where
q.search LIKE 'ca%'
group by
q.search
order by
count(*) DESC
limit 1
Это, вероятно, сработает, если ваш поиск использует менее 20 человек, но, скорее всего, вы не сможете выполнить его, прежде чем вы достигнете100.000.