4

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

Вопрос: где я буду размещать базу данных? Какое лучшее место занимает безопасность и производительность. А также каковы возможности: если я поместил базу данных вместе с моим сайтом на веб-сервере, могу ли я получить к ней доступ к своему локальному программному обеспечению для загрузки? Если я поместил базу данных локально, могу ли я получить к ней доступ с моего сайта?

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

Спасибо заранее, Jethro

ответ

0

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

Репликация может управляться либо вашей базой данных, либо вашим приложением.

+0

Итак, база данных и приложения локальные, а затем реплицируйте их на вторую (скопированную) базу данных на веб-сервере. Но возможно ли подключиться ко второй базе данных на веб-сервере путем соединения через ip? – Jethro

+0

конечно, но вам нужно убедиться в том, что хостинговая компания имеет доступ к серверу mysql извне. какой-то блок с брандмауэрами. есть варианты обхода, а также. – spatel

0

Для обеспечения стабильности и производительности вы должны развернуть базу данных, ближайшую к производственной системе, которая в этом случае является вашим веб-сайтом. Бэкэнд-программное обеспечение должно ударить по размещенному серверу через TCP, если у вас есть приличная безопасность и пропускная способность между ними. Это означает, что предпочтительнее иметь так называемое соединение point-to-point. Альтернативой является создание vpn через Интернет, что может быть медленным и ненадежным.

Редактировать: «Производство» означает «обращаясь к клиенту» и критически важно, что может быть неверным для вашего дела. Кто аудитория двух систем? Какой из них важнее быть стабильным?

Используя двухточечный или vpn, вы можете притворяться, будто вы нажимаете на компьютер по локальной сети. Однако скорость будет зависеть от того, сколько вы тратите в месяц.

+0

Я думаю, что производственная система - это локальное программное обеспечение, заполняющее базу данных, сайт будет читать только данные. Но могу ли я подключиться с сайта к локальной базе данных? Из-за безопасности LAN, например, DMZ и т. Д.? – Jethro

0

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

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

Это позволит ваш веб-сайт, чтобы получить доступ к данным более быстро и, следовательно, повысить стабильность системы (меньше вероятность тайм-аута)

цена, которую вы будете платить, конечно, с программным обеспечением, которое теперь необходимо удаленно подключаться к базе данных.

Еще одно соображение - это объемы данных - если, к примеру, вы ожидаете, что программное обеспечение будет использовать базу данных сильно и веб-сайт только экономно, вы можете подумать об изменении подхода.

Последняя - о доступе к базе данных удаленно - вы, конечно, можете считать просто подключение к базе данных «нормально», но я бы, вероятно, считается, окружив его в веб-службы, если это возможно, что позволит вам

  1. для того, чтобы иметь больше гибкости с места и реализации базы данных
  2. Использование широко распространенные протоколы, такие как WS- * вы могли бы достичь более высокий уровень безопасности без необходимости инфраструктуры, таких как VPN

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

1

Это хороший вопрос.

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

С точки зрения безопасности, соединение с удаленными базами данных может быть опасным. Однако, если вы принимаете надлежащие меры предосторожности, например, для аутентификации SSL key-pair. Также убедитесь, что все учетные записи пользователей в базе данных могут использоваться только с вашего IP-адреса, которому вы доверяете.

Существует еще одна мера предосторожности при размещении базы данных. Существует ряд атак, которые хакеры могут использовать, когда ваш веб-сервер и база данных находятся на одной машине. Лучшим примером является атака в аутфике, описанная в Hackproofing Mysql. Если база данных не может быть помещена на ее собственную машину, тогда можно использовать chroot или virtual machine.

Смежные вопросы