Я не уверен, что будет много более быстрых способов, чем использование базы данных. Лично я обычно использую сценарий оболочки UNIX для этого:
cat * | sort | uniq
Я не знаю, как быстро это будет с 100 000 000 слов, и я не уверен, насколько быстро вы хотите, чтобы это было. (Например, вам нужно запускать его много раз или только один раз? Если бы только один раз, я бы выбрал опцию sort и uniq и позволил бы ему работать всю ночь, если вы можете).
В качестве альтернативы вы можете написать скрипт на ruby или аналогичном языке, который хранит слова в ассоциативном массиве. Я подозреваю, что это почти наверняка будет медленнее, чем подход с использованием базы данных.
Полагаю, если вам действительно нужна скорость, и вам нужно часто выполнять это задание (или тому подобное), то вы, возможно, захотите написать что-то на C, но для меня это немного похоже на излишество.
Ben