У меня есть клиент .NET, которому необходимо подключиться к удаленному SQL Server через WAN, возможно ли сжимать SQL-трафик между клиентом и сервером?
Я использую .NET 3.5 и SQL Server 2005 и выше.
У меня есть клиент .NET, которому необходимо подключиться к удаленному SQL Server через WAN, возможно ли сжимать SQL-трафик между клиентом и сервером?
Я использую .NET 3.5 и SQL Server 2005 и выше.
Рассматривая connectionstrings.com здесь для SQL Server 2008, поставщики баз данных не имеют какой-либо схемы сжатия... Вы можете необходимо написать оболочку на другом порту, который сжимает данные, используя переднюю часть, посылает данные через этот порт, оттуда, сжимает их, отправляет на удаленную конечную точку, распаковывает и пересылает их на реальный порт tcp/ip, на котором сидит сервер.
Обычно SQL Server находится на порту 1433...
Поскольку картина стоит тысячи слов....
+--------+ +--------+ | CLIENT | | SERVER | +--------+ +--------+ Port 1234 Port 1433 <+--+ | | | | +={Module}= <=> TX/RX <=> ={Module}= -+-----------+
Модуль будет сидеть на обоих концах, сжимая/распаковывая...
Честно говоря, похоже, что будет задействована работа, поскольку дыры брандмауэра должны быть проколоты, чтобы вставлять и вставлять сжатые данные... вброс NAT/SNAT может усложнить ситуацию...
Взгляните на эту статью, которую я написал в Codeproject, этот код действует как перенаправитель трафика и может быть легко изменен для использования схема сжатия/декомпрессии.
Как утверждают другие, в SQL Server TDS Protocol отсутствует сжатие. Также стоит сказать, что по умолчанию также нет шифрования. Чтобы включить шифрование, вы должны использовать сертификаты и указать их в строках подключения.
Самое простое решение для решения обеих проблем - открыть VPN-туннель с включенным шифрованием и сжатием. Простой Microsoft PPTP решает обе проблемы и легко настраивается.
Я не думаю, что в подключении SQL-сервера есть сжатие - если вам нужно сжать данные, вы должны использовать веб-сервис и HTTP-сжатие при общении с службой.
Я знаю, что этот вопрос уже больше года, но я обнаружил, что искал его, поэтому я решил поделиться тем, что нашел. Это (довольно дорогое) программное обеспечение, которое сжимает трафик SQL-сервера. Я тестирую его на данный момент для одного из моих клиентов, он работает очень хорошо, достигая в среднем 60% коэффициентов сжатия.
http://www.nitrosphere.net/store/nitroaccelerator
Он также совместим с клиентами, у которых эта служба не установлена.
В этом случае я предлагаю использовать веб-службы или WCF для отправки данных вместо использования соединения с базой данных.
Проверьте это: http://www.toonel.net/tcpany.htm
Кстати, я также думаю, что сам SQL Server не может сжимать trafic, но с сетевым уровнем внутри приложения - вы можете сделать сжатие там.
Нашел эту ссылку Транзакционная репликация SQL Server 2005: преимущества использования SubscriptionStream для среды с низкой пропускной способностью и высокой задержкой
Это может принести пользу.
если вы хотите создать туннель со сжатием и шифрованием (его можно отключить, чтобы сохранить процесс), не создавая vpn, а также перекрестный plataform для вашего удовольствия, здесь у вас есть тот, который функционирует как клиентский сервер и использует прослушивание порты всю жизнь также функционируют как брандмауэр, поскольку туннель имеет один порт в качестве канала для управления удаленными подключениями и портами), этот инструмент существует 10 лет назад: http://www.winton.org.uk/zebedee/
Я делаю эксперименты для сжатия (на уровне 3) соединения незашифрованного SQL Server, и я получаю хорошие отношения к уровню сжатия, пусть намерение детей тратит большие запросы на возможные данные для ограниченного канала... обновлено в: https://sourceforge.net/projects/zebedee/
В настоящее время мы также тестируем программное обеспечение NitroSphere по нашей сети WAN, и мы имеем коэффициент сжатия 73% и значительное улучшение скорости.
Я считаю, что программное обеспечение действительно дешево по сравнению с лицензированием SQL Server, устройствами Riverbed и соединениями MPLS WAN. Поэтому наверняка посмотрим, есть ли у вас проблемы с полосой пропускания. Он также поддерживает шифрование, но мы не планируем использовать его, поскольку все будет оставаться во внутренней сети MPLS.