안단테 안단테

9. HBase 소개 - 2 본문

IT 기술/BigData

9. HBase 소개 - 2

안단테에 2023. 2. 3. 15:32
728x90
반응형

9. HBase 소개 - 2

 

1.3 비관계형 데이터베이스 시스템. Not-only SQL인가 NoSQL인가?

 

NoSQL 데이터 저장소에 SQL과 비슷한 쿼리를 제공하는 도구들이 존재하며, 이를 이용하여 관계형 DB에서 사용하던 복잡한 쿼리를 만들 수 있음

RDBMS와 NoSQL의 실질적인 차이는 스키마가 고정되어 있지 않아서 애플리케이션과 보조를 맞추어 저장 구조를 발달시킬수 있음

 

- 일관성모델

DB에서 수행되는 모든 연산은 하나의 일관된 상태를 지니고 다음 연산에 전달되야 한다는 개념

1. 엄밀한 일관성 : 데이터에 가해지는 변경 사항은 원자성을 가지며 즉시 반영되는 것처럼 표시

2. 순차적 일관성 : 모든 클라이언트가 모든 변경 사항을 적용한 순서대로 동일하게 바라봄

3. 인과적 일관성 : 인과적으로 연관된 변경 사항에 한해 모든 클라이언트가 순서대로 동일하게 바라봄

4. 최종적 일관성 : 최종적으로 모든 갱신 내역이 시스템 전체에 전파

5. 약한 일관성 : 모든 갱신 내역이 전파되다라 보장 안됨

 

CAP정리 : 분산 시스템 세가지 요소(일관성, 가용성, 분할 허용성)중 두가지만 달성 가능 -> 요구에 맞게 개발하기 어렵다.

 

1.3.1 기준

 

데이터모델, 저장모델, 일관성 모델, 물리적 모델, 읽기/쓰기 기능, 보조 색인, 장애처리, 압축, 부하 분산, 원자적 읽기, 갱신, 쓰기, 락 걸리, 대기, 데드락

 

1.3.2 확장성

 

RDBMS의 동작 방식은 트랜잭션 작업에는 적합하지만, 대규모 분석 작업에는 적합하지 않음

동시처리, 트랜잭션이 커질수록 락을 획득하기 위한 대기시간과 데드락 가능성이 엄청 커짐

데이터모델을 비정규화 하면 락 획득 대기시간과 데르락 회피 가능

수평적 확장을 하면 파티션 재분배가 필요없음

 

1.3.3 DB (비)정규화

 

확장된 환경에서 스키마를 다르게 설꼐하는 일이 필수적일 때가 있는데 이 원리를 잘 설명하는 용어가 DDI이다.

Denormalization(비정규화), Duplication(중복), Intelligent Keys(지능 키)

데이터를 두 개 이상의 테이블에 복제하여 스키마를 비정규화 하는 개념이 있따.

-> 읽기를 수행 할 때 추가적으로 데이터를 츃바할 필요가 없음

-> 요구되는 view를 위한 구체화 작업을 사전에 수행함으로써 빠른 ㅇ릭기 속도를 위한 최적화를 얻을 수 있음

 

sparse한 넓은 테이블 및 컬럼 지향 구조

-> 테이블을 정규화할 필요성이 없다.

-> 쿼리시간에 데이터를 집계해햐 하는 JOIN 연산도 없애줌

-> Intelligent Key를 이용해 어디에 어떻게 데이터를 저장할지 세밀한 제어 가능

-> 부분키 검색 가능

-> 스키마를 적절하게 설계하면 데이터를 10개에서 천만개 까지 확장 하면서 읽기/쓰기 성능을 그대로 유지 가능

 

1.4 구성요소

 

1.4.1 배경

 

2003년 google "The google File System" 논문 발표

확장 가능한 분산 파일시스템인 GFS는 범용 하드웨어로 대규모 데이터를 저장하는 클러스터를 구축

노드 간에 데이터 사본을 저장하여 저장 서버를 하나 ㅇ릭어버려도 데이터 사용성에는 영향이 없음

나중에 데이터를 읽어드릴수 있도록 읽기 스트리밍에 쵲거화

 

단점 : 수백만개의 작은 파일을 처리하는데는 부적합

-> 마스터 노드의 메모리에 유지하고 있는 데이터는 궁극적으로 파일 수에 의존

-> 파일수가 많아지면 마스터 노드의 메모리에 가해지는 압박이 한층 더 심해진다.

 

분산환경에서의 RDBMS의 한계에 대해 다양한 방식으로 접근

Create, Read, Update, Delete 기능을 가진 단순한 API만을 사용하고, 여기에 큰 단위의 키 범위나 전체 테입르을 순회하는 탐색 기능을 추가

-> 2006년 '빅테이블' 발표

 

1.4.2 테이블, 로우, 컬럼, 셀

 

- 가장 기본적인 단위를 컬럼

- 하나 이상의 컬럼이 모이면 하나의 로우

- 로우는 로우키라는 유일한 주소를 가짐

- 로우가 다수모이면 테이블을 이룸

- 각 컬럼은 여러개의 버전을 가짐, 버전의 값은 각각 별도의 셀에 저장

- 모든 로우는 언제나 로우키를 기준으로 사전식으로 정렬됨

 

 

728x90
반응형

'IT 기술 > BigData' 카테고리의 다른 글

11. HBase 소개 - 4  (0) 2023.02.03
10. HBase 소개 - 3  (1) 2023.02.03
8. HBase 소개 - 1  (0) 2023.02.03
7. zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries  (0) 2023.02.03
6. hbase 에서 검색  (0) 2023.02.03
Comments