У меня есть система обработки данных, которая генерирует очень большие отчеты по обрабатываемым данным.Под «большим» я подразумеваю, что «небольшое» выполнение этой системы создает около 30 МБ отчетных данных при выгрузке в файл CSV, а большой набор данных составляет около 130–150 МБ (я уверен, что у кого-то есть идея побольше«большого», но это не главное ...;)
Excel имеет идеальный интерфейс для потребителей отчетов в виде списков данных: пользователи могут фильтровать и сегментировать данные на лету, чтобыувидеть конкретные детали, которые их интересуют (поскольку они на самом деле не интересуются многими тысячами строк, они знают, как применять несколько фильтров для получения нужных данных), - они также могут добавлять примечания и разметку к отчетам,создавать диаграммы, графики и т. д. Они знают, как все это делать, и гораздо проще позволить им сделать это, если мы просто дадим им данные.
Excel отлично подходит для небольших тестовых наборов данных, но этоне может справиться с этими большими.Кто-нибудь знает инструмент, который может обеспечить интерфейс, аналогичный спискам данных Excel, - возможность динамически создавать и изменять фильтры для нескольких полей;но может обрабатывать гораздо большие файлы?
Следующим инструментом, который я попробовал, был MS Access, и он обнаружил, что файл Access сильно раздувается (входной файл размером 30 МБ ведет к файлу доступа около 70 МБ, а когда я открываю файл, запускаю отчет и закрываю его,размер файла составляет 120-150 МБ!), процесс импорта медленный и очень ручной (в настоящее время файлы CSV создаются с помощью того же сценария plsql, который запускает основной процесс, поэтому с моей стороны вмешательство практически отсутствует).Я также попробовал базу данных Access со связанными таблицами с таблицами базы данных, в которых хранятся данные отчета, и это было во много раз медленнее (по какой-то причине sqlplus мог запросить и сгенерировать файл отчета за минуту или около того, в то время как Access мог занять от 2 до5 минут для тех же данных)
(Если это помогает, система обработки данных написана на PL / SQL и работает на Oracle 10g.)