У меня есть несколько огромных двоичных журналов драйверов (около 2-5 ГБ каждый и, вероятно, примерно в 10 раз больше после преобразования их в читаемую форму), и мне нужно написать инструмент, который позволил бы мне последовательно просматривать, сортировать, искать иэффективно фильтровать их (чтобы находить и устранять ошибки).
Каждая запись в журнале имеет несколько атрибутов, таких как отметка времени, тип, сообщение, некоторые идентификаторы GUID.Записи являются однородными, никаких отношений, нет необходимости хранить данные после «проверки».
Я действительно не знаю, как обращаться с таким большим количеством данных.Хранить все в памяти было бы глупо, то же самое относится и к хранению данных в плоском файле.Я думал об использовании небольших СУБД, таких как SQLite, но я не уверен, что это будет достаточно быстро, и мне не нужны многие функции DMBS - только сортировка и поиск.В этом случае я бы с готовностью променял место на скорость, если это возможно.
Существует ли какая-либо библиотека (или, возможно, структура данных), которая помогла бы мне обрабатывать такие объемы данных?
«Обслуживаемые» СУБД, такие как Postgre, MSSQL, MySQL, исключены, инструментдолжно быть легко использовать в любом месте без каких-либо хлопот.
РЕДАКТИРОВАТЬ: Да, и кто-нибудь знает, если режим SQLite ": память" имеет какие-либо ограничения на размер БД, или он просто заполнит виртуальную память, пока не будет заполненполностью