본문 바로가기

보물창고/Big Data

Imcloud Apache Cloudera CDH kudu 관련 자료 정리 (hadoop echo)

반응형


아임클라우드는 빅데이터 기반 기술과 인공지능 기술을 개발하는 빅데이터 및 인공지능 전문 기업입니다.

아임클라우드의 Hadoop 기반 빅데이터 시스템은 국내 최고의 전문가 그룹으로 구성되며 고객 여러분의 빅데이터 고민을 해결해 드립니다. 인공지능의 영역은 무궁무진합니다. 강력한 DeepLearning 기술을 통해 가장 필요한 일을 함께 하는 파트너가 되어드립니다.





Imcloud Apache Cloudera CDH kudu 

관련 자료 정리 (hadoop echo)




Kudu는 Hadoop과 Hbase(phoenix)사이의 틈새를 공략한 솔루션 입니다.
 - 빅데이터의 분산 저장과 처리를 하면서 CRUD를 할 수 있는 환경에 대한 요구가 많았습니다. 기존에는 Hbase(phoenix)와 Impala가 일부 이런 요구들을 매꿔 왔으나 기능적으로 여전히 부족한 면이 있어 Kudu같은 솔루션이 나오게 되었습니다.
 - Kudu는 한마디로 말하면 Nosql DB의 엔진으로 이야기 할 수 있습니다.

데이터 저장 & 이용
 - Kudu는 Raft라는 기술을 이용하여 디스크에 직접 데이터를 읽고 쓰는 서버를  구동시키며 윗 레이어에  Impala를 얹어 사용하는 방법이 현 시점에서 가장 일반적인 사용방법이 입니다. java와 C++ API를 이용하여 Kudu데이터를 직접 이용할 수 있는 방법도 제공합니다.

성능
 - 아래에 링크된 논문의 내용을 보면 대략 Impala + parquet 의 성능과 비슷합니다. 성능이 비슷하지만 Kudu를 무시하지 못할 이점은 CRUD를 할 수 있다는 것이죠.

key 설정
 - Kudu에 안내되어 있는 내용을 보면 Hbase의 Split 설정과 MongoDB의 Shard 키와 비슷한 Key를 설정하게 되어있습니다
 - 키의 역할은 데이터를 구분하는데 사용되며 이 역시 Hbase와 MongoDB처럼 데이터를 구분하여 저장하는 기준이 되기 때문에 이를 설정하는 것에 따른 튜닝이 필요할 것으로 보입니다


현재 현업에서 사용하고 있고 적용하려고 준비하는 곳들이 있습니다. 성능적인 면은 기대를 하고 있으며 분산처리를 하면서 CRUD를 할 수 있는 Hadoop 에코가 출시한것에 대해 기대가 높은것으로 보입니다.






설치
Cloudera dependency install






Kudu 개념적인 설명


기타 설명


Kudu에대한 자주 묻는 질문(Kudu의 구성과 사용 가능 범위에 대한 내용이 있음)

Frequently Asked Questions

https://kudu.apache.org/faq.html


Kubu 스키마 디자인할대 고려해야할 사항

구글 번역

https://translate.google.co.kr/translate?sl=en&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=https%3A%2F%2Fkudu.apache.org%2Foverview.html&edit-text=&act=url


논문

Hbase+ Phoenix, Kudu+impala, imapla+Parquet의 성능 비교

Kudu: Storage for Fast Analytics on Fast Data

https://kudu.apache.org/kudu.pdf

구글 번역

https://translate.google.co.kr/translate?sl=en&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=https%3A%2F%2Fkudu.apache.org%2Foverview.html&edit-text=&act=url


 




데이터 저장 구조


데이터 복제와 안정성을위해 사용된 알고리즘

Raft consensus algorithm

Paxos 의 대안으로 고안된 합의 알고리즘

https://raft.github.io/

위키 Raft  구글 번역

https://translate.google.co.kr/translate?sl=en&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRaft_%28computer_science%29&edit-text=&act=url



Paxos

합의를 해결하기위한 프로토콜 모음

위키 Paxos 구글 번역

https://translate.google.co.kr/translate?sl=en&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRaft_%28computer_science%29&edit-text=&act=url






기타


Using Apache Kudu with Apache Impala (incubating)

테이블 생성 관련한 내용이 포함된 링크 입니다

https://kudu.apache.org/docs/kudu_impala_integration.html



2016 02 24에 업데이트됨. 과거 버전

kudu에 대한 전체적인 설명이 있는 슬라이드 쉐어

https://www.slideshare.net/AsimJalis/apache-kudu 




Impala 데이터 타입 기준으로 Kudu 데이터 타입 제약 사항


DECIMAL, TIMESTAMP, CHAR, VARCHAR, ARRAY, MAP 및 STRUCT 데이터 유형은 Kudu 테이블과 함께 사용할 수 없습니다.

https://www.cloudera.com/documentation/enterprise/latest/topics/impala_array.html#array


BOOLEAN, FLOAT 및 DOUBLE 데이터 유형은 Kudu 테이블의 기본 키 열에 사용할 수 없습니다.

https://www.cloudera.com/documentation/enterprise/latest/topics/impala_boolean.html#boolean







반응형