2009-09-30 3 views
30

관계형 DB를 통해 키 - 값 데이터 저장소를 선택하는시기는 언제입니까? 하나 또는 다른 것을 결정할 때 고려해야 할 사항은 무엇입니까? 두 가지 경로가 혼합 된 경우는 언제입니까? 가능한 경우 예제를 제공하십시오.키 - 값 데이터 저장소와 전통적인 관계형 데이터베이스를 사용해야하는 경우는?

+18

위의 코멘트가 마음에 들지 않습니다. 그것은 구글/야후/트위터를 제외한 누구도 NOSQL을 사용해야한다고 제안하는 것과 같습니다. 말도 안돼. –

답변

1

내 경험에 비추어 볼 때 전통적인 vs 비전 난무를 사용할지 여부를 묻는 질문에 대해서는 전통적으로 적용됩니다. 밀교 방식이 섹시하고 도전적이며 재미있는 반면 99.999 %의 응용 프로그램은 전통적인 방식을 요구합니다.

왜 내가이 시나리오의 관계형 모델을 사용하지다음과 같습니다 : 안부

요청해야 할 질문은, KV 대 관계형하는 ...

시나리오를 설명하지 않았으므로 누구나 사용하지 말아야 할 이유를 말할 수 없습니다. KV에 대한 "모두 포착"이유는 확장 성입니다. 최적화 규칙을 알고 있습니까?

  1. 하지 마십시오.
  2. (전문가 만 해당) 지금 당장하지 마십시오.

KV는 응용 프로그램에 거의 필요하지 않은 확장성에 최적화 된 솔루션 고도입니다.

+27

이 의견은 질문에 답하지 못했습니다. 언제 그리고 왜 관계형 데이터베이스를 통해 KV 저장소를 사용하겠습니까? – aridlehoover

0

전통적인 관계형 데이터베이스는 한 지점 이상으로 확장하는 데 문제가 있습니다. 그 지점은 당신이하려고하는 것에 조금 의존합니다.

클라우드 컴퓨팅 공급 업체 중 대부분은 키 - 값 데이터 저장소를 제공하고 있습니다.

그러나 복잡한 데이터 구조를 가진 합리적인 규모의 응용 프로그램을 사용하는 경우 관계형 데이터베이스를 사용하면 얻을 수있는 지원으로 개발 비용을 줄일 수 있습니다.

+0

나는 그 점이 매우 크다는 점을 지적 할 것이다. 나는 잘 작동하는 여러 개의 멀티 테라 바이트 데이터베이스를 알고있다. (그들은 적절하게 설계되고 관리되어야하며 정확한 규모의 하드웨어가 있어야한다.) – HLGEM

14

키 - 값, 계층 구조,지도 - 축소 또는 그래프 데이터베이스 시스템은 구현 전략에 훨씬 더 가깝고 물리적 표현과 밀접하게 관련되어 있습니다. 이들 중 하나를 선택하는 주된 이유는 강력한 성능 논쟁이 있고 데이터 처리 전략에 매우 밀접한 관련이있는 경우입니다. 이러한 시스템에서는 일반적으로 임시 쿼리가 실용적이지 않으므로 쿼리를 미리 결정하는 것이 좋습니다.

관계형 데이터베이스 시스템은 논리적이고 비즈니스 위주의 모델을 기본 물리적 표현 및 처리 전략과 분리하려고합니다. 이 분리는 불완전하지만 여전히 아주 좋습니다. 관계형 시스템은 사실을 처리하고 사실을 수집하여 신뢰할 수있는 정보를 추출하는 데 적합합니다. 관계형 시스템은 다른 시스템이 악명 높은 ad-hoc 쿼리에서도 훌륭합니다. 그것은 비즈니스 세계와 다른 많은 장소에서 매우 적합합니다. 이것이 관계형 시스템이 널리 보급 된 이유입니다.

비즈니스 응용 프로그램 인 경우 관계형 시스템이 거의 항상 해답입니다. 다른 시스템의 경우 아마도 그 대답 일 것입니다. 일어날 필요가있는 파이프 라인과 같이 대량의 데이터를 처리하는 등의 데이터 처리 문제가 더 많고 모든 쿼리가 앞섰다고 생각하면 다른 시스템이 적합 할 수도 있습니다.

4

데이터가 단순한 사물 목록이고 각 항목에 대한 고유 식별자를 유도 할 수있는 경우 KVS가 적합합니다. 그것들은 우리가 신입생 컴퓨터 과학에서 배운 단순한 데이터 구조의 긴밀한 구현이며 복잡한 관계를 허용하지 않습니다.

간단한 테스트 : 데이터와 모든 관계를 연결된 목록 또는 해시 테이블로 나타낼 수 있습니까? 그렇다면 KVS가 작동 할 수 있습니다. 그렇지 않은 경우, RDB가 필요합니다.

사용자 환경에서 작동 할 KVS를 찾아야합니다. KVSes에 대한 지원, 심지어 중요한 것들은 PostgreSQL과 MySQL/MariaDB와는 다른 곳입니다.

관련 문제