2010-07-20 2 views
1

작성하려고하는 CMS를 설계하는 중입니다. 데이터베이스에 대해 생각하고 있었고 어떻게 접근하고 싶습니까?CMS 데이터베이스 디자인 - 사이트 당 마스터 데이터베이스 또는 다중 -Db

내 모든 고객 웹 사이트에 대해 1 개의 마스터 데이터베이스를 만드는 것이 가장 좋다고 생각합니까? 또는 사이트 당 데이터베이스가 하나 있어야합니까?

두 가지 방법 모두에서 이점과 부정적인 점은 무엇입니까? 나는 미래에 대해 항상 생각하고 있으므로 고객에게 옵션을 제공하기 위해 프로젝트에 Memcache 또는 APC 캐시를 구현할 생각을하고있었습니다.

는 그냥 모범 사례를 배우려고 노력하고 어떤 다른 개발자 apporach는

+0

에 대한 APC/memcached 질문은 다음을 참조하십시오. http://stackoverflow.com/questions/815041/memcached-vs-apc-which-one-should-i-choose –

+0

다음에 대해 생각해야합니다 - (클라이언트) 비즈니스가 좋고 고객이 많으며 데이터를 액세스해야하는 고객 또는 기타 작업을 쫓는 아웃소싱을 원할 수도 있습니다. 하나의 데이터베이스를 보유하고 있다면 훨씬 간단합니다. 완전히 사용자 정의 된 솔루션 일지라도 모듈화가 가능하며 향후 DB가 하나 인 경우 향후 많은 작업을 절약 할 수 있습니다. –

답변

2

둘 다 실행했습니다. 내 비즈니스에서는 클라이언트 별 데이터를 별도의 테이블로 분리하여 하나가 손상된 경우 모든 데이터가 삭제되지 않도록합니다. 이상적인 세상에서 이것은 결코 일어나지 않을 것이지만 머피의 법칙 ... 그것은 분리 된 것들로 찾기가 매우 쉬운 것처럼 보입니다. 당신은 한 고객의 콘텐츠가 결코 다른 사람의 페이지에 나타나지 않을 것이라는 것을 100 % 확실하게 알게 될 것입니다.

해당 경로로 이동하는 경우 데이터베이스를 작성하고 구성하는 스크립트를 작성할 준비를하십시오. 훌륭한 시스템을 구축하고 그 시스템에 대한 수요가 있으며, 수동으로 DB를 설정하고 하루 종일 설치하는 데는 재미가 없습니다. 또한 db 이름을 설정하는 것은 하나의 db 테이블을 사용하는 것이 아닌 추가 단계입니다.

1

그것은 각 클라이언트가 필요합니다 사용자 정의의 양에 크게 의존 할 것이다. 배포와 관련된 많은 일회용 기능을 요구하는 클라이언트를 찾으면 단일 코어 구조를 기반으로하는 별도의 데이터베이스가 합리적 일 수 있습니다. 모든 클라이언트가 모든 사용자 정의를 사용할 수 있도록하는 것이 좋습니다. 모든 구조를 여러 데이터베이스에 복제하는 대신 하나의 장소/데이터베이스에 정의 된 상태로 유지하십시오. 하나의 데이터베이스를 사용하면 구조를 간단하게 업데이트하고 모든 사이트에서 구현을 일관되게 유지하므로 모두 동일한 CMS 코드를 사용할 수 있습니다.

2

단일 마스터 DB를 개발하십시오. 약간의 추가 노력이 필요하고 데이터베이스 디자인에 약간의 복잡성이 추가되지만 몇 가지 좋은 기능이 제공됩니다. 가장 큰 것은 사이트간에 데이터를 공유 할 수 있다는 것입니다.

마스터 데이터베이스를 디자인한다는 것은 의미가있을 때 사이트를 결합 할 수있는 옵션을 제공한다는 것을 의미하지만 사이트 당 마스터를 설치할 수도 있습니다. 두 세계의 최고.

관련 문제