веб-приложение в DB4O - PullRequest
       41

веб-приложение в DB4O

1 голос
/ 08 апреля 2011

Если я собираюсь разработать веб-приложение в ASP.NET с использованием db4o, какой это будет база данных: локальная или удаленная, и почему?

Ответы [ 2 ]

3 голосов
/ 08 апреля 2011

Я думаю, что вы имеете в виду «встроенный» или «клиентский сервер» (это два основных режима, в которых может работать db4o.

Скорее всего, вам понадобится «клиентский сервер», чтобы вы могли раскрутить несколькоклиентские сессии (возможно, по одному на запрос?).

Решение о том, где разместить базу данных, зависит от вашего сценария. В идеале вы должны разработать свое решение так, чтобы оно могло быть выполнено в любом случае с помощью конфигурации.вы можете обслуживать db40 в процессе развертывания на одном сервере.

Однако, если вам требуется больше мощности, вы можете подать db40 с другого компьютера для распределения работы. Обратите внимание, что в этом случае выбудет иметь больше сетевых издержек / задержки.

2 голосов
/ 12 апреля 2011

Режим C / S db4o подразумевает сетевую связь и работает медленнее. Если вам нужно несколько клиентских сеансов, вам не обязательно использовать C / S, потому что есть режим встроенного сервера, который позволяет проводить несколько транзакций параллельно без затрат на сетевое взаимодействие:

http://developer.db4o.com/documentation/reference/db4o-8.0/java/reference/Content/client-server/embedded.htm

Таким образом, если ваш сценарий использования позволяет, вы можете открыть встроенный сервер на стороне веб-сервера и позволить своему приложению asp.net на стороне сервера общаться с db4o, используя несколько транзакций (например, по одной на веб-сеанс) для сохранения объектов. Обратите внимание, что в этом сценарии нельзя сохранять объекты со стороны клиента (веб-клиент обращается к стороне сервера вашего приложения, которая заботится о сохранении).

Важно: в веб-сценариях нередко закрывают контейнер объекта db4o по окончании сеанса. Если вы сделаете это, объект больше не отслеживается db4o, и он будет рассматриваться как новый на следующем сеансе. Вам нужно будет найти способ присоединить объекты к его идентификатору db4o на стороне сервера для другого сеанса (вы можете сделать это, запросив объект еще раз на стороне сервера).

Best!

Немецкий

...