※ 본 게시글은 한빛미디어의 '데이터 분석을 위한 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 인터페이스와 관련된 기능을 나타내는 용어
- 장점
- 무료
- 빅데이터 활용과 관련된 대부분의 처리를 한 번에 구현 가능
'데이터공부기록 > SQL' 카테고리의 다른 글
[독서메모] 데이터 분석을 위한 SQL 레시피 | 3장 5강 (0) | 2023.07.28 |
---|---|
[SQL] COUNT(*)와 COUNT(column_name)의 차이점 (0) | 2023.07.07 |
[SQL] 맨날 헷갈리는 BETWEEN 포함 범위 총정리 (0) | 2023.07.07 |