На счет дублирования данных. Да, в монго используется денормализация, но только в том случае, когда данные не слишком часто меняются, а если же часто, то рекомендуют занести их в отдельную коллекцию и сделать ссылку на них.
На счет ссылочной целостности. В монго надо стараться все хранить в одном документе. Там нет такого понятия как FOREIGN KEY. Так, что проблема может только проявится, если вы все-таки пожелаете вынести часто изменяющиеся данные в отдельную коллекцию. И то, там даже не будет проблем.
Проблема в том, что люди используя монго пытаются перенести туда свой опыт с реляционными данными. Там все не так. И из-за этого потом говорят, что с ней невозможно работать.
dimonchik2013 и на счет реплиций. Не знаю как в MySql, но в монго это делается очень просто, так же как и шардирование. Просто добавлешь параметры при запуске демона и все.
Хорошо. В mongodb тоже есть возможность искать по тексту и есть специальные "текстовые" индексы для этого. В чем различия? ElasticSearch это делает быстрее?