데이터공부기록/SQL

[독서메모] 데이터 분석을 위한 SQL 레시피 | 2장 3강 시스템

팔랑팔랑마음 2023. 7. 27. 10:06

※ 본 게시글은 한빛미디어의 '데이터 분석을 위한 SQL 레시피(가사키 나가토, 다미야 나오토 지음)'에서 발췌한 내용이며

학습 목적으로 요약 정리한 메모입니다.


PostgreSQL

  • 오픈소스 RDB(Relational Database)
  • 확장 기능을 많이 제공해서 편리하게 사용 가능
  • 장점:
    • 무료
    • 로컬에서 비교적 가볍게 동작하기에 소규모 데이터 분석에 적합

 

Apache Hive

  • HDFS(Hadoop File System, 분산 파일 시스템) 위의 데이터를 SQL스러운 인터페이스로 간단하게 처리해주는 시스템
  • 분산 파일 시스템 위의 데이터의 순서를 맞추는 MapReduce라는 알고리즘 사용
  • 장점:
    • 무료
    • 쿼리 실행 때 동적으로 데이터를 정의할 수 있음
  • 단점:
    • 리액턴시가 낮은 처리를 요구하는 경우에는 적합하지 않음
    • 파일 기반의 시스템 > 레코드 변경 및 제거가 어렵고 쿼리 실행 때 파일 전체를 조작해야 함

 

Amazon Redshift

  • AWS에서 제공하는 분산 병렬 RDB (클라우스 서비스)
  • 레코드 업데이트 및 제거 가능, 트랜잭션 지원
  • 사용 시간에 따라 비용 발생
  • PostgreSQL과 달리 컬럼 기반 스토리지 사용 > 전체 컬럼을 추출하면 성능이 낮으므로 필요한 컬럼만 추출하는 쿼리를 사용해야 함
  • 장점:
    • 대량의 데이터와 상호 작용을 하는 쿼리를 빠르게 실행 가능
    • 데이터 규모가 커지면 스케일 아웃 가능
  • 단점:
    • 높은 비용
    • 성능 튜닝 및 비용 절감을 위해 전문적인 인스턴스 관리 필요

 

Google BigQuery

  • 구글이 제공하는 클라우드 서비스
  • 사용 시간이 아닌 읽어 들인 데이터의 양으로 비용 계산
  • 컬럼 지향 스토리지 아키텍처
  • 장점:
    • 다루는 데이터가 적으면 적은 비용으로 운용 가능
    • 직접 노드 인스턴스를 관리할 필요 없음
    • 유료 구글 애널리틱스와 연동 가능
  • 단점:
    • 사용 요금을 예측하기 어려움 > 자주 읽어들이는 데이터만 모아서 별도의 테이블로 분할 or 필요한 컬럼만 SELECT 구문으로 가져오기

 

SparkSQL

  • MapReduce를 사용한 분산 처리 프레임워크인 Apache Spark의 기능 중에서 SQL 인터페이스와 관련된 기능을 나타내는 용어
  • 장점
    • 무료
    • 빅데이터 활용과 관련된 대부분의 처리를 한 번에 구현 가능