일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- 패스트 캠퍼스
- ㅇ
- 생존코딩
- 모두연구소
- 오준석의생존코딩
- 모두의연구소 오준석생존코딩 오름캠프
- 오름캠프플러터
- 오름캠프
- 모두의연구소
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 플러터
- 오준석의 생존코딩
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 오존석의 생존코딩
- Today
- Total
꾸준히 하고싶은 개발자
빅데이터 적재 2 -실시간 로그 /분석 적재(Hbase,redis) 본문
실시간 로그 분석에서는 데이터는 작지만 대량으로 발생하는 메시지성 데이터를 실시간으로 분석(집계,분류,관계등) 처리하며 해당결과를 인 메모리에 저장해 주변 시스템과 빠르게 공유한다.
이때대량의 메시지를 데이터를 영구 저장하기 위해 하둡을 직접 이용하지 않는 이유는 유입된 작은 메시지 한건을 곧바로 하둡에 저장할 경우 한개 의 수적으로 늘어나고 이로 인해 하둡 클러스터에 지나친 오버헤드가 발생하기 때문이며 이런 문제를 해결하기 위해서 중간에 메시지를 특정 크기로 모았다가 한꺼번에 적재하거나 대규모 트랜잭션 데이터를 처리하는 최적화된 칼럼지향형 NOSQL 데이터 베이스를 주로 사용한다.
HBase
-NoSQL 데이터 베이스들을 데이터를 키/값(Key / value) 구조로 단순화하고 컬럼 또는 도큐먼트 형식 제약사항이 적은 스키마 모델로만들어 고성능 쓰기/읽기 가능하다는 공통점을 가지고 있다.
-HBase는 하둡기반 칼럼 지향 NoSQL 데이터 베이스로서 스키마 변경 이 자유롭고 리전이라는 수십 수백 대 분산 서버로 샤딩과 복제 등의 기능을 지원해 성능과 안정성을 보장하는 특징을 띠고 있다.
-하둡의 확정성과 내고장성을 그대로 이용 할 수있어 대규모 실시간 데이터를 처리하기위해서 HBase 가 사용된다.
HBase 아키텍처
-HBase 아키텍처 의 가장 큰 특징은 하둡의 HDFS를 기반으로 설치 및 구성된다는 것이다.
분산 데이터 베이스 아키텍처를 채택하고 이쓰며 HDFS 의 가용성과 확장성을 그대로 물려받음
-HBase에 테이블에 특정 데이터를 저장하기 위해 전 주키퍼를 통해 HTable 의 기본 정보와 해당 HRegion 의 위치 정보를 알아낸다
-해당 정보를 기반으로 클라이언트가 직접 HRegionServer fh연결 되어 HRegion의 Menmory 영역인 HDFS에 플러시(Flush) 되고 HFile dms Hegiondml 상황에 따라 최적의 HFile로 재구성되는 작업이 이뤄진다.
HBase에서는 Minor/major compaction이라고한다.
-HBase에서 특정 테이터를 가져오는 과정을 보면 우선 주키퍼를 통해 로우키(Row Key)에해당하는 데이터를 알아내고 해당 HRegionServer의 Memory영역인 MemStoredptj 데이터를 가져옴으롯써 디스크 I/O를 최소화 하면서 빠른 응답 속도를 보장한다.
-MemStore에 플러시 되어 데이터가 존재하기 않으면 HFile 영역으로 이동해 데이터를 찾게 되는데 HBase 와HDFS사이의 모든 데이터 스트림 라인들은 항상 열려있어서 레이턴시 발생하지 않는다.
레디스
레디스 (Redis)는 분산 캐시 시스템이면서 NoSQL 데이터베이스 처럼 대규모 데이터 관리 능력도 갖춘 IMDG(IN -Memory Data Grid) 소프트웨어다.
-레디스는 키/값 형식의 데이터 구조를 분산 서버상의 메모리에 저장하면서 고성능의 응답 속도를 보장한다.
- 다양한 데이터 타입을 지원하기때문에 데이터를 구조화 해서 저장 할 수 있어 단순 키/값 이상의 데이터 복잡성 처리 할 수 있다.
-인메모리 데이터를 영구적으로 저장 할 수 있는 스냅샷 기능을 제공되며 데이터 유실 대비해 AOF 기능을 정합성을 보장한다.
-특정 데이터의 샤딩 과복제 도 지원하고있어 높은성능이 필요한 서비스 에서 많이 사용된다.
레디스 아키텍처는 3.X 에서부터 HA 기능이 강화되면서 클러스터의 완성도 가높아졌다.
Single Master 는 개발과 테스트 환경에 주로 사용된다.
설치 가 쉽고 단일 서버 만으로도 빠른 응답 속도와 안정성을 기능을 제공 소규모 이면서 중요도 비교적 낮은 시스템 간의 데이터 공유에 종종 사용된다.
-레디스를 Master 인 쓰기노드와 Slave인 읽기 노드로 분리 구성한다.
Master에쓰인 데이터 복제를 통해 Slave 노드로 복제 되면서 데이터 정합성을 유지한다.
쓰기 읽기 노드를 분리해서 전체적인 성능을 향상 시킨 구성이다. Slave2 같이 읽기 노드를 추가해서 성능을 극대화 할 수있다.
HA 클러스터링 구조는 두가지 문제점을 가진다.
-Master 서버 장애 발생시 쓰기 요청이 실패하면서 데이터의 유실 이발 생 할 수있는 취약한 구조다.
- 클라이언트 가 쓰기노드와 읽기노드를 알고 있어야 하므로 클라이언트프로그램에 복잡도가 발생한다.
이런 문제를 해결하기위해서 레디스 3.x 부터 Sentinel이라는 노드 모니터링/제어 컴포넌트가 추가됬다.
즉 Sentinel 이 노드들을 모니터링하고 있다가 Master 노드에 문제가 발생하면 slave노드중 하나를 Master 노드로 지정하고, 문제가 됐던 Master 노드와 연결을 끊으면서 HA기능을 제공하다.
실습
storm jar bigdata.smartcar.storm-1.0.jar com.wikibook.bigdata.smartcar.storm.SmartCarDriverTopology test 라는
자바파일
'빅데이터 플랫폼' 카테고리의 다른 글
빅데이터 처리/탐색(하이브) (0) | 2022.10.24 |
---|---|
빅데이터 적재 2 -실시간 로그 /분석 적재(Hbase,redis) 실습2 자바 스프링 사용해서 웹으로 보기 (0) | 2022.10.22 |
빅데이터 수집 Kafka (0) | 2022.10.21 |
빅데이터 적재 적재1 (대용량 로그파일 적재) (1) | 2022.10.18 |
빅데이터 수집 플럼10월 13일 (0) | 2022.10.12 |