2009/07/14 15:47
Column Oriented RDBMS 와 Row Oriented RDBMS의 차이
2009/07/14 15:47 in Programming/hbase

HBase 를 알기전에 먼저 Row Oriented RDBMS 와 Column Oriented RDBMS 의 차이를 이해해야 합니다.
그래서 Column Oriented RDBMS에 대해 조사해본 결과 좋은 글이 있어서 보고 살짜쿵 정리해봅니다 ^^
참조 URL : http://en.wikipedia.org/wiki/Column-oriented_DBMS
우리가 알고있는 일반적인RDBMS(Oracle, MySql, Mssql 등등..) 는 대부분 Row Oriented RDBMS 임
Row Oriented RDBMS와 Column Oriented RDBMS의 차이를 이해하기 위해 아래와 같은 테이블이 있다고 하면,
Column Oriented RDBMS 의 경우 데이터의 저장이 아래와 같은 형식으로 저장된다.
Row Oriented RDBMS 의 경우 데이터의 저장은 아래와 같은 형식이 된다.
Column Oriented RDBMS 의 장점
Row Oriented RDBMS의 장점
그래서 Column Oriented RDBMS에 대해 조사해본 결과 좋은 글이 있어서 보고 살짜쿵 정리해봅니다 ^^
참조 URL : http://en.wikipedia.org/wiki/Column-oriented_DBMS
우리가 알고있는 일반적인RDBMS(Oracle, MySql, Mssql 등등..) 는 대부분 Row Oriented RDBMS 임
Row Oriented RDBMS와 Column Oriented RDBMS의 차이를 이해하기 위해 아래와 같은 테이블이 있다고 하면,
| EmpId | Lastname | Firstname | Salary |
| 1 | Smith | Joe | 40000 |
| 2 | Jones | Mary | 50000 |
| 3 | Johnson | Cathy | 44000 |
Column Oriented RDBMS 의 경우 데이터의 저장이 아래와 같은 형식으로 저장된다.
1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;
Row Oriented RDBMS 의 경우 데이터의 저장은 아래와 같은 형식이 된다.
1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;
Column Oriented RDBMS 의 장점
1. 많은 수의 row에서 특정컬럼의 Data 만 가져오는것에 유리
2. 많은 수의 row에서 특정컬럼의 값만을 replace 시키는것에 유리
(컬럼별로저장되어있기에 다른 컬럼은 건드릴 필요가 없다.)
2. 많은 수의 row에서 특정컬럼의 값만을 replace 시키는것에 유리
(컬럼별로저장되어있기에 다른 컬럼은 건드릴 필요가 없다.)
Row Oriented RDBMS의 장점
1. 한 로우의 많은 컬럼을 한번에 가져올때 유리함
2. 많은수의 column을 한번에 insert 혹은 update 할때 유리함.
2. 많은수의 column을 한번에 insert 혹은 update 할때 유리함.
HBase를 사용해 보려 하였으니 Hadoop0.20.1버전에서는 HBase 가 지원되질 않아
기존의 Hadoop0.20.1 ->Hadoop0.19.1 버전으로 다운그레이드 해보았습니다.
업그레이드(?) 방법은 여기에서 참조하였고, 아무도 제 블로그에서 봐주시진 않지만 ^^
혹시나 영어울렁증(저포함 -_-..)이 심하신 분들을 위해 제가 삽질한 과정을 여기에
적어봅니다..
간단하게 절차만 보면..
1. 현재 수행중인 map-reduce 클러스터와 hadoop에 연결되어있는 모든 클라이언트 중지
2. HDFS 시스템 shutdown
3. 신규버전 Hadoop 설치
4. 신규버전의 Hadoop 설정파일 구버전과 동일하게 수정
(0.20.1 과 0.19.1은 설정파일의 종류가 좀 달라졌습니다.)
5. HDFS에서 파일의 메타정보를 저장하고 있는 namenode 를 아래와 같은 명령어를 이용해서 업그레이드 시킴
bin/hadoop namenode -upgrade
6. bin/stop-all.sh 를 수행하여 모든 하둡관련 프로세스 중지시킴
7. bin/start-all.sh 를 수행하여 하둡 재 실행
But 그러나 -_-;; http://localhost:50070 해서 들어가보면 --;; livenode 가 0 인것을 보실수 있슴다 --;;
8. 아래와 같은 명령어를 날려줍니다.
bin/hadoop fsck /
9. 드디어 마지막 아래와 같은 명령을 날려주면 업그레이드 완료됩니다.~
bin/hadoop dfsadmin -finalizeUpgrade
기존의 Hadoop0.20.1 ->Hadoop0.19.1 버전으로 다운그레이드 해보았습니다.
업그레이드(?) 방법은 여기에서 참조하였고, 아무도 제 블로그에서 봐주시진 않지만 ^^
혹시나 영어울렁증(저포함 -_-..)이 심하신 분들을 위해 제가 삽질한 과정을 여기에
적어봅니다..
간단하게 절차만 보면..
1. 현재 수행중인 map-reduce 클러스터와 hadoop에 연결되어있는 모든 클라이언트 중지
2. HDFS 시스템 shutdown
3. 신규버전 Hadoop 설치
4. 신규버전의 Hadoop 설정파일 구버전과 동일하게 수정
(0.20.1 과 0.19.1은 설정파일의 종류가 좀 달라졌습니다.)
5. HDFS에서 파일의 메타정보를 저장하고 있는 namenode 를 아래와 같은 명령어를 이용해서 업그레이드 시킴
bin/hadoop namenode -upgrade
6. bin/stop-all.sh 를 수행하여 모든 하둡관련 프로세스 중지시킴
7. bin/start-all.sh 를 수행하여 하둡 재 실행
But 그러나 -_-;; http://localhost:50070 해서 들어가보면 --;; livenode 가 0 인것을 보실수 있슴다 --;;
8. 아래와 같은 명령어를 날려줍니다.
bin/hadoop fsck /
9. 드디어 마지막 아래와 같은 명령을 날려주면 업그레이드 완료됩니다.~
bin/hadoop dfsadmin -finalizeUpgrade
원문
OutputCollector
OutputCollector is a generalization of the facility provided by the Map/Reduce framework to collect data output by the Mapper or the Reducer (either the intermediate outputs or the output of the job).
Hadoop Map/Reduce comes bundled with a library of generally useful mappers, reducers, and partitioners.
요약하면
OutputCollector는 Map/Reduce 프레임웍에서 dataOutput을 수집하기 위해 제공하는 도구.
Hadoop Map/Reduce프레임웍에는 일반적으로 유용한 mapper, reducer, partitioner와 함께 라이브러리로 묶여있다.
Prev
Rss Feed