2013-06-06 1 views
1

Map-Reduce - 키 - 값 NoSql 데이터 모델에만 적용 가능합니까?

내가되는 NoSQL 데이터베이스의 다음과 같은 유형의 알고있다 (I는 NoSQL에, 아니 작업 경험의 개념에 대한 지식이) :

  • 키 - 값, 열 가족, 문서 데이터베이스 (집계)
  • 그래프 데이터베이스

맵 축소 패러다임은 모두에게 적용 할 수 있습니까? Map-Reduce는 종종 키와 값의 관점에서 논의되기 때문에 제 생각에는 아니오가 될 것입니다. 그러나 다른 NoSQL 상점 간의 차이점은 너무 깔끔하지 않기 때문에 Map-Reduce가 어디에 있는지, 적용 할 수 없는지 궁금합니다. 그리고 내가 갖고있는 몇 가지 앱 아이디어에 어떤 DB를 사용할 것인지 평가 중이므로 어떤 매장을 사용하든 관계없이 대규모 처리를 수행 할 수 있는지 생각해야합니다.

답변

1

맵 축소에 대한 지원은 데이터 저장소 선택의 기반이 될 수 없습니다.

첫째,지도 축소는 대규모 데이터 처리를 수행하는 유일한 방법은 아닙니다. 예를 들어, MongoDB는 맵 축소 지원을 v1에서 초기에 구현했지만 나중에 맵 축소를 사용하는 많은 태스크를 포함하는보다 일반적인 일반화 프레임 워크를 추가했습니다.

지도 축소는 대용량 데이터 세트를 처리하기위한 하나의 패러다임에 불과합니다. 응용 프로그램이 매퍼로 많은 수의 데이터 레코드를 처리해야하는 경우 결과를 축소 기와 함께 결합해야하는 경우 사용하십시오. 그게 전부입니다. 패러다임을 적용 할 수있는 시점과 그렇지 않은 시점에 대해서는 유스 케이스를 살펴보십시오. 이 필요합니다. 모든 레코드를 일관되게 조작 한 다음 결과를 결합 하시겠습니까? 아니면 문제를 표현할 다른 방법이 있습니까?

집계가지도 감소 문제에 과도 함을 초래할 수있는 많은 문제에 대한 간단한 대안으로 사용되는 예를 보려면 Mongo aggregation framework을 살펴보십시오.

map-reduce없이 대규모 데이터 처리를 수행 할 수 있는지 여부를 묻는 질문에 대한 답을 얻는 데 도움이됩니다. 분명히 map-reduce는 검색 인덱스를 만드는 데 적합하지만 대용량 데이터 세트의 많은 문제는 다른 패러다임의 이점을 얻습니다.

"대안지도 축소"에 대한 웹 검색도 도움이 될 것입니다.

+0

매우 도움이되는 Ray입니다. 나는 너의 것을 표시하기 전에 조금 더 오랜 시간 질문을 공개 할 것이다. –

+0

Map-Reduce가 나의 무기고의 일부가되기를 원하는 (순진한) 이유는 큰 소년이 그것을하는 것입니다 (의심 스러울 때 군중을 따르십시오). 나는 내가 맹목적으로 따라서는 안되기 때문에 Google이나 Amazon이 되려고 노력하고 있지 않다는 것을 안다. (그들이 키 값 저장소를 선택해야한다고 말하는 것과 같다.) 솔루션이 너무 자주 언급되지 않을 때 (나는 Mongo Aggregation Framework에 대해 들어 본 적이 없다) 경향은 도망 간다. 하지만 당신 말이 맞아. –

+0

지도 축소 _is_ 멋지고 강력하고 많은 작업에 빛납니다. 당신이 그것을 원할 때가있을 것입니다. 그러나 때로는 잔인하며 때로는 요소 간의 통신이 필요하기 때문에 적절하지 않으며 map-reduce의 맵 단계는 그렇게하지 않습니다. 당신은 [이 그래서 아직 질문] (http://stackoverflow.com/questions/8692806/mapreduce-alternatives)을 보았습니까? –

관련 문제