ASP.NET MySQL WebApp Архитектура - PullRequest
0 голосов
/ 03 октября 2011

Я хотел бы знать лучшую архитектуру.

У нас есть веб-приложение с разными доменами. Каждый домен имеет свою собственную базу данных MySQL, но структура базы данных одинакова для всех из них.

  • У нас есть веб-приложение для видимой части приложения.
  • У нас есть проект dataLogic
  • У нас есть проект dataEntities
  • У нас есть dataAccess, который содержит только методы для подключения к базе данных.

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

Мы думаем об использовании WebService для извлечения данных. Каждый домен может вызывать веб-службу со строкой подключения и подключать свою базу данных для получения данных. Таким образом, когда мы меняем SQL-запрос, нам нужно только скомпилировать веб-сервис и изменить его, нам не нужно менять версии на нескольких доменах.

Кроме того, что вы думаете о SQL-запросах? Поскольку мы не хотим продолжать использовать хранимые процедуры, каков наилучший способ сделать это? Прямо из кода?

Спасибо

* 1 022 * T * 1023

1 Ответ

0 голосов
/ 03 октября 2011

Если у вас несколько серверов баз данных, вам придется вносить структурные изменения из одной БД в другую, так или иначе. Есть много инструментов для изменения структуры базы данных. Эти инструменты будут искать различия между схемами и будут либо генерировать код SQL для вас, либо вносить изменения самостоятельно (это сильно зависит от инструмента, есть мощные и не очень мощные). Пожалуйста, взгляните на Жаба для MySql . Теперь, для изменения данных, вы можете скопировать данные из одной базы данных в другую. Это делается через Репликация .

Мы думаем об использовании WebService для извлечения данных. каждый домен может вызвать веб-сервис со строкой подключения и подключиться его база данных для извлечения данных.

Это звучит как хорошая идея, и, поскольку у вас уже есть проекты "dataAccess" и "dataLogic", создание служб не должно быть слишком сложным.

Кроме того, что вы думаете о SQL-запросах? Так как мы не хотим продолжать использовать хранимые процедуры, каков наилучший способ сделать это? непосредственно из кода?

Я не думаю, что это хорошая практика, чтобы SQL-запросы были непосредственно в вашем коде, но это зависит от многих вещей, поэтому я бы посоветовал хранимую процедуру против жесткого кодирования запросов или LinQ (Entity Framework 4,1).

Удачи в вашем проекте, и я буду часто просматривать эту ветку, чтобы увидеть, что вы в итоге делаете.

Веселись!

Hanlet

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