[전략_노트]/[전략노트_경영]

[전략] SQL, 데이터 분석 언어

스테판 in US 2023. 4. 27. 13:03

[전략] SQL, 데이터 분석 언어

 

SQL 데이터 분석 언어에 대해 알아보려고 합니다. 

 

미국에 와서 데이터 어날리시스를 하면서, SQL이란 언어를 공부하였네요. 

 

이전에 배웠던 프로그래밍 언어는 무언가 문법이 복잡하고, 에러가 발생하면 수정하는게 어려운게 많았는데, SQL은 프로그래밍 언어라고 하기보다는 소팅 로직에 가까운 것이라고 생각이 됩니다.

 

GCP와 같은 클라우드에 raw data를 업로드한 이후에, 데이터 분석을 위한 기본 소팅작업을 하는데 SQL이 적용되지요. 오리지널 데이터가 수십만, 수천만 아이템으로 구성되어서, 빅데이터 수준의 데이터 소싱작업을 하려면, 우선 SQL 로직으로 정리한 이후에 데이터 분석작업을 해야 합니다.

 

당연히, SQL 문법과 명령어에 대해서 공부하고, JOIN과 같이 다른 데이터와의 조합에 대해서는 추가로 더 공부해야 하겠지요.  JOIN 명령어까지 마스터하면, SQL 을 활용하는데 거의 문제가 없는 듯 합니다.

 

SQL 로직
SQL 로직

 

하지만, SQL 로직을 구성하려면, raw data를 우선 이해해야 하는데, 이 것은 매우 직관적이고 감각적인 영역이라고 생각되네요.  수십만, 수천만의 raw data가 존재하는데, 항목의 의미가 무엇이고, 필드값이 어떻게 채워져 있는지, 사전공부를 하지 않으면, SQL 로직으로 기대하는 결과물이 나오기 힘든 상황이지요.

 

제가 경험한 Data Science는 raw data 값을 확인해서, null 값 및 잘못 입력된 raw data를 제대로 cleaning 작업을 하고, Data 분석에 필요한 보조 data를 추가해서, 원하는 패턴과 형태로 데이터를 시각화 할 수 있는 것 같습니다. Raw data로 시각화 작업이 불가능한데, 우선 SQL로 raw data 를 정형화하고 소팅해서, data 분석이 가능한 사전 정비작업을 해야 합니다.

 

통상 데이터나 통계를 이해하지 못하는 일부 관리자 레벨에서, 자신들이 갖고 있는 권한과 포지션에 의지해서, 막무가내로 지시하고 빅데이터에서 인사이트를 찾으라고 말하곤 합니다.  현재 raw data를 이해하고, 의미있는 아웃풋을 만들내려고 노력하지만, 실제 데이터 분석 작업보다는 보고서에 필요한 유의미한 데이터를 빨리 그럴 듯하게만 만들어 내기를 원하는 경우를 많이 경험하였지요.

 

SQL Joins
SQL 로직

 

실제로 데이터를 제대로 이해하고, SQL 같은 소팅 툴을 잘 활용한 이후에, 제대로 시나리오 및 서비스 모델을 도출해 낼 수 있겠지만, 현실 세계는 그렇지 않은 경우도 있는 듯 합니다.

 

어찌됐든, SQL은 공부하기 어려운 언어도 아니고, 조그만 시간과 노력을 투자한다면, 충분히 혼자서도 활용이 가능한데이터 소팅언어로 체득이 가능하고, 데이터 분석언어로는 Python까지 마스터해야 하는데, SQL이 Python으로 가는 입문단계이라고 생각됩니다.