Можно ли с СУБД работать через Интернет?

6yrop

Понятно, что теоретически можно. Но мой опыт с Firebird и PostgreSQL показал, что практически работать нельзя -- тормозит. Причем дело не в объеме трафика, а в latency.
Это принципиальное ограничение Интернета? или связано с конкретным участком?
Измениться ли ситуация в ближайшем будущем в связи с развитием коммуникаций?

Dasar

почему база выставляется в инет, а не web service?

otvertka07

а в чем принципиальное различие?

Dasar

1) по протоколу
2) по тому насколько легко в один запрос упихать разнородные данные
3) по безопасности

otvertka07

а поддержка этого web service требуется со стороны приложения? или оно прозрачно/через клиент

Dasar

что понимается под словами "поддержка" и "приложение"?

otvertka07

приложение - это клиент БД например, а поддержка - это значит как мне его заставить работать с ней (БД) через web service

Dasar

по твоему описанию, складывается впечатление, что ты хочешь web service использовать как proxy,
но web service и proxy - это разные вещи.

otvertka07

дык я собственно и хотел узнать, что это такое и зачем нужно

voronetskaya

Ну, Оракл вполне можно.

Markuss2

веб-сервис это набор методов предоставляемый информационной системой во внешнюю среду
преимущества:
работать с ними пипец как просто!
методы могут быть совсем нетривиальными
нет постоянного коннекта к базе
и ваще это классная штука!

bleyman

Забыл один крайне серьёзный минус:
Чтобы перегнать объект by value, а не by reference (то есть с целью на самом деле его передать, а не обращаться к каждому методу через прокси) нужно приложить неслабые усилия.
Например, разделять каждый класс на два - контейнер с публичными полями + обёртка с методами. Контейнеры гонять (они нормально ползают обёртками обёртывать на клиенте.
Или гонять сериализованные объекты. Для каждого класса - сильнотипизованный контейнер (у которого внутри массив байт довольно неплохо выходит. При этом непонятно, зачем нужен вообще хмл, возможно, придётся прилагать определённые усилия для контроля версий (хотя пока десериализатор вполне вменяемо ругался ещё довольно глупо себя чувствуешь, рисуя обёртку для енума (а иначе он в двух местах оказывается объявлен, сцуко).
Более вменяемо это на вебсервисах сделать невозможно, АФАИК. Несколько большую свободу предоставляет ремоутинг, но там свои специфические проблемы.

Dasar

> Чтобы перегнать объект by value, а не by reference (то есть с целью на самом деле его передать, а не обращаться к каждому методу через прокси) нужно приложить неслабые усилия.
Ты уверен, что ты умеешь их готовить?

6yrop

почему база выставляется в инет, а не web service?
Вопрос, такой же как у -а:
для работы с базой из приложения у меня есть .Net provider (или jdbc-драйвер). Ты предлагаешь заниматься кодированием web service-а? а заказчику оплачивать это кодирование?
Или есть что универсальное?

Dasar

> Или есть что универсальное?
Универсального - нет, просто потому, что при доступе к данным через инет - необходимо уже учитывать латентность, обрывы связи, наличие man in middle и т.д. и переделывать логику запросов.

6yrop

Ну, Оракл вполне можно.
у тебя есть опыт использование?
О PostgreSQL-е тоже можно сказать, что "вполне можно" (быстрее чем Firebird в разы). Но через .Net Remoting или web service тормозов будет значительно меньше.

Marinavo_0507

Гы, MySQL, было дело, юзали.
Потому что лень было правильно сделать.

Dasar

> Ты предлагаешь заниматься кодированием web service-а? а заказчику оплачивать это кодирование?
нет ручек - нет конфеток.
Есть требование - работать через инет, значит нужен - Web Service.
Если на этом сэкономить, то потом будут проблемы при обеспечении работоспособности приложения.

6yrop

да, из бесплатных в MySQL-е c этим лучше всего. Postgre не намного проигрывает.

xz_post

ну вот к примеру ms sql server 2000 можно спокойно настроить для доступа по протоколам soap. в 2005 поддержка этого дела намного шире. мы как-то писали ado.net web services provider for firebird - в локалке у нас все достаточно быстро с ним работало.

Markuss2

не знаю, немало времени занимался разработкой веб-сервисов на веб-сфере и с такого рода проблемами встречался крайне редко...

6yrop

ну вот к примеру ms sql server 2000 можно спокойно настроить для доступа по протоколам soap.
как из приложения с ним работать? .Net provider может работать по этому протоколу?

6yrop

нет постоянного коннекта к базе
сейчас вообще мало кто пишет с постоянным конектом к базе, причем тут web service-ы?

6yrop

[не по теме] каким клиентом для Firebird вы пользуетесь?

xz_post

как из приложения с ним работать? .Net provider может работать по этому протоколу?
работаешь как с обычным веб-сервисов. Только сейчас для этого нужен еще и IIS. В 2005 скул сервере - все намного круче.
>>каким клиентом для Firebird вы пользуетесь?
я юзал родной провайдер с сорсфоржа, и Firebird 2.0 какую-то самую первую альфу версию. Работало быстро...

psm-home

Firebird 2.0 какую-то самую первую альфу версию

Это в промышленном проекте? Или для себя?

xz_post

это был прототип промышленного проекта. мы на нем отрабатывали возможнось написать сложную софтину, не привязанную к конкретной СУБД. короче ничего не вышло . Сейчас все на Оракле и SQL 2000. Просто в Firebird 2.0 есть поддержка вложенных запросов и сложных джоинов...

6yrop

Просто в Firebird 2.0 есть поддержка вложенных запросов и сложных джоинов..
в Postgre тоже есть. Хотя конечно, если есть возможность работать на коммерческой СУБД...

6yrop

я юзал родной провайдер с сорсфоржа, и Firebird 2.0 какую-то самую первую альфу версию. Работало быстро...
я не точно выразился. Какой тулзой для просмотра, выполнения SQL и т.п. пользовались?

xz_post

Не знаю, файрберд мне больше нравиться по функционалу и требованиям к железу. Правда я слышал, что его скоросделают платным...

xz_post

вроде бы IBExpert
(для России она бесплатна )
Оставить комментарий
Имя или ник:
Комментарий: