2012-06-20 2 views
1

나는 사이트를 만든 원래 회사를 통해 호스팅되는 클라이언트의 PHP 웹 사이트에서 작업하고 있습니다. 사이트에서 사용자가 목록에서 국가 이름을 클릭하고 매개 변수가 URL에 게시되며 데이터베이스에 이러한 매개 변수를 사용하여 쿼리가 실행되고 해당 국가의 휴가 패키지가 페이지에 표시되는 섹션이 있습니다. 모든 표준 물건.로컬 XML 파일 또는 외부 MySQL 데이터베이스?

웹 사이트를 호스팅하는 회사가 db에 대한 직접 액세스 권한을 부여하지 않으므로 (이해할 수있는 사람이 될 수 있음) 고객 업데이트에 몇 가지 업데이트를 추가하는 것에 대해 상당한 금액이 부과되기를 원합니다. 대체 솔루션을 찾고 있습니다.

1) 내 웹 호스트에 MySql 데이터베이스를 만들고 외부에서 액세스하십시오. 2) PHP와 XSLT를 사용하여 대신 XML 파일을 생성하고 쿼리합니다.

명확히하기 위해 수동으로 데이터를 직접 업데이트 할 것입니다. 고객이 30 개 이상의 파카 캡을 사용하지 않으므로 상당히 지속 가능합니다.

그럼 제가 선택해야 할 질문은 무엇입니까? 나는 MySQL 데이터베이스에 원격으로 액세스하는 속도와 보안에 대해 걱정이된다. (심지어 웹 호스트로도 할 수 있을지 모르겠다.) 로컬 XML 파일은 안전하지 않을까?

미리 감사드립니다.

보석

답변

1

호스팅 회사는 클라이언트에 대한 액세스 권한을 제공해야합니다 - 그들은 액세스하고 데이터를 수정할 수있는 모든 권한을 행사할 수 있습니다. Normaly 호스트는 phpMyAdmin을 통해 데이터베이스에 액세스 권한을 부여합니다.

그렇지 않으면 XML 파일을 대중적으로 사용할 수없는 폴더에 넣으면 스크립트에서 액세스 할 수 있으므로 문제가 발생하지 않습니다.

+0

Thanks @Riho! 호스팅 회사는 솔직히 많은 세부 정보를 제공하기를 꺼립니다. FTP 계정을 얻는 데 3 주가 걸렸으며 업데이트를 수행하는 데 거의 같은 시간이 걸리는 경향이 있습니다. 내 고객이 훨씬 오래 호스팅을 위해 머물지 않을 것이라는 것을 알고 있지만, 그 동안 며칠 내에 업데이트를 수행하면 좋을 것입니다. 그러면 청구서를 지불하는 데 도움이됩니다! – Gem

+0

이 경우 서비스를 조금 더 빨리 바꿀 고객을 밀어 넣을 것입니다 :). 협력 부족 때문에 고객에게 좋은 서비스를 제공하는 것이 매우 어렵다고 말해주십시오. – Riho

0

그런 방법으로 예방 조치를 취한 경우 두 방법 모두 안전 할 수 있습니다.

다른 데이터가 필요하거나 국가 코드 만 필요합니까? 30 개 국가 코드 일 뿐이며 XML을 많이 변경하지 않는다고 말할 것입니다. 그러나 더 많은 데이터가 SQL을 사용하면 (다른 사람들도 그것을 변경할 수 있음을 의미합니다). 분명히 당신이 그것이 논점이 될 수없는 것처럼 데이터베이스를 가질 수 있는지 확인하십시오!

+0

감사합니다 우디, 많이 감사합니다! – Gem

0

나는 hoster와 Riho에 동의합니다.

그렇지 않으면 XML 파일을 사용하는 것이 좋습니다.이 파일은 일단로드되면 파일 시스템에 의해 캐시되고 액세스는 리소스와 상관없이 사용되기 때문에 XML 파일을 사용하는 것이 좋습니다. 반면 PHP는 스크립트가 실행될 때마다 원격 DB 연결을 여는 반면 (로컬 서버에서는 mysql_pconnect를 사용하지 않는 것이 좋으며 원격 연결에서는 훨씬 적게 사용하는 것이 좋습니다) DB에서 30 줄을 읽는 것만으로 훨씬 많은 오버 헤드가 발생합니다.

+0

Martin에 감사드립니다. 테이블에 데이터가별로 없을지라도, 이것은 부분적으로 외부 DB에 대한 내 관심사였습니다. 제 의뢰인이 패키지의 레퍼토리를 10 배 넓히기를 원한다면, 다시 생각해 볼 필요가 있습니다. 그러나 우리가 그 다리에 오면 우리는 그 다리를 건너 뛸 것입니다! – Gem

0

작은 사이트 (일부는 작지 않음)에 XML + XSLT를 사용하고 있으며 최대 2MB의 파일에서 작동하며 10MB의 XML 파일이 지연되어 때때로로드되지 않습니다 (시간 초과).

대부분의 작은 사이트에는 약 100kb에서 300kb 파일이 필요합니다.

물론이 값은 서버 근육에 따라 조금씩 다를 수 있습니다. 30G 사이트에서 2Gb 3.0Ghz 듀얼 코어를 사용하고 있습니다. 모두 작고 일부는 SQL을 사용하여 50000 및 100000 레코드의 테이블을 사용합니다.

2Gb xml 데이터가 월 방문수 50000 회를 사용하는 것이 타당합니다.

+0

고마워요 @ neu-rah - 서버 세부 사항에 대해서는 언급 할 수 없지만 단지 작은 사이트 일뿐입니다. XML은 2MB 근처에있을 수 없으며 25 ~ 50KB 정도입니다. 생각하는 XML/XSLT는 – Gem

+0

이되는 길입니다. SQL은 대포를 사용하여 파리를 죽이는 것과 같을 것이고 기법은 Riho가 추천합니다. 스크립트가 액세스 할 수있는 공개되지 않은 폴더에 XML 파일이 있습니다. –

관련 문제