Большие данные! Поток TCP / IP или веб-сервис? - PullRequest
0 голосов
/ 27 октября 2009

Каков наилучший способ извлечения огромных данных (только один раз при создании локальной базы данных), таких как 200 МБ (может быть в виде кусков), потоковой передачи по протоколу tcp / ip или веб-службы или непосредственно с сервера БД или еще чего-нибудь?

Факторы: скорость и безопасность. Языки: клиент C # что-нибудь на сервере предпочитал с открытым исходным кодом.

Если мы получим прямой доступ к БД, как я могу обеспечить безопасность?

Спасибо Вишал

Ответы [ 4 ]

2 голосов
/ 27 октября 2009

Потоковая передача TCP / IP, вероятно, является лучшим выбором, поскольку у вас не будет накладных расходов на протокол HTTP, который действительно предназначен для текстовых данных. Но если вы работаете с чем-то связанным с веб-сервисом, убедитесь, что любое решение, которое вы выберете, поддерживает отправку «порционных» данных. Потому что без этого вашему серверу придется буферизовать весь запрос перед отправкой.

Чтобы ответить на ваш второй вопрос, вы действительно не хотите, чтобы кто-то кроме вас в ваших данных. Так что я бы даже не рассматривал прямой доступ к БД.

0 голосов
/ 27 октября 2009

Используйте WCF - вы можете легко изменить базовый протокол, если он не соответствует вашим требованиям. Если вы собираетесь использовать WCF MTOM, потоковая передача, разбиение на фрагменты и сжатие являются некоторыми вариантами, в зависимости от того, какую привязку вы используете. Это сообщение в блоге может быть полезным.

0 голосов
/ 27 октября 2009

если ваша коллекция меньше терабайта, я рекомендую двоичную таблицу в базе данных. Если оно больше, рассмотрите систему хранения ключ-значение.

0 голосов
/ 27 октября 2009

если вы контролируете клиентскую сторону, а не через Интернет, прямой доступ может быть хорошим

если нет, веб-сервисы по одной основной причине, безопасность

веб-сервис tcp / ip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...