Короткий ответ «возможно».
Более длинный ответ заключается в том, что это будет зависеть от нескольких факторов:
1. Правильное структурирование ваших данных.Это означает разделение несвязанных данных на отдельные документы, правильное создание связей между связанными данными и т. Д.
2. Правильная индексация ваших данных.Например, если у вас есть документы, представляющие отдельные «чанки» потока с «идентификатором потока», чтобы определить, к какому потоку принадлежат чанки, то наличие индекса для поля «идентификатор потока» гарантирует, что вы сможете эффективно захватить всекуски для этого потока.
3. Ресурсы, которые у вас есть.Возможно, вам придется изучить горизонтальное масштабирование базы данных, т. Е. Сегментирование, которое потребует от вас реального знания того, что вы делаете.Вы, вероятно, захотите, чтобы выделенный администратор баз данных просто занимался настройкой и обслуживанием данных, особенно для обеспечения репликации на месте, чтобы избежать потери одного узла, полностью уничтожающего ваш набор данных.Это будет стоить денег.
4. Ваша способность правильно и точно перенести все эти данные в базу данных.Один маленький пробел может означать, что вы пропустили важный фрагмент, или данные, которые должны быть связаны, не были, или данные введены неправильно, или как неправильный тип, или любое количество проблем.
Этоопределенно рекомендуется использовать базу данных.Только индексирование и разделение данных будут иметь огромное влияние на эффективность поиска данных даже при таком большом количестве данных.Если ничто иное, сокращенный файловый ввод-вывод и избавление от прямого анализа содержимого файла должны сделать вещи намного быстрее.Но если вы собираетесь использовать базу данных, вы должны быть невероятно осторожны.Существует огромная работа, которую вы не должны выполнять, если у вас есть терабайты существующих данных, которые необходимо сохранить.Вы захотите, чтобы кто-то опытный справился с миграцией, настройкой и долгосрочным обслуживанием.Это не легкое дело.