2009-04-15 7 views
0

Q rapide, pourrait être un idiot étant donné mon (manque de) résultats sur Google jusqu'à présent.Compresser les données de la base de données

J'ai une base de données. Dans cette base de données est une table avec des données. Les données sont un gros BLOB mais ne peuvent pas être compressées (pour des raisons hors de mon contrôle).

J'ai une application qui parle à cette base de données. J'aimerais vraiment pouvoir m'assurer que les données sont compressées pendant le transit.

Si je comprends bien, le fournisseur de base de données permettrait de gérer la compression, etc.

Est-ce le cas? Existe-t-il des paramètres sur les plus courants, disons SQL Server pour activer la compression?

Répondre

2

Pour SQL Server, je trouve this "connect" entry, mais non: Je ne pense pas que TDS est actuellement compressé. Vous pourriez (bien que je ne l'aime pas beaucoup) utiliser SQL-CLR pour le compresser en code .NET, mais il pourrait avoir trop de frais généraux.

Je sais qu'il est pas une option dans ce cas (de la question), mais il est généralement préférable de stocker BLOBs la façon dont vous voulez les obtenir. Donc, si vous voulez les compresser, stockez-les compressés. SQL n'est pas un bon outil pour manipuler binary ;-p Une telle stratégie signifie également que vous n'utilisez pas de fonctionnalités spécifiques au fournisseur - juste la possibilité de stocker un BLOB opaque.

+0

Merci, je ne peux malheureusement pas modifier les données sous-jacentes sinon je le ferais! Donc, en termes de solution SQL-CLR, je créerais un sproc GetMyData qui le compresserait en un type de données .NET? – Duncan

0

SQL Server 2008 est la première version de SQL Server pour supporter nativement la compression des sauvegardes. Avant 2008, vous devez le faire avec des produits tiers.

1

Si votre couche d'accès de base de données ne fournit pas la compression, vous pouvez configurer un lien VPN entre le serveur de base de données et l'application hôte. Les solutions VPN les plus sérieuses compressent les données en transit. OpenVPN est une solution simple et facile à mettre en place pour créer rapidement un tunnel. Les données sont compressées en transit. Probablement ne sera pas aussi efficace qu'une compression native, mais c'est une solution possible. Et vous obtenez le cryptage gratuitement :).

Questions connexes