본문 바로가기
프로그래밍/SQL 함수 쌓기

SQL 실무 함수 정리에 앞서 (PostgreSQL, HiveQL, Redshift)

by 멀티코린 2020. 8. 16.

포스팅의 목적/

 

학부 시절 SQLD를 취득해 Data Analysis 직무 쪽으로 취업 후
별다른 발전없이 살아온 것 같아 자기발전을 위해
1) 그동안 사용해왔던 함수들을 정리하고
2) 지금까지는 성능을 고려하지 않은 쿼리를 짜왔다면 이제부턴 성능을 고려한 쿼리를 짜기 위해 내가 어떤 점들을 개선해 나가면 좋을지를 정리하고 싶어졌다!

약간의 중장기적인 목적으로는 심심하기도 하고 성장을 위해 SQLP 취득도 고려 중!


그동안의 사용 경험/


* 학부시절 : mySQL
* 실무 : PostgreSQL(Redshift) , Apache HiveQL
- 대부분은 유사하나 이것저것 쓰다보니 앞으로의 포스팅에서 혼재될 수 있음을 이해부탁드립니다.




시스템/

1) PostgreSQL

- 오픈소스 RDB로 다양한 플랫폼을 지원. 쉽게 컴퓨터에 설치 가능
- MySQL 등 다른 오픈소스 RDB와 비교 시 PostgreSQL의 경우 표준 sql이 잘 준수 되는 편이며 윈도 함수 등 분석에 필수적으로 사용되는 구문 등을 모두 구현.
- 대용량 처리보다는 소규모의 데이터, 학습 목적에서 사용을 권장.


2) Apache Hive

- Hive는 HDFS라고 부르는 분산 파일 시스템 위의 데이터를 SQL스러운 인터페이스로 간단하게 처리해 주는 시스템.
(실제로 현재 나는 회사에서 요걸 쓰고 있고 HiveQL 이라고도 부른다)
- 파일 기반의 시스템.


실제 체감한 사용 경험에 따르자면 생각보다 함수에 대한 제약이 있어 함수만 적용되면 편할 것이 실행할 수 없어 우회해서 돌아돌아 지표를 뽑아 내야할 때가 종종 있었다.

(내부 기술적으로는 파보진 않고 쿼리로 지표 추출에만 신경쓰다보니 해당 내용을 좀 더 상세히 공부해서 포스팅해보도록 하겠다)

 

3) Amazon Redshift

- AWS에서 제공하는 분산 병렬 RDB.
- Hive와 유사하지만 Hive는 파일 기반의 배치 처리를 sql스러운 인터페이스로 구현할 수 있는 시스템인 것에 비해 Redshift는 그냥 RDB.
- Redshift의 접속 인터페이스는 PostgreSQL과 호환성을 가짐.

사회에 나와 처음 접한 것이였고 다행히도 PostgreSQL과 호환성을 가진 덕분에 나는 쉽게 쿼리를 짤 수 있었다. mySQL과 크게 다른 점도 없었고 혹여나 다르더라도 우리에겐 구굴이란 정보의 바다가 있기 때문에 ㅎ-ㅎ



취업을 준비하는 취준생이라면 Hive 나 Redshift를 쉽게 접할 수 없겠지만
mySQL, PostgreSQL 등 오픈소스로 공부를 해도 충분히 실무에서 사용가능하다.
부족한 부분은 채워나가면 되기 때문에.





앞으로의 포스팅 내용은 데이터의 기본 내용보단 SQL 함수 사용에 대해서
포스팅할 예정이다.
혹시나 데이터의 구조, 데이터의 이해가 필요한 분이라면
데이터 분석을 위한 SQL레시피” 내용을 한 번 읽어보는게 어떨지 제안한다!

데이터의 전반에 대해 꽤나 설명이 잘되있구
나도 내가 그동안 사용했던 시스템에 대한 설명과 특징을 이 책을 통해서 좀 더 이해하게 되었다.









댓글