4

현재이 데이터베이스를 채울 웹 사이트, 데이터베이스 및 소프트웨어를 구현하는 데 바쁩니다. 웹 사이트는 외부 호스팅 회사에 배치되고 소프트웨어는 로컬 네트워크에서 실행됩니다. 웹 사이트는 데이터베이스의 정보를 읽어야하며, 로컬 소프트웨어는 그 결과 (이 데이터)를 데이터베이스에 저장합니다.내 데이터베이스를 배치 할 곳

질문 : 데이터베이스는 어디에 둘까요? 보안 및 성능을 고려한 최적의 장소는 무엇입니까? 또한 가능성은 무엇입니까? 데이터베이스를 웹 서버와 함께 웹 서버에 연결하면 내 로컬 소프트웨어에서 업로드 할 수 있습니까? 데이터베이스를 로컬에 배치하면 내 웹 사이트에서 액세스 할 수 있습니까?

나는 프로그래머이며 소프트웨어 프로그래밍 및 데이터베이스 구현에 대해 알고 있지만 인프라에 대한 지식이 거의 없으므로 누군가 나에게 조언을 해줄 수 있습니다. 사전에

감사합니다,

답변

0

두 곳 이드로? 단방향 복제 구성표를 설정하면 항상 데이터의 로컬 복사본을 가질 수 있지만 원격 사이트의 성능을 저해하지는 않습니다.

데이터베이스 또는 응용 프로그램에서 복제를 관리 할 수 ​​있습니다.

+0

좋아, 그래서 데이터베이스 및 응용 프로그램 로컬 및 웹 서버에서 두 번째 (복사본) 데이터베이스에 복제. 하지만 IP를 통한 연결을 통해 웹 서버의 두 번째 데이터베이스에 연결할 수 있습니까? – Jethro

+0

확실하지만 외부에서 mysql 서버에 액세스 할 수 있는지 호스팅 업체에 확인해야합니다. 일부는 방화벽을 차단합니다. 우회하는 옵션도 있습니다. – spatel

0

안정성과 성능을 위해 프로덕션 시스템에 가장 가까운 데이터베이스 (이 경우 웹 사이트)를 배포해야합니다. 백엔드 소프트웨어는 적절한 보안 및 대역폭을 가지고 있다고 가정하면 TCP를 통해 호스트 된 서버에 도달 할 수 있어야합니다. 즉, point-to-point 연결을 사용하는 것이 좋습니다. 대안은 인터넷을 통해 vpn을 설정하는 것입니다. 속도가 느리고 불안정 할 수 있습니다.

편집 : : "제작"이란 귀하의 경우에 맞지 않을 수도있는 고객 지향적이며 중요한 업무를 의미합니다. 두 시스템의 대상은 누구입니까? 어느 것이 더 안정적일까요?

point-to-point 또는 vpn을 사용하면 LAN을 통해 컴퓨터를 치는 것처럼 가장 할 수 있습니다. 그러나 속도는 달당 지출 한도에 따라 다릅니다.

+0

나는 생산 시스템이 데이터베이스를 채우는 로컬 소프트웨어라고 생각한다. 웹 사이트는 단지 데이터를 읽을 것이다. 하지만 웹 사이트에서 로컬 데이터베이스에 연결할 수 있습니까? LAN의 보안 때문에 DMZ 등? – Jethro

0

당신은 안정성과 성능에 대해 질문하지만 항상 그렇듯이 이것은 트레이드 오프의 문제이므로 웹 사이트 나 소프트웨어와 같이 더 중요한 사항을 결정해야합니다.

저는 웹 사이트가 (어쨌든 데이터베이스에 정보를 업로드하는 이유라고 생각합니다) 웹 사이트 옆에 데이터베이스를 두는 관점에서 (대부분이 서비스를 제공하는 호스팅 회사와 함께) 가정합니다. .

이 귀하의 웹 사이트가보다 신속하게 데이터에 액세스 할 수 있습니다 것 때문에 (시간 초과 적은 가능성)

은 물론, 지불 가격 시스템의 안정성을 증가, 소프트웨어와 인 이제 데이터베이스에 원격으로 연결해야합니다.

또 다른 고려 사항은 데이터 볼륨입니다. 예를 들어 소프트웨어가 데이터베이스를 많이 사용하고 웹 사이트를 드물게 사용할 것으로 예상하는 경우 접근 방식을 변경하는 것이 좋습니다.

마지막 - 원격 데이터베이스에 액세스에 관한 - 당신이 당연히 고려 단순히 '보통'데이터베이스에 연결할 수 있지만 아마 당신에게

  1. 을 허용 할 웹 서비스 가능하다면, 그것을 포장으로 간주했을 것이다 같은 WS- 널리 확산 프로토콜을 사용하여 데이터베이스
  2. 의 위치와 구현에 더 많은 유연성을 가지고 * 당신은 VPN

으로 인프라 필요없이 높은 수준의 보안을 달성 할 수 다시 - 데이터베이스에 액세스하는 부분에 따라 원격으로 서비스로 공개 할 측을 선택할 수 있습니다. 이는 대용량의 데이터 업로드에 잠재적으로 덜 적합합니다.

1

이것은 좋은 질문입니다.

성능 관점에서 나는 웹 서버에 의해 수행 된 읽기를 최적화 할 것입니다. 비례 적으로 웹 서버에서 더 많은 쿼리를 보내고 데이터베이스가 느린 경우 페이지로드 속도가 느려집니다.

원격 데이터베이스에 연결하면 보안 상 위험 할 수 있습니다. 그러나 인증을 위해 SSL key-pair을 사용하는 것과 같이 적절한 예방 조치를 취하는 경우. 또한 데이터베이스의 모든 사용자 계정은 신뢰할 수있는 IP 주소에서만 사용해야합니다.

데이터베이스 배치에 대한 또 다른 예방 조치가 있습니다. 웹 서버와 데이터베이스가 같은 시스템에있을 때 해커가 사용할 수있는 공격이 많이 있습니다. 가장 좋은 예는 Hackproofing Mysql에 설명 된 outfile 공격입니다. 데이터베이스를 자체 시스템에 둘 수없는 경우 chroot 또는 가상 시스템을 사용할 수 있습니다.

관련 문제