데이터분석/PostgreSQL

SQL 도구 들의 관계 및 차이

환성 2023. 7. 3. 22:20
728x90

PostgreSQL

  • 오픈소스 RBD(Relational Database) 
  • 다양한 플랫폼 지원, GUI 인스톨러가 제공
  • 특유의 확장 기능으로 편리하게 사용할 수 있음

 

Apache Hive

  • HDFS라 불리는 분산 파일 시스템 위의 데이터를 SQL스러운 인터페이스로 간단하게 처리해주는 시스템
  • Hive는 Hadoop 생태계의 일부분으로 SQL스러운 쿼리 언어로 작성한 쿼리를 MapReduce 잡으로 변환해서 간단하게 병렬 분산 처리
  • 파일 기반의 시스템(특정 레코드 하나 변경하거나 제거 X, 쿼리 실행 시 파일 전체를 조작)
  • 동적으로 데이터를 정의
  • 풍부한 UDF(User-Defined Function)을 활용해서 어려운 문자열 처리가 가능

 

Amazon Redshift

  • AWS에서 제공하는 분산 병렬 RDB
  • Hive와 비교하면 이쪽은 아예 RDB => 레코드 업데이트, 제거가 용이하며 트랜잭션도 지원
  • PostgreSQL과 호환성을 가짐, psql 클라이언트에서 Redshift 접속이 가능
  • 대량의 데이터와 상호 작용하는 쿼리를 실행하고 싶을 떄 효과적
  • 스케일아웃해서 큰 규모로 쉽게 변경
  • 하지만, 사용 시간에 따라 비용이 발생
  • 성능 튜닝하거나 비용을 줄이기위해 최적의 노드 수와 스펙을 예측해서 인스턴스의 실행, 종료를 해야 함
  • 컬럼 기반 스토리지(데이터 압축률을 높일 수 있음)

 

Google BigQuery

  • 빅데이터 분석을 위해 구글이 제공하는 클라우스 서비스
  • 직접 노드 인스턴스를 관리할 필요 X, 읽어 들인 데이터 양으로 비용이 발생
  • 다른 클라우드 서비스와도 쉽게 연동