2009-09-18 6 views
1

회원 서비스로 판매 할 CRM 웹 응용 프로그램을 구축하는 경우 데이터베이스를 설계하고 배포하는 가장 좋은 방법은 무엇입니까?서비스중인 소프트웨어 - 데이터베이스

테이블 당 100 초 레코드를 저장하거나 다른 클라이언트에 대해 여러 데이터베이스를 배포하는 데이터베이스가 있습니까?

플리커 (Flickr)와 같은 사이트에서 사용하기 때문에 단일 데이터베이스를 사용하는 것이 실제로 문제가됩니까?

+0

호기심, salesforce.com에 아직 제공하지 않은 기능은 무엇입니까? – JeffO

+0

그냥 가상의 시나리오 – Theo

답변

6

여러 클라이언트를 "다중 점유자"라고합니다. 예를 들어 Microsoft의이 문서 "Multi-Tenant Data Architecture"을 참조하십시오.

+0

@ 테오 : 1) 다른 데이터베이스와 2) 동일한 데이터베이스이지만 다른 스키마에서 시스템을 설계하지 않는 이유는 무엇입니까? 기본적으로 클라이언트 응용 프로그램은 일반적인 방법으로 클라이언트에 대한 db 연결을 얻고 DB와 함께 작동합니다. 이 경우 배포를 구성하고 필요에 따라 하나에서 다른 것으로 변경할 수도 있습니다. – van

+0

@van : 방금 멀티 테넌트 데이터 아키텍처에 대한 기사를 읽었습니다. 귀하의 의견을 이해, 그것은 단지 스키마 당 백업을 복원하는 작업이 분명히 다른 스키마 방법입니다. 스키마 옵션의 가장 큰 이점은 MS SQL이 더 많은 배치를 처리 할 수 ​​있다는 점입니다. 여기에서 선택할 수있는 선택 – Theo

+0

@chrisW :이 기사를 읽은 다음에는 SaaS 애플리케이션이 구축 된 시나리오와 보안 관련 내용이 모두 다루어집니다. 하지만 현재의 상황에서는 집중 옵션이 스키마 옵션이 가져 오는 회색 영역이없는 클라이언트 당 독립적 인 확장 성을 허용하는 논리적 선택 인 것으로 보입니다. – Theo

0

장기간에 걸쳐 하나의 데이터베이스를 여러 클라이언트의 데이터로 유지하는 것이 가장 쉽습니다. 배포, 백업 등에 대해 생각해보십시오. 그러나이 경우 전체 데이터베이스 세트의 하위 집합을 포함하는이 데이터베이스의 여러 인스턴스가 유지되지는 않습니다. 제품의 유용성/바람직 함을 입증 한 후에 데이터베이스 수를 늘릴 것을 권장합니다. 트래픽이 없으면 복잡한 인프라가 필요하지 않습니다.

그래서 클라이언트 4가 들어오고 새 배포 범위가 하나의 삽입 일 때 관련 테이블에 클라이언트 ID를 넣고 미소지기 만하면됩니다. 성명서.

3

CRM 시스템과 같은 상황에서는 각 고객마다 별도의 데이터베이스 인스턴스가 필요할 수 있습니다.

큰 고객을 원한다면 대부분의 회사는 고객 데이터와 관련된 보안 정책을 가지고 있기 때문에 이것을 말합니다. 고객 데이터를 다른 고객과 동일한 데이터베이스에 저장하면 한 회사의 기밀 데이터가 다른 회사 (경쟁 업체 등)에 노출 될 위험이 있습니다.

Flickr와 같은 사이트는 Interwebs의 대다수가 개인 정보와 관련하여 엄격한 정책을 갖고 있지 않기 때문에 걱정할 필요가 없습니다.

+0

+1 보안 문제가 있습니다. CRM 세계에서 호스팅 솔루션은 보안 문제로 인해 불가능한 것으로 생각했습니다. salesforce.com은 그것이 잘못되었음을 입증했지만, 고객의 데이터가 안전하다는 것을 증명하기 위해 최선을 다했습니다. 여러 개의 db 백업에 대해 더 많은 자동화가 필요합니다.하지만 고객 데이터를 마이그레이션/확장하고 새 데이터베이스 구조를 하나씩 업데이트하는 것이 더 쉽습니다. – van

+0

예, 사실입니다. 우리는 심지어 다른 서버에있는 동일한 서버에 데이터를 저장하지 못하게하는 클라이언트와 다른 서버에 서버를 만들도록 한 클라이언트도 있습니다. 우리는 3 년 전 개발자가 클라이언트 id를 쿼리에 넣는 것을 잊어 버렸고 독점 데이터를 동일한 데이터베이스에있는 여러 다른 회사의 판매 담당자에게 이메일로 보냈을 때 매우 당황스러운 사건을 보았습니다.우리의 모든 대형 고객은 이제 별도의 시스템에 있습니다. – HLGEM

+0

... 반면에 시스템을 많이 사용하는 많은 작은 클라이언트의 경우 연결 풀링에 문제가있을 수 있습니다. – van