Вопрос

В настоящее время мы получаем несколько тысяч плоских файлов в неделю, и у меня есть система, которая формирует отчеты по ним и экспортирует их в PDF, чтобы наши люди могли их обработать и использовать.

В настоящее время я массово загружаю их в базу данных, проверяю, что все поля/форматирование действительны, экспортирую их и усекаю таблицы при следующем запуске.

Что мне интересно, так это то, что, по мнению всех, будет наиболее эффективным способом хранения, возможно, 6 месяцев этих объемных текстовых данных с массовой загрузкой?

Либо в виде ежедневных резервных копий SQL, либо в виде zip-архивов, либо чего-то еще, поэтому у меня всегда была возможность перезагрузить старые данные для устранения неполадок.

Любые идеи приветствуются, я открыт для любых предложений.

Это было полезно?

Решение

Итак, вы массово загружаете плоские файлы необработанных данных, используете SQL Server 2005 для их обработки и получаете отдельную группу обработанных плоских файлов, а затем выгружаете данные?

Что ж, если это верно, резервные копии SQL не помогут, поскольку вы, похоже, говорите, что данные не остаются в БД.Единственный вариант — эффективное сжатие входных и/или выходных файлов в сочетании с хорошей организацией пакетов в каталогах.

Я бы порекомендовал агрессивную программу сжатия с пакетной функциональностью по расписанию, но будьте осторожны, чтобы не вдаваться в эзотерику с программой, которую вы используете, чтобы не привязываться к одной программе...

Другие советы

Используйте утилиту сжатия последнего поколения (сжатие 7z и rar отлично подходят) и сжимайте в пакеты после организации всего, чтобы его было легко найти.

Существуют SDK для 7zip, которые работают с .net и упрощают эту задачу.

-Адам

Существует два типа постанализа данных:

  • исходные данные (обычно очень большие)
  • производные данные (обычно меньшего размера)

В вашем случае производные данные могут быть данными, которые входят в ваши отчеты.Для ваших исходных данных я бы просто создал огромный сжатый архивный файл с систематическим именем, основанным на дате и типе данных.Ценность этого в том, что если какой-то новичок в вашей команде каким-то образом полностью уничтожит код, который импортирует ваши исходные данные в базу данных, вы сможете восстановить его.Если производные данные невелики, вы можете подумать о том, чтобы скопировать их либо в другую таблицу базы данных, либо сохранить в отдельном плоском файле, поскольку некоторые из ваших проблем можно решить, просто обратившись к производным данным.

Резервное копирование данных в целом является сложной проблемой, поскольку оно зависит от таких вещей, как:

  • Объем пропускной способности данных
  • Доступное место для резервных копий за пределами площадки
  • Ценность обновления системы резервного копирования, а не простого восстановления данных в случае возникновения проблем.

Какова ваша установка?Будут ли жесткие диски расти достаточно быстро, чтобы хранить сжатую версию ваших данных?Задумывались ли вы о резервном копировании за пределами офиса?

Создайте файловую иерархию, которая упорядочит файлы соответствующим образом, заархивируйте весь каталог и используйте -u установите флажок в zip-архиве, чтобы добавлять новые файлы. После того, как вы их заархивируете, вы можете удалить файлы, но сохраните структуру каталогов для добавления следующего пакета.

Если имена файлов каким-то образом кодируют версию (даты или что-то еще) или уникальны по другим причинам, это не должно быть чем-то более интересным, чем каталог Signle.Если нет, вам необходимо настроить каталоги, чтобы вы могли восстанавливать версии.

Сожмите их и сохраните в двоичном поле базы данных.Затем вы можете создать кнопку «перезагрузить набор данных», чтобы добавить свой набор данных (я предполагаю, что вы отслеживаете каждый набор данных, который вы импортируете для его замены, и т. д.).

Таким образом, все хранится в базе данных и резервируется с помощью базы данных, правильно индексируется и связывается и в то же время сжимается.

Вы указали, что предпочитаете избегать использования SDK и установки программного обеспечения на удаленных системах.

Ваши возможности довольно ограничены.

Поскольку вы используете компьютеры с ОС Windows, почему бы не использовать простой скрипт?

В этом вопросе предлагается несколько предложений о том, как использовать Windows VBscript для сжатия и распаковки файлов:
Можно ли запрограммировать встроенное в Windows сжатие ZIP?

Ничего «устанавливать», никаких SDK.Просто скопируйте скрипт, вызовите его через планировщик, и все готово.

-Адам

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top