티스토리 뷰

ALL/Data

PostgreSQL, SparkSQL

whoAmI_ 2023. 7. 21. 15:54

 

PostgreSQL

PostgreSQL은 오픈소스 RDB(Relational Database)이다. MySQL 등 다른 오픈소스 RDB와 비교하면 PostgreSQL은 표준 SQL을 잘 준수하며, 윈도우함수, CTE(WITH구문) 등 분석에 필수적으로 사용하는 구문 등을 모두 구현한다.

 


Apache Hive

PostgreSQL등의 RDB에서 대량의 데이터를 처리할 때 디스크에서 보틀넥이 발생하게 된다. 디스크 I/O가 보틀넥이 되는 경우 고속으로 데이터를 처리하기 위한 아키텍처로 분산 파일 시스템이 고안되었다. 분산 파일 시스템을 사용하면 거대한 데이터를 작게 분할해서 여러 개의 디스크에 분산해서 저장하고 각 디스크에서 동시에 데이터를 읽어 들여 고속으로 대량의 데이터를 처리할 수 있게 된다.
Apache Hive는 HDFS(Hadoop File System)라고 부르는 분산 파일 시스템 위의 데이터를 SQL스러운 인터페이스로 간단하게 처리해 주는 시스템이다. 그런데 분산 파일 시스템 위의 데이터를 동시에 읽어들여 디스크I/O 보틀넥을 해결하더라도 순서를 제대로 맞출 수 없다면 의미가 없다. 그래서 분산 파일 시스템 위의 데이터의 순서를 맞추는 방법으로 MapReduce라는 알고리즘이 고안되었다.
이러한  하둡파일시스템과 맵리듀스 아키텍처를 구현한 시스템이 초기의 Apache Hadoop이다. Hive는 이러한 하둡 생태계의 일부분으로, 하이브SQL이라 부르는 SQL스러운 쿼리 언어로 작성한 쿼리를 자동적으로 MapReduce 잡으로 변환해서 간단하게 병렬 분산 처리를 할 수 있다.

 


SparkSQL

SparkSQL이란 맵리듀스를 사용한 분산 처리 프레임워크인 아파치 스파크의 기능 중에서 SQL 인터페이스와 관련된 기능을 나타내는 용어이다. Spark는 오픈소스 프레임워크이며, 기계 학습, 그래프 처리, 실시간 스트리밍 등의 다양한 처리를 쉽게 분산 처리 할 수 있는 기능 등도 제공한다.
Spark의 가장 큰 장점은 빅데이터 활용과 관련된 대부분의 처리를 한 번에 구현할 수 있다는 것이다. 인터페이스로 SQL뿐만 아니라 파이썬, 스칼라, 자바, R등의 프로그래밍 언어를 지원하며, 데이터 익스포트와 임포트 기능도 굉장히 다양하게 가진다. 데이터 추출, 수집데이터의 가공, 통계분석과 기계학습 걸고, 결과를 출력하여 리포트를 만드는 모든 과정을 모두 Spark 프로그램 내부에서 한 번에 구현할 수 있다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함