Общая база данных рабочего стола / веб-приложение - PullRequest
0 голосов
/ 19 июля 2011

У нас есть 2 приложения: веб-приложение (PHP) и рабочий стол (VB), совместно использующие одну базу данных (Hostgator).Наше веб-приложение имеет быстрый доступ к базе данных (это localhost).Наше настольное приложение страдает от медленного доступа и частых таймаутов.Каков наилучший подход к решению этой проблемы?Должны ли мы делиться базой данных?Есть ли другое решение?Спасибо

Ответы [ 4 ]

0 голосов
/ 19 июля 2011

Проблема, вероятно, не в том, что она является общей; скорее, это сеть, по которой передаются данные. Существует очень мало обстоятельств, при которых для доступа к данным MySQL сетевое соединение быстрее, чем localhost, поэтому нельзя ожидать одинаковой производительности от обоих.

Однако вы должны быть в состоянии получить довольно быстрое и надежное соединение БД по хорошей сети. Если вы перемещаете огромные объемы данных, вам, возможно, придется использовать какое-то кэширование. Но если проблемы возникают даже при запросах среднего размера, вам, возможно, придется сообщить об этом вашей хостинговой компании для устранения неполадок. Многие общие хосты не оптимизированы для удаленного хостинга БД (большинство сайтов не нуждаются / не используют / не хотят его), поэтому, если они не могут его разместить, вам, возможно, придется перейти на хост, который удовлетворит ваши потребности.

0 голосов
/ 19 июля 2011

AFAIK, я не думаю, что это может быть проблемой. Потому что, веб или рабочий стол, оба обращаются к базе данных с сервера MySQL, поэтому она не должна давать смешанные результаты производительности.

0 голосов
/ 19 июля 2011

Нет проблем "поделиться" БД. Вы проверили загрузку сервера и стабильность соединения?

0 голосов
/ 19 июля 2011

Некоторые возможные решения:

  • Получите более быстрый сервер БД
  • Переместите базу данных на сервер, расположенный ближе к рабочему столу (ам)
  • Разместите свой веб-сервер / БД в расположении рабочего стола (ей)
  • Имейте две БД, текущую, локальную для веб-сервера и вторую, локальную для рабочего стола, и установите вторую в качестве подчиненной для первой. Вы должны были бы рассмотреть, пишут ли рабочие столы в DB в этом сценарии. Эта опция, вероятно, не очень хорошая, если рабочие столы не предназначены только для чтения и не беспокоятся о устаревших данных. Это может сработать, если настольные компьютеры много читают, но пишут реже.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...