2009-04-15 6 views
0

Быстро q, может быть глупым, учитывая мои (недостатки) находок в Google до сих пор.Сжатие данных из базы данных

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

У меня есть приложение, которое ведет переговоры с этой базой данных. Мне бы очень хотелось, чтобы данные были сжаты во время транзита.

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

Является ли это случай? Существуют ли настройки для общих, скажем, SQL Server для включения сжатия?

ответ

2

Для SQL Server я нашел this "connect" entry, но нет: я не думаю, что TDS в настоящее время сжата. Вы могли (хотя мне это не очень нравится) использовать SQL-CLR для сжатия его в .NET-коде, но у него может быть слишком много накладных расходов.

Я знаю, что это не вариант в этом случае (из вопроса), но обычно лучше хранить BLOB-файлы так, как вы хотите их получить. Поэтому, если вы хотите, чтобы они сжались, сохраните их сжатыми. SQL не является хорошим инструментом для манипулирования двоичным; -p. Такая стратегия также означает, что вы не используете специфические для вендора функции - просто возможность хранить непрозрачный BLOB.

+0

Спасибо, к сожалению, я не могу изменить базовые данные, иначе я бы хотел! Итак, с точки зрения решения SQL-CLR, я бы создал GetMyData sproc, который сжимал бы его в виде данных .NET? – Duncan

0

SQL Server 2008 - это первая версия SQL Server, которая поддерживает сжатие резервных копий. До 2008 года вам нужно сделать это с помощью сторонних продуктов.

1

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

Смежные вопросы