(하둡) 관계형 시스템 vs 맵리듀스

* 전통적인 RDBMS                vs                맵리듀스


데이터크기 : 기가바이트        vs               페타바이트
접근방식 :    대화형과 일괄처리 방식        vs      일괄 처리 방식
변경 :          여러번 읽고 쓰기                  vs       한번 쓰고 여러번 읽기
트랜잭션 :        ACID                          vs            없음
구조 :          쓰기 기준 스키마             vs           읽기 기준 스키마
무결성 :       높음                               vs           낮음
확장성  :     비선형                            vs            선형






* 하둡과 RDBMS의 다른 차이점은 데이터 셋 내부에서 처리되는  구조의 양이다.


정형 데이터는 XML문서나 미리 정의된 특정 스키마를 가진 데이터베이스 테이블과 같이 형식이 정의된 항목으로 구조되어 있다. 이것은 바로 RDBMS의 영역이다.

반정형 데이터는 정형 데이터에 비해 스키마가 유연하거나 심지어 생략될 수 있다. 따라서 데이터 구조에 대한 최소한의 규칙만 있으면 된다. 예를 들어 그리드 형태의 셀 구조로 된 스프레드 시트는 셀 자체에 어떤 형태의 데이터도 담을 수 있다

비정형 데이터는 어떠한 내부 구조도 없다. 예를들어 일반 텍스트나 이미지 데이터가 그렇다. 하둡은 데이터 처리 시점에 데이터를 해석하도록 설계되어 있기 떄문에 비정형 데이터나 반정형 데이터도 처리할 수 있다.
읽기 시점 스키마라 불리는 이러한 특성은 유연성을 제공하고 데이터를 불러오는 비용이 많이드는 단계(RDBMS 에서 필요한) 도 피할 수 있다.


하둡은 관계형 데이터베이스보다 많이 사용되지는 않지만 조인을 수행할 수 있다.

맵리듀스와 다양한 하둡처리 모델은 데이터의 크기에 따라 선형으로 확장된다. 데이터는 분할되고 맵과 리듀스와 같은 기본 함수는 분리된 파티션에서 병렬로 데이터를 처리할 수 있다.
만일 입력 데이터의 크기가 두배라면 작업은 두배 느리게 수행될 것이다. 하지만 클러스터의 크기가 두배가 된다면 그 작업은 기존보다 더 빠르게 수행될 것이다.
일반적으로 관계형 데이터베이스의 SQL쿼리는 그렇지 못하다.



.



댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬