하이브(Hive)
- 하둡 기반의 데이터 웨어 하우스 소프트웨어
- SQL 기반의 데이터 요약, 질의 및 분석 기능을 제공
- HDFS & Hbase 등 여러 하둡 에코들과 호환
- 기본 분석을 위한 QL(SQL-Like) 언어 제공
- 다수의 내부 함수, 분석 함수 제공
- SDF(User Defined Function) 지원
- 다양한 파일 형식으로 전환 기능
Hive Architecture
SQL on Hadoop
HDFS에 저장된 데이터에 대한 SQL 처리를 제공하는 시스템
Hive를 포함하여 Impala, Presto, Drill 등 다양한 오픈소스
NoSQL(Not Only SQL) DB 배경
관계형 데이터베이스의 한계점 도달
전통적인 관계형 데이터베이스는 데이블 간 관계를 통해 다양한 데이터 조회 가능
빅데이터 시대로 오면서 대량의 데이터 적재에 따른 비용이 증가하고 처리 성능에 한계에 도달함
관계형 데이터베이스의 일부 기능을 포기하더라도 확장에 유연하면서 저장 및 조회에 높은 성능이 요구된다.
NoSQL(Not Only SQL) DB 특징
고정형 Table Schema 불필요
적재와 조회에 성능 최적화
데이블 간 관계형 설정 지양, Join 경우 성능 저하
Scale out을 통한 수평적 규모 확장
Hbase Architecture
NoSQL DB 종류
- MongoDB
- Cassandra
- Elasticsearch
- HBASE
https://hostingdata.co.uk/nosql-database/
NoSQL Databases List by Hosting Data - Updated 2021
The ultimate reference for NOSQL Database Management Systems. Includes Events, Links, Tools, News, Forums, Books, and much more...
hostingdata.co.uk
CAP 이론
분산 시스템에서 세 가지 속성을 모두 만족할 수 없다는 이론
일관성(Consistency) 모든 사용자가 같은 순간에 같은 데이터를 볼 수 있다.
가용성(Availability) 모든 클라이언트는 항상 읽기 쓰기가 가능하다.
분할 성(Partition Tolerance) 시스템 이 물리적 네티워크로 분할된 상태에서 정상 동작한다.
ACID 관계형 데이터 베이스의 대표 특성
트랜잭션이 안전하게 수행되는 것을 보장하기 위해 가져야 하는 특성으로, 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)으로 표현된다.
원자성(Atomicity) - 한 트랜잭션 안의 모든 작업은 모두 성공하거나 모두 실패하는 것을 원칙
일관성(Consistency) - 한 트랜잭션이 성공하면, 모든 데이터는 동시에 일관성 있는 상태로 유지
고립성(Isolation) - 한 트랜잭션의 작업이 수행되는 도중에는 다른 트랜잭션 작업이 수행될 수 없음
지속성(Durability) - 트랜잭션이 성공하면, 해당 최종 상태는 영원히 반영되어야 함
BASE, NoSQL의 특성
Basically Available 데이터는 어떠한 경우에든 항상 활용될 수 있는 특성 ACID의 고립성(Isolation)과 대립된 특성 인다.
Soft-State 분산 노드 간 업데이트는 데이터가 노드에 도달한 시점에서 갱신한다.
Eventual Consistency 일관성을 제공하되 모든 노드에서 동시에 보장되지는 않는다.
시간이 지나면 일관성이 보장이 되는 지연된 일관성 보장
NoSQL DB 활용 및 주의점
실시간 대용량 데이터 적재 필요시
테이블 간 Join 등의 처리가 거의 없는 경우
추후 DB 확장이 유연해야 하는 경우
NoSQL 특성에 맞는 Table 설계가 매우 중요하다
테이블 간 Join을 할 경우 성능 저하 심하다
유지보수에 따른 운영 인력 확인 필수
용도가 명활 할 경우 강력한 NoSQL DB이다.
'데이터분석 > 기초' 카테고리의 다른 글
[데이터분석] 데이터 분석의 꽃 통계 2 (2) | 2021.12.16 |
---|---|
[데이터분석] 데이터 분석의 꽃 통계 1 (2) | 2021.12.15 |
[데이터분석] Data Engineering(엔지니어링) 5 (2) | 2021.12.13 |
[데이터분석] Data Engineering(엔지니어링) 4 (0) | 2021.12.12 |
[데이터분석] Data Engineering(엔지니어링) 3 (2) | 2021.12.11 |
최근댓글