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