반응형

 

하이브(Hive)

  • 하둡 기반의 데이터 웨어 하우스 소프트웨어
  • SQL 기반의 데이터 요약, 질의 및 분석 기능을 제공
  • HDFS & Hbase 등 여러 하둡 에코들과 호환
  • 기본 분석을 위한 QL(SQL-Like) 언어 제공
  • 다수의 내부 함수, 분석 함수 제공
  • SDF(User Defined Function) 지원
  • 다양한 파일 형식으로 전환 기능

 

https://gennadny.wordpress.com/category/big-data/page/2/

Hive Architecture

https://www.researchgate.net/figure/Apache-hive-architecture-9_fig1_319193375

 

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

https://towardsdatascience.com/hbase-working-principle-a-part-of-hadoop-architecture-fbe0453a031b

 

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) 시스템 이 물리적 네티워크로 분할된 상태에서 정상 동작한다.

 

https://yukselis.wordpress.com/2015/04/21/visual-guide-to-nosql-systems/

 

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이다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기