Первый: определите для себя, что означает интенсивный трафик:
- 50.000 просмотров страниц в день?
- 500.000 просмотров страниц в день?
- 5.000.000 просмотров страниц в день?
- больше?
Чем рассчитать это до побалб пиковых просмотров страниц за минуту и за секунды.
После этого подумайте о данных, которые вы хотите запросить для каждого просмотра страницы. Кэшируются ли данные? Насколько динамичны данные, насколько велики данные?
Анализируйте ваши индивидуальные требования, программируйте код, выполняйте нагрузочное тестирование, оптимизируйте. В большинстве случаев перед масштабированием серверов баз данных необходимо масштабировать веб-серверы.
Реляционная база данных может быть, если она полностью оптимизирована, удивительно быстро при объединении таблиц!
Реляционная база данных может редко попадать в качестве бэк-энда, чтобы заполнить кеш или заполнить некоторые денормализованные таблицы данных. Я бы не стал делать деномрализацию подходом по умолчанию.
(Вы упомянули поиск, посмотрите, например, люцен или что-то подобное, если вам нужен полнотекстовый поиск.)
Лучший наилучший ответ определенно: Это зависит ;-)