> Как будет вести MySql при таких объемах?
Х**во он себя будет вести через пару месяцев (ну или через 4 месяца, если у вас будет 256 гов памяти).
С другой стороны, 100 гб в месяц у вас там и не будет. А если и будет - то прекратите хранить в базе картинки и другую чушь.
> Если создать несколько бд например для комментариев то как искать нужную бд для вывода?
if comment_id < 1000000 and commend_id > 0 then use mysql1
if comment_id < 2000000 and comment id > 1000000 then use mysql2
Примерно так. А вообще это называется шардированием, как его организовывать - решать вам. Обычно делают метабазу, в которой хранят диапазоны id-шников и соответствия с конкретным сервером. К тому же на сервера со старыми комментариями нагрузка со временем будет и меньше и их можно будет "решардировать" - т.е., например, сливать 3 старых базы в 1 и править id-ники в метабазе. А 2 освободившихся сервера ставить под запись для новых комментариев.
> Одну базу или несколько, одну для статей другую для комментариев..?
Тупиковый путь, если объём данных станет больше определенного порога.
Станет много статей - загнется mysql со статьями, станет много комментариев - ....
В любом случае, нужно и делить по типу хранимых данных, и шардировать.