< HBase 쓰기 경로 >
데이터가 HBase 에 저장되면 가장 먼저 두 곳에 저장이 된다.
- WAL(Write Ahead Log)
- Memstore
< Memstore 란? >
Memstore 는 memory 에 있는 buffer 이다.
disk 에 데이터를 쓰기 전 데이터를 모아둔다.
쓰여진 데이터들이 일단 Memstore buffer 에 쌓이고, 이 buffer 가 꽉 차면 그제서야 disk 에 쓰여지게 된다(Flush).
이 때 HFile 형태의 데이터로 쓰여진다.
Flush 되면 이어서 쓰여지는 게 아니라, 새로운 하나의 HFile 이 되어져서 쓰여진다.
< Write Ahead Log 란? >
수행되는 모든 변경사항들을 기록한 것이다.
서버가 중지되어도, WAL 의 기록을 보고 중지되기 전 상태까지 복구가 가능하다.
만약 어떤 연산이 WAL 기록에 실패했다면, 그 연산은 실패한 연산이 된다.
< Memstore 에 장애 발생시 >
Flush 가 되기 전에 장애가 나면 Memstore buffer 내의 데이터는 모조리 잃어버린다.
하지만 WAL 의 기록들을 기준으로 복구된다.
< HFile 이란? >
HFile 은 HBase 의 저장 포맷이다.
HFile 은 하나의 컬럼 패밀리에 속한다.
(하나의 컬럼 패밀리는 여러개의 HFile 들을 가질 수 있다.)
참고
hbase 아키텍처 자세한 설명
https://www.youtube.com/watch?v=2Ci_QxJ1kiE&t=1457s
https://mapr.com/blog/in-depth-look-hbase-architecture/
https://www.youtube.com/watch?v=V1fXSCASVDc
https://www.joinc.co.kr/w/man/12/hadoop/hbase/about
https://data-flair.training/blogs/hbase-architecture/
https://www.youtube.com/watch?v=2Ci_QxJ1kiE
하둡 완벽 가이드 내용 정리 : http://wiki.gurubee.net/pages/viewpage.action?pageId=28117473
https://community.cloudera.com/t5/Community-Articles/How-Region-Split-works-in-HBase/ta-p/248814
'HBase' 카테고리의 다른 글
[HBase] log 보는 방법 (0) | 2019.10.31 |
---|---|
[HBase] Spark 와 연동해서 데이터 읽는 방법 (2) | 2019.10.24 |
[HBase] linux 에 Fully Distributed mode 설치하는 방법 (0) | 2019.10.21 |
[HBase] Zookeeper 설치하는 방법 (0) | 2019.10.18 |
[HBase] linux 에 Pseudo Distributed mode 설치하는 방법 (0) | 2019.10.18 |