2010-12-02 4 views
2

웹 응용 프로그램에서 단일 데이터베이스에 모든 데이터를 가지고 있거나 각 고객에 대해 데이터베이스를 만드는 것이 더 좋습니까?다중 데이터베이스 대 단일 데이터베이스

단일 DB는 더 쉽고 빠르며 (업데이트, 백업 등), 문제가 발생하면 모든 사람이 차단됩니다.

은 어쩌면 내가 그것을 여러 데이터베이스 서버의 여러 데이터베이스를 "아무것도 나쁜 간다"아닙니다 ..를 고려하여

+0

백업은 친구입니다. –

+0

@Col. Shrapnel : 그렇습니다.하지만 그 시나리오는 어느 시나리오에서도 마찬가지입니다. – Piskvor

+0

바로 질문에 대답하는 @Piskvor. –

답변

1

그게 달려 있습니다 - 나는 수백만 명의 클라이언트 (총 10000 명의 사용자)가 동일한 데이터베이스를 사용하는 앱을 매우 원활하게 실행하는 것을 보아 왔습니다. 제 생각에는 사용 시나리오에 따라 모든 클라이언트가 동일한 db를 사용하고 그에 따라 확장 문제를 처리하도록하거나 클라이언트가 다른 서버을 사용하게하십시오 (배포가 쉽고 유지 관리가 더 어려워집니다. 여러 버전의 소프트웨어, 각 약간 다른).

동일한 서버에있는 여러 데이터베이스는 두 가지 접근 방식의 단점을 모두 모아 놓은 별난 반제품입니다.

7

올바른 방법을 하나의 테이블을 만든 다음 권한을 부여,하지만 난 전문가가 아니에요 수 있습니다. 단일 데이터베이스를 사용하고 클러스터링을 조사하십시오.

+0

괜찮 았지만 사용자 정의는 어떨까요? 내 말은, 나는 고객을 위해서만 뭔가를해야만한다는 뜻이다. 이것은 어리석은 일이다. – tampe125

+0

커스텀 앱이라면, 다른 데이터베이스에 들어간다. 그러나 사용자 정의 앱은 예외가 아니라 규칙입니다. –

0

여러 데이터베이스 또는 여러 테이블 대신 단일 데이터베이스를 사용하십시오. 테이블에는 각 고객마다 고유 ID가 있어야합니다. "anything goes goes"위협은 db 서버의 복제에 의해 제거 될 수 있습니다.

+0

모든 테이블에 기본 키가 있어야합니다! – symcbean

0

보다 강력한 접근 방법은 각 고객에 대해 db를 사용하는 것입니다. 이렇게하면 백업 및 업데이트가 훨씬 쉬워지고 훨씬 더 오류가 발생할 수 있습니다!

+0

나는 이것이 (* "각 고객의 테이블 구조를 수정 했습니까?") * 유지하기가 어렵다고 말하고 싶지만, 오류가 발생하기 쉬운 이유는 무엇입니까? – Piskvor

+0

당신이 약간 고객 테이블을 새롭게하고 싶을 경우를 대비하여 실수를하고 전체 db가 사라진다. (각 고객에 대해 하나의 db가 있다면 오직 하나의 db 만 남을 것이다) – Thariama

관련 문제