Post

데이터 엔지니어와 SQL

이 글은, 프로그래머스에서 진행되는 실리콘밸리에서 날아온 데이터 엔지니어링 키트 with Python에서 배운 내용을 바탕으로 이루어져 있습니다.

데이터 엔지니어에게 SQL이란?

데이터 엔지니어라는 직군을 떠올렸을 때 ‘아무래도 엔지니어니까 SQL보다 다른 언어를 많이 쓰지 않을까?’ 생각하기 쉽지만, 누구보다 SQL을 많이 사용하고 잘 다룰 줄 알아야 하는 직군이 바로 데이터 엔지니어입니다. 왜 그럴까요?

그 이유는 단순해요. SQL이 그만큼 많은 장점을 가졌기 때문이죠. 그럼 어떤 장점이 데이터 엔지니어에게 SQL을 중요한 무기가 되게 하는 걸까요? 먼저, SQL은 어떤 사람들이 사용할까요? 최근에는 대부분의 직원들이 SQL을 사용한다고 해도 될 정도로 많은 사람들이 사용합니다. 그래서 SQL을 이용하면 더 많은 사람들이 보고 이해할 수 있고, 내가 원하는게 한 문장 안에 다 나오기 때문에 최종적으로 계산하고 싶은게 무엇인지 명확하게 보입니다.

이에 반해 코딩을 한다고 하면, 예를 들어 pandas 를 써서 코딩을 한다고 하면 Step by Step으로 데이터 셋을 convert 해내가야 하는데, 그러면 이 코드가 한 눈에 들어오기가 쉽지가 않습니다. 이런 언어를 precedurer 언어라고 하고 SQL처럼 한번에 내가 원하는게 나오는 언어를 declarative 언어라고 합니다. 그리고 declarative한 언어가 optimize 하기가 훨씬 쉽습니다. SQL문에서 어떤 걸 원하는지, 어떤 과정을 통해 원하는 걸 알아내는지 한눈에 들어오기 때문이죠.

SQL의 단점

  1. 구조화된 데이터를 다룰 땐 강력하지만, 비구조화된 데이터를 다룰 땐 좋지 않습니다.
  2. SQL마다 조금씩 syntax가 다릅니다.
This post is licensed under CC BY 4.0 by the author.