공부/글또 10기

데이터 조회 및 추출 플랫폼 사용 후기

Moana96815 2025. 3. 2. 22:12

오늘은 제가 지금까지 사용해 본 데이터 플랫폼 사용 후기를 간단히 남겨보려고 합니다. 원활하게 직장 생활을 계속해나간다면, 앞으로 저는 데이터 브릭스를 오래 사용하게 될 것 같습니다. 사용 후기를 작성하기에 앞서 먼저 현재 저의 SQL 쿼리 실력을 설명하고 가겠습니다. 중간 정도의 스킬을 갖고 있고, 데이터끼리 조인하고, 서브 쿼리나 집계 함수를 사용하는데 큰 무리가 없는 정도입니다. 하지만 아직도 SQL을 사용하다가 원하는 형태의 데이터를 얻지 못하면, 파이썬을 활용하고 싶다는 생각이 종종 드는 그런 상태입니다. 이런 관점에서 사용해 본 데이터 플랫폼 MSSQL, Superset, Databricks에 대한 생각을 남겨보겠습니다.

 

 


데이터 조회 및 추출 플랫폼

 

 1. MSSQL(사용 기간 : 1년)  

프로그래머스에서 Mysql 기반으로 SQL 쿼리를 작성하는데 익숙해져서인지, 그 당시 쿼리와 친하지 않아서인지 모르지만 MSSQL을 사용하면서 항상 불편하다고 생각했습니다. 이미 존재하는 테이블에 행 1개를 추가하려면 Mysql은 INSERT INTO ~ VALUES ~문을 사용하면 되지만, MSSQL은 넣을 테이블을 SET ON하고, INSERT INTO ~ VALUES ~문으로 값을 넣고, SET OFF를 해줘야 합니다. 그리고 Mysql은 데이터의 일부를 보고 싶다면 SELECT FROM으로 원하는 테이블 조회하는 하단에 LIMIT를 사용하면 되지만, MSSQL은 SELECT 절에 TOP 100 * 이런 식으로 작성해야 합니다. 이게 귀찮으면 단축키 설정했던 게 기억이 나네요. 하지만 MSSQL을 사용하면서 가장 좋았던 것은 한 세션에서 생성한 임시 테이블을 해당 세션 동안에 사용하여 속도 저하가 되지 않았다는 게 것입니다. 임시 테이블로  업무를 하면서 매일 사용했던 게 아니라, 한 두 달에 한번씩 사용해서 1년 정도 사용은 했지만 손에 익지 않았던 것 같습니다. 

 

 

 2. Superset(사용 기간 : 2달)  

약 2달 간 Superset에서 Sql Lab으로 데이터를 추출할 기회가 있었는데, 화면 구성도 MSSQL보다 깔끔하고, LIMIT 같은 쿼리가 실행되어 사용하기 편하다고 느껴졌습니다. 다만 쿼리 결과가 캐싱되지 않고, 한 세션 동안 임시 테이블을 생성하지 못하여, WITH CTE로 여러 테이블을 만들어 사용해야 하는 것이 단점입니다. 쿼리도 굉장히 길어지고 성능 저하가 생기며, 어제 돌려본 쿼리 결과와 오늘 돌려본 쿼리 결과가 달라지기 때문입니다. 계속해서 해당 플랫폼을 사용해야 했다면, 아마 테이블을 생성하는 등 다른 방법들이 있는지 알아봐야 했을 것 같습니다. 

 

 

 3. Databricks(사용 기간 : 1주)  

데이터브릭스는 앞으로 제가 계속 사용해야할 데이터 플랫폼입니다. 익숙해지는데 하루 이틀 정도 걸릴 정도로 쿼리 사용이 유연하고 편리하다는 인상을 받아서 사용 기간은 짧지만 글을 작성하게 됐습니다. 쿼리를 작성하면서 인상 깊었던 것은 SELECT 절에서 정의한 집계 함수에 대한 조건을 설정하려면 HAVING 절에서 별칭인 ALIAS를 사용할 수 없는데, 데이터 브릭스는 사용이 가능하다는 점입니다. Snowflake나 Bigquery에서 가능하다는 얘기는 듣긴 했지만, 실제로 사용해 보니 굉장히 편했습니다. 하지만 CASE WHEN 문으로 생성한 변수의 별칭은 WHERE 절에서 사용할 수 없습니다. 데이터 엔지니어가 계정을 생성하면서 테이블 생성 할 수 있게 권한을 준다면, 임시 뷰나 테이블도 만들어서 사용할 수 있습니다. 데이터를 조회하고 추출하는 데 있어서 앞에 두 플랫폼의 단점들이 모두 보완된 플랫폼 같아서 앞으로 데이터 추출이 굉장히 용이해질 것이라 생각합니다.


 

이렇게 짧은 식견으로 데이터 조회 및 추출이 가능한 3개의 플랫폼에 대해서 사용기를 작성해보았습니다. 데이터 엔지니어의 관점에서 어떤 플랫폼이 데이터를 저장하기 좋은지는 알 수 없지만, 추출하기에는 Databricks가 쿼리 작성, 캐싱 등을 고려했을 때 가장 편리한 것 같습니다. 혹시 Databricks의 크리티컬 한 단점이 있다면 댓글로 알려주세요! 앞으로 Databricks로 데이터 추출 연습을 계속하다 보면 데이터 추출에 대한 부담감이 줄어들 것으로 예상됩니다. 오늘은 이것으로 글을 마치겠습니다!

 

반응형