Как организовать доступ к удаленным данным (бд, обработка данных)?
Есть приложение (написано мной на C#), которое скачивает данные из интернета, обрабатывает их и сохраняет в базе данных (mssql). В виду большого объема данных, нужно разбить работу на несколько компьютеров.
Как лучше это организовать?
Я вижу два возможных варианта расширения. Написать и установить на дополнительных компьютерах вспомогательные клиенты, которые будут:
1) скачивать данные и передавать на обработку приложению на "главном" компьютере (там ресурсов для обработки хватает). (Средняя общая скорость загрузки по всем подключениям, которые максимально может создать главный пк к сайту для скачки приблизительно составляет 300 кбайт. Максимальная же скорость, которую он может принять 1,2 мбайт. Сайт, который отдает информацию отдает ее медленно. Скорость между компьютером клиентом и главным пк - 10 мбайт.)
2) скачивать и обрабатывать данные и передавать результаты для сохранения в базе данных.
Подскажите пожалуйста, в какую сторону смотреть, чтобы это сделать?
Как получить доступ к базе данных, которая сохранена на другом компьютере?
Как организовать передачу данных между двумя пк?
На компьютерах, установлен win7, у каждого статический ip.
Сам я только изучаю C#. Прошу не ругаться по поводу уровня вопросов).
1) Скачивать и передавать. - нет смысла, другие ПК становятся просто прокси, еще один дополнительный и не нужный промежуточный узел, гонять трафик в пустую.
2) Скачивать и обрабатывать - если обработка требует много времени то в этом есть смысл, если нет то и смысла в этом тоже нет. Все равно главный ПК не примет больше трафика чем он сам уже качает в процессе работы.
Если результат работы нужен в 1 базе, то можно на разных ПК делать разные части одной работы (с самого начала и до конца - скачать, обработать, сохранить), а потом сложить в одну корзину.
Между собой они могут только распределять работы, главный ПК будет сообщать что мол ты качаешь с 1 по 99, ты с 100 по 199.
Закончил? Скачай еще вот порцию, или если очередь закончилась, то высылай результат работы туда то.
По пункту 1) "Скачивать и передавать" есть нюанс - средняя общая скорость загрузки по всем подключениям, которые максимально может создать главный пк к сайту для скачки приблизительно составляет 300 кбайт. Максимальная же скорость, которую он может принять 1,2 мбайт. Сайт, который отдает информацию отдает ее медленно. Поэтому нужны прокси, чтобы от них принимать порции данных на большей скорости. Скорость между возможными прокси компьютерами и главным пк - 10 мбайт.
разве соседние не смогут дать по 30?
интернет канала тут хватает. запросов много, данных в каждом запросе мало. задержек в получении данных нет. главный пк, в параллельном режиме, открывает столько, сколько может.
по структуре дополнительных компов: часть будет в одной локальной сети с "главным"; часть обслуживается у одного и того же интернет провайдера что и у "главного"; часть из других городов. между всеми скорость 100 мбайт.