Hadoop = 빅데이터
라고 과거에 인식했다.
사실 Hadoop(하둡)은 빅데이터가 아니고 대용량 파일 처리
에 사용하는 기술이다.
※ 파일 배치
1. 정형: DB
2. 비정형: 로그, 파일..
message: 2K 정도는 NoSQL에 저장(실시간, 고성능, 빠름)
RDB: 관계형(지켜야 할 사항이 많아 성능이 안 좋음)
NoSQL: 관계성, 무결성 없음. 원테이블 체제
MOM 기술을 사용해서 Hadoop, NoSQL에 저장
예를 들어, 계좌 조회 하는 서비스를 만들 때 Table에서 잔액에 update하면 서버에서 message를 받는 방식을 여러 가지로 구현 가능한데, ①TCP, ②HTTP(Rest API), ③MOM(Queue)의 방법이 있다.
계좌 이체는 바로 일어나야해서 보통 Queue를 쓰진 않는다.
하지만 카드 청구서는 바로 계산할 필요가 없어 카드 내역을 Queue에 모두 저장해놨다가 한 번에 계산한다.
이 경우, Queue를 DB로 사용하는 것이다.
TCP를 쓰게 되면 연결이 끊긴 걸 몰라서 보내야 할 데이터가 쌓이게 된다.
실시간 분석을 하려면 Queue에 쌓아두고 Queue MOM을 Kafka로 많이 쓴다. → 오픈소스이고 성능이 좋다.
다음 멘토링까지 할 일
1. Python으로 MySQL CURD 해보기
2. VM에 Kafka 설치, Python 패키지(consumer, producer) 설치
kafka의 묘미는 실시간 고성능이라 DB의 유입이 많아야 한다.
모니터링 사용