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