2012-07-21 3 views
6

데이터베이스에서 대부분의 쿼리에 "다각형 내에"와 같은 요구 사항이 포함되는 프로젝트의 경우 이전에 주로 사용했던 MySQL 대신 PostGIS와 PostgreSQL을 선택하는 것에 대해 생각해 보았습니다. 주로 PostgreSQL은 GIS 기능이 더 많기 때문입니다. 그러나, 나는 이것을 어떻게 평가해야할지 불확실하며, PHP 개발자 관점과의 차이를 실제로 볼 수는 없습니다.PHP 개발자를위한 PostgreSQL과 MySQL의 차이점

  1. PostgreSQL 지원은 MySQL과 마찬가지로 PHP와도 통합되어 있습니까?
  2. MySQL과 매우 비슷한 PostgreSQL 쿼리 (SQL)를 작성하고 있습니까?
  3. MySQL 대신 PostgreSQL을 선택할 때주의해야 할 사항이 있습니까?
  4. GIS 데이터를 사용할 때 정의마다 PostgreSQL이 더 나은 솔루션입니까?

여러분이이 문제에 대해 명확히 설명해 주시기 바랍니다.

+0

두 가지 첫 번째 질문에 예. –

답변

15

PostgreSQL 지원은 MySQL과 마찬가지로 PHP와도 통합되어 있습니까?

예. 그리고 어쩌면 더 나은, 더 많은 것을 PHP functions 사용할 수 있습니다.

MySQL과 매우 비슷한 PostgreSQL 쿼리 (SQL)를 작성하고 있습니까?

예, SQL입니다. 그러나 Oracle 및 SQL Server와 같은 고급 기능을 사용할 수 있습니다.

MySQL 대신 PostgreSQL을 선택할 때주의해야 할 사항이 있습니까?

PostgreSQL은 값싼 호스팅 제공 업체에서 아직 널리 보급되지 않았습니다. 그러나 그것은 가능합니다.

GIS 데이터를 사용할 때 정의마다 PostgreSQL이 더 나은 해결책입니까?

MySQL은 GIS 쿼리가 필요하고 PostGIS (PostgreSQL의 함수 및 데이터 유형)는 시장에서 사용할 수있는 최고의 GIS 데이터베이스 중 하나입니다.


편집 : 확인이 두 비교 : 9.2 다가오는으로

PostGIS와는 버전 9.1로 버전 2.0과 PostgreSQL로 이동했습니다.

MySQL에는 GIS 기능이 일부만 있으며 성능이 떨어지며 GIS에는 심각한 옵션이 아닙니다.

+1

의견을 보내 주셔서 감사합니다. "GIS 쿼리가 필요할 때 MySQL은 농담"이라고 분명히 설명해 주시겠습니까? – preyz

+0

@preyz GIS에는 MySQL에 대해 누락 된 기능이 많이 있습니다. 그것은 투영 엔진을 가지고 있지 않으며 [폴리곤 포인트 분석 (point-in-polygon analysis)이 아닌 경계 상자 (bounding box)를 수행합니다] (http://stackoverflow.com/questions/1078386/see-if-lat-long-falls-within- a-polygon-using-mysql) (최신 버전을 사용하지 않는 한) MySQL에 링크 할 GIS 도구가 더 적습니다. PostGIS는 MySQL Spatial이 제공하는 것보다 GIS와 관련하여 훨씬 성숙합니다. –

0

순전히 PHP의 관점에서, PDO을 사용하면 생성자를 제쳐두고 - 코드는 데이터베이스에 거의 영향을 미치지 않습니다.

+1

그러나 특정 데이터베이스의 모든 이점을 누릴 수 있습니다. 성능과 기능이 저하됩니다. –

+0

PDO는 주 SQL 구문으로 작업하기위한 구조 만 제공하고 이스케이프하고 올바른 따옴표를 식에 추가하는 데 도움이됩니다. 특정 기능을 사용하는 것을 거부하지 않으며 필수적인 SQL 기회 만 유지하는 것이 목적이 아닙니다. 심각한 프로젝트는 범용 SQL을 기반으로 할 수 없습니다. 그러나 오픈 소스 제품 (예 : 프레임 워크 용 확장 프로그램)을 개발하는 경우 플랫폼 별 기능을 피할 필요가 있습니다. 두 방법 모두 문제가 없습니다. 그런데 MySQL, Postgres, SQL Server 사이에서 몇 가지 실제 마이그레이션 작업을 수행했습니다. 일부 시작 단계에서는 괜찮습니다. –