본문 바로가기

분류 전체보기

(34)
Streaming processing Structured Streaming vs spark streaming Reference https://magpienote.tistory.com/210 https://kadensungbincho.tistory.com/87
Hbase Hbase란? Hbase는 hdfs위에 있는 Storage Engine으로 Parquet와 Kudu와 비교하여 Full scan보다는 Random Access 기반의 Read/Insert 작업에 특화되어 있습니다. 또한 Column-oriented DB로 칼럼 접근이 빠르고, sorted map형식으로 물리적으로 데이터가 저장되기 때문에 순차탐색에 유리합니다. 추가적으로 Hbase를 비롯한 대부분은 NoSQL이 Write performance가 빠른이유가 바로 LSM Tree 기반이기 때문입니다. Memory에서 memTable이 self balancing binary tree로 구조 가져가 있어서 sorted된 형태로 데이터를 유지합니다. 해당 형태를 기준으로 특정 기준이 되면 disk에 flush하며..
[Hadoop] corrupt/missing block Datanode의 디스크가 문제가 생기던지 혹은 Namenode에 너무 많은 Metadata를 가지고 있어서 block에 대한 문제가 발생할 수 있습니다. Corrput block, Missing block이 이에 따른 문제입니다. Corrput block block replicas 중에서 일부가 손상된 상태입니다. Namenode는 주기적으로 Datanode로 부터 heartbeat와 block report를 받기 때문에 Datanode 별 최신정보를 업데이트 합니다. 그렇기 때문에 corrupt block은 Namenode가 자동으로 채워줍니다. 복구가 가능한 상황이기 때문에 별도의 리포트 또한 없습니다. 만약 Missing block 복제본이 아예 없는 경우로 block이 복구 불가능한 상태입니다...
kerberos 예제 커버로스 프로토콜은 principal과 keytab을 이용해 계정을 인증 받은 후 커버로스 티켓을 이용해 서비스 이용 커버로스는 AS, TGS로 구성 kinit : 커버로스 적용된 시스템 로그인 사용명령어 principal : kdc가 인증하는 사용자 및 서버 realm : 네트워크 단위 server-client 집합 / domain이름으로 구분 keytab : principal대한 정보와, 그에 대한 키 값 저장 파일. ticket : 사용자에 대한 인증 확인 위한 토큰 kadmin.local(kadmin) : 커버로스 서버에서 실행할 수 있는 관리자프로그램 klist : 티켓목록 확인(expire, principal...) listprincs : 키탭 확인 get_poilcy default : 비밀번..
InfluxDB 사용하는 이유 및 특징 Time Series Database(TSDB) 사용 이유 InfluxDB 특징 1.Scale out 시계열 데이터는 자율주행차, IOT 등 초 단위로 유입되는 데이터가 굉장히 많습니다. RDB 경우에는 특정 건수가 이상이면 속도가 확실히 늘어나는데, 그렇다고 timestamp를 index로 잡더라고 index rebuild 등 시간이 오래걸립니다. 또한 오라클 RAC 클러스터 구성 등 비용은 높다보니, RDB경우에는 샤딩 관리가 어려워서 비용이 많이드는 반면, TSDB는 NoSQL의 부류이기 때문에 scale out에 쉽습니다. 2. Data Retention Application Level에서 구현할 수 도 있지만 data를 Retention Policy 통해서 데이터 삭제 주기를 정해줄 수 있습니다..
Spark Mapreduce 느린 이유 1)여러 Stage별 dag가 아니라서 실행 계획 최적화X 2) Disk I/O Spark 1) Edge(transformation), Vertices(RDD) 를 기본으로 DAG 구성하여, 실행 계획 최적화. Lazy execution으로 인해 Action이 나오는 시점에 이전 단계에서의 각각의 stage별 job에 대한 계산을 해두고, Action할 때 최적화된 것으로 수행. 2) RDD(resilient distritbuted dataset)으로 immuatable한 특징을 갖고 있어 dag기반의 lineage를 확인하여 이전 단계에서 다시 객체 생성한다. 각 작업을 메모리 기반으로 하기 때문에 Disk I/O 발생 없음 Reference https://eyeballs...
빅데이터를 지탱하는 기술 리뷰 (p56) 데이터 처리 속도를 높이려면(낮은 latency) 분산과 압축을 사용할 수 있습니다. 분산은 경우는 MPP(massive parallel processing) 아키텍처를 사용하는 것이고 Cloud DW으로 Amazon Redshift, Google BigQuery가 있습니다. 압축의 경우는 column-oriented개념이 있습니다. 일반적인 RDB는 record 단위로 read/write에 최적화 되어있어서 row 기반이지만, 데이터 분석에 사용되는 DB는 칼럼 단위 집계에 최적화 되어 있기 때문에 Amazon Redshift, Kudu 같은 DB가 사용될 수 있습니다. 데이터 분석 경우는 사용되는 column이 고정적이지 않아 Index 효율성이 크게 높지 않습니다. (p69) 많이 사용되..
Kudu Kudu는 Columnar Storage로 칼럼마다 압축 방식과 인코딩 방식을 지원합니다. 또한 Primary Key가 필수고 B+트리로 저장되어있어서 인덱스 처럼 저장되어있어서 delete, update 등 Random Access가 빠른 특징을 갖고 있습니다. 또한 Parquet처럼 Sequental read에도 최적화 되어있습니다. Parquet, Kudu, Hbase 간 primary key를 기준으로 Random Access 그리고 substring() 연산통해서 성능 비교 시 Kudu가 Parquet와 Hbase의 중간 정도 성능을 보이 연구 또한 있습니다.(참고자료에 있음) 또한 Table들은 Tablet(partition)으로 구성되어있는데, resiliance를 위해 여러 노드에 분산저장..