사람들이 데이터를 처리하는 데 도움이되는 많은 도구 / 프레임 워크 (빅 데이터 환경)에 대해 들었습니다.
하나는 Hadoop이고 다른 하나는 noSQL 개념입니다. 처리 시점의 차이점은 무엇입니까?
보완 적입니까?
댓글
- 연구 노력 부족으로 투표했습니다. Hadoop과 noSQL은 다른 곳에서 잘 정의되어 있습니다.
- @Spacedman 동의하지만 Area51 에서 질문 한 예입니다. 유효하다고 생각하기 전에 삭제되지 않았고, 질문을 게시 할 때 답변을 알았습니다 (적어도 일반적으로).
Answer
Hadoop은 데이터베이스가 아니며 , hadoop은 전체 생태계입니다.
대부분의 사람들은 하둡에 대해 이야기하면서 mapreduce 작업을 언급합니다. . mapreduce 작업은 큰 데이터 세트를 약간의 데이터 청크로 분할하고 노드 클러스터에 분산하여 진행합니다. 결국 각 노드의 결과는 하나의 데이터 세트로 다시 합쳐집니다.
<String, Integer>
세트를 hadoop에로드한다고 가정 해 보겠습니다. 한 도시 내 일부 지역의 인구와 함께 각 도시의 전체 지역에 대한 평균 인구를 구하려고합니다 (그림 1).
그림 1
[new york, 40394] [new york, 134] [la, 44] [la, 647] ...
이제 hadoop은 먼저 키를 사용하여 각 값을 매핑합니다 (그림 2)
그림 2
[new york, [40394,134]] [la, [44,647]] ...
매핑 후에 각 키의 값을 새 값으로 줄입니다 (이 예에서는 각 키의 값 집합에 대한 평균) (그림 3)
그림 3
[new york, [20264]] [la, [346]] ...
이제 모든 작업이 완료되었습니다. 이제 결과를 HDFS ( hadoop 분산 파일 시스템) 또는 모든 DBMS 또는 파일에.
단지 하나의 매우 기본적인 및 단순 예 하둡이 할 수있는 일이 많습니다. hadoop에서 훨씬 더 복잡한 작업을 실행할 수 있습니다.
이미 질문에서 언급했듯이 hadoop과 noSQL은 상호 보완 적입니다. 예를 들어 센서의 수십억 개의 데이터 세트가 HBase에 저장되고 하둡을 통해 마침내 DBMS에 저장되는 몇 가지 설정을 알고 있습니다.
Answer
NoSQL은 일종의 관계가 필요하지 않은 데이터를 저장하는 방법입니다. 설계의 단순성과 수평 적 확장 가능성, 데이터를 저장하는 한 가지 방법은 key : value
쌍 설계입니다. 이것은 Hadoop과 유사한 처리에 적합합니다. NoSQL db의 사용은 실제로 발생한 문제의 유형에 따라 다릅니다.
여기에 좋은 위키 백과 링크가 있습니다. NoSQL
Hadoop은 방대한 양의 데이터를 저장하고 처리하기위한 시스템입니다. 분산 파일 시스템 dfs입니다. 이 작업을 수행하는 이유는 설계의 중심에서 하드웨어 오류가 흔하다는 가정을하므로 동일한 정보의 여러 복사본을 만들어 여러 컴퓨터와 랙에 분산하므로 하나가 다운 되더라도 문제가되지 않습니다. 두 개의 사본이 더 있습니다. 다음은 wikipedia의 Hadoop에 대한 훌륭한 링크입니다. 제 생각에는 저장 공간뿐만 아니라 처리 기능 이상이라는 것을 알 수 있습니다. Hadoop