인프런 커뮤니티 질문&답변

Jaguar Black님의 프로필 이미지
Jaguar Black

작성한 질문수

데이터 분석 SQL Fundamentals

to_date, to_timestamp, to_char 함수를 이용한 형변환 실습

소기업 데이터베이스 구축 관련 질문

작성

·

830

1

안녕하세요,
저는 이커머스 소기업 마케터입니다.
여태 재직했던 기업들은 대부분 데이터를 엑셀로 받아서 로컬PC에 저장해서 사용하였고, 데이터의 소스는 카페24(임대몰) 관리자, Google analytics에서 다운로드, 페이스북 광고관리자에서 다운로드 하는 식이었습니다.
이제 SQL을 배워 이직도 노려보고, 팀장 직급이니만큼 다른 소기업에 가더라도 웹플랫폼을 사용중인 기업에서는 아직 DB관리 자체를 안하고 있는 경우도 많은데, SQL로 데이터를 관리하며 마케팅 인사이트를 얻고 시간효율을 얻기 위해서 소기업에 만약 DB를 제안해서 구축한다면 초반에 가장 가성비 좋고 편하게 구축할 수 있는 방법은 어떤 것이 있을까요?

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

1. 만약 2번 방법을 사용해서 이 DB들을 로컬PC에 다운로드 받아 postgre에서 활용한다면, 다운받을 당시에는 csv나 xlsx형태로 다운로드 되는데, 이것들을 로컬PC에 카테고리별로 잘 폴더링해서 항시 postgresql로 import해서 사용하는 것으로(마치 엑셀 불러오기처럼) 이해하면 될까요..? 

=> 네 맞습니다. 기간별로 폴더를 만들어서 여기에서 postgresql로 import 해서 데이터를 insert 하면서 주기적으로 만들어 줘야 할 것 같습니다. 

2. GA에서 수집되는 DB에 카페24 또는 다른 전자상거래 웹사이트 DB의 고객식별자 값을 연동시켜서, 민감한 개인정보를 GA가 수집하지 않더라도 key값을 join할 방법이 있을까요? 아마 user-id 수집으로 가능한 것으로 알고있긴 한데, 그러면 개발자와 커뮤니케이션 할 때 단순히 'user-id' 변수를 수집하게 커스터마이징 태그를 만들어주십시오 라고 하면 되나요..?

=> 이건 GA 전문가가 더 답변을 잘할 것 같습니다만(저는 어깨 너머로 GA를 배워서...)

안될 이유는 없을 것 같습니다. 고객 식별자 값을 Login시 Event 처리로 해서 GA로 넘겨 줄 수 있을 것 같습니다만, 정확한 것은 저도 안해봐서 잘 모르겠습니다. 아마도 GA를 좀 알고 프론트엔트 까지 해본 개발자라면 더 정확히 답을 해줄 수 있을 것 같습니다. 

 

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

오, 마켓팅 업무를 하시는데 SQL 강의를 들으시는 군요. 대단하십니다. 

근데 질문이 너무 포괄적이어서, 방향성이나 사례등으로 조금만 구체화해서 말씀해 주시겠습니까? 

예를 들어 GA를 안쓰고 웹플랫폼에서 내부적으로 DB를 사용하여 데이터를 저장하고 있는데, 이걸 GA 수준의 분석을 위한 DB로 만들기를 원하시는 건지등...

감사합니다. 

Jaguar Black님의 프로필 이미지
Jaguar Black
질문자

아.. 너무 포괄적으로 말씀드렸군요.

쉽게 말씀드리자면, 이커머스 소기업들의 경우 데이터가 저장되지 않고 다 흘러가는 개념입니다. DB가 없다고 보는게 맞습니다.

SQL을 제가 배우는 목적은, 물론 당장은 앱이나 IT플랫폼쪽에서 지금으로써는 제대로 DB환경이 갖추어졌기에 그쪽이로 이직하면 아무 문제가 없지만,

더 넓게 보면 현재 마케팅의 흐름이, 3rd party data의 개인정보 제한으로 바뀌고 있는 것 + 컨텐츠 광고의 입찰가 상승으로 crm data의 디테일한 활용을 통한 마케팅 효율 상승이 필요한 쪽으로 점점 바뀌고 있다는 생각이 들었습니다.  결국 1st data의 활용, 즉 DB가 필요하고 내부적으로 SQL언어의 활용스킬이 필요할 것이라는 생각이 들어서 배우는 것이거든요.

서설이 길었네요. 결국 DB를 쓰지 않는 소기업이, 구체적인 Data분석을 위해 지금처럼 로컬PC에 데이터를 저장하고 엑셀을 사용하여 제한적이고 느린 분석을 하는 것이 아닌, SQL(또는 파워bi등이라도)을 활용하게 할 수 있는 소규모의 서버를 구축할 만한 가장 편하고 가성비 좋은 방법이 어떤 것일까요? Data 환경의 구축을 위해 대대적인 컨설팅(정부지원 등을 통한)이 필요한 것일까요? 혹은.. 내부 엔지니어를 채용하는 수밖에 없을까요?

로컬 PC와 엑셀을 사용하면, 강사님께서도 잘 아시겠지만 스키마를 만들고 파일간의 데이터 모델링이 너무 까다롭습니다. 한 파일에 몰자면 너무 무거워지구요. 예를 들자면 utm_source=youtube의 광고데이터가 product_category=cosmetic이고 order_date=201010인 데이터를 추출해서 그래프화 하는데까지 개별 건건이 너무 많은 시간과 작업이 필요합니다. 이런 문제를 해소하고 싶습니다.

권 철민님의 프로필 이미지
권 철민
지식공유자

제가 질문 내용을 잘 이해했는지 모르겠습니다. 아래와 같이 답변 드립니다. 

먼저 DB 구축의 물리적인 부분에 대해서 말씀 드리면

DB 용량이 수십기가 이상이면 가장 빠른 방법은 클라우드 시스템을 이용하는 것입니다. 

클라우드에서 4 core 이상에 SSD 스토리지로 구성하고 오픈 소스 DB(Postgresql, mysql)로 구축하면 비용적으로 부담도 적고, 빠르게 구축할 수 있습니다. 

사용자가 많지 않고, DB 용량이 수십기가 이하이면 개인 PC에서 오픈 소스 DB를 구축해도 좋습니다. 요즘 AMD 개인 PC정도도 성능이 괜찮게 나옵니다.  단 가능하면 SSD로 구성해주시면 좋습니다. 

다음으로 DB 구축시 개발 구현 측면에서 말씀드리면

1. DB 구축 시 가장 어려운 부분은 Data 분석 요건을 정하고 여기에 따라서 테이블을 설계하고 데이터를 가져오는 일입니다.  분석 요건에 따라서 공수가 많이 필요할 수도 있습니다. 

가령 소규모 회사들이 GA 분석 기능 정도의 기능을 DB로 구현하려면 필요한 많은 데이터를 가져 올 수 있어야 합니다. 예를 들어 utm_source=youtube를 가져오려면 해당 코드를 javascript등으로 심을 수 있어야 하고, 이게 매출로 연결되었는지까지 일련의 프로세스를 프로그램에서 DB에 입력 시켜 줘야 합니다.  GA는 이런 과정을 GA에서 Client code를 심어서 본인들의 클라우드 DB에 저장한 뒤에 데이터를 추출하는 과정을 가지는데, 이러한 과정을 로컬 DB에서 수행하려면 개발 공수가 많이 필요할 수 있습니다. 

때문에 말씀하시는 분석 DB 구축이 GA 분석 정도의 데이터를 로컬에 구축하는 거라면 쉽게 구축하기는 어려울수 있습니다. 

2. 이런 방식이 아니라 GA를 정상적으로 운영하면서 주기적으로 데이터를 다운로드 하여 테이블로 구성하고, 내부적인 고객이나 매출 자료등을 함께 테이블로 로컬 DB로 구성하여 분석 DB 시스템을 구축할 수도 있습니다. 다만 GA자료를 다운로드시 GA 365 계정이 아니면 샘플링된 일부 데이터만 다운로드 될 수 있습니다. 또한 GA 자료 용량이 크면 다운로드시 시간이 많이 소모 될 수 있습니다. 

이 방식을 적용하더라도 GA 자료와 내부 고객 자료등이 잘 매칭될 수 있도록 테이블을 설계할 필요가 있습니다. 제 생각엔 제가 '다양한 사례로 익히는 SQL 데이터 분석' 강의에 GA 용 실습 테이블 정도를 기반하여 기반 분석 DB정도를 구축하는 것을 시작점으로 삼으면 좋을 것 같습니다. 

3. 별도의 분석 DB를 구글 클라우드의 빅쿼리를 활용하는 방법도 있습니다.  이 경우 빅 쿼리에서 GA의 여러 분석 테이블을 접근하여 좀 더 세분화된 분석을 수행할 수도 있습니다. 빅쿼리와 함께 구글 Data Studio를 이용하시면 utm_source=youtube의 광고데이터가 product_category=cosmetic이고 order_date=201010 정도의 데이터 분석과 시각화는 손쉽게 가능할 수 있습니다.

다만 빅 쿼리와 Data Studio에 적응하는데 시간이 필요할 수 있고,  GA의 고객 개인정보등에 대해서는 접근이 어려울 수 있는 부분은 감안되어야 합니다. 

4. GA정도의 기능이 아니라 내부 데이터를 기반으로 한 판매/매출 분석 정도라면 앞에서 말씀드린 사항들을 종합하여 보다 쉽게 구성할 수 있습니다. 

 

요약 드리자면 물리적인 DB 구축은 빠르게 구축할 수 있지만,

DB 개발 구현은 분석하고자 하는 요건과 활용하려는 데이터를 어떻게 구성하느냐에 따라 구축 난이도가 크게 달라질 수 있습니다.  

 

Jaguar Black님의 프로필 이미지
Jaguar Black
질문자

정성스럽게 답변해주셔서 정말 감사드립니다.

여러 가지 고려해본 결과 3번 정도가 키맨에게 제안하거나 제 사업을 할 때 가장 합리적이지 않을까 하는 생각이 듭니다. 최신버전인 GA4를 사용하면 빅쿼리도 무료연동이라고 하네요..

 

3. 별도의 분석 DB를 구글 클라우드의 빅쿼리를 활용하는 방법도 있습니다.  이 경우 빅 쿼리에서 GA의 여러 분석 테이블을 접근하여 좀 더 세분화된 분석을 수행할 수도 있습니다. 빅쿼리와 함께 구글 Data Studio를 이용하시면 utm_source=youtube의 광고데이터가 product_category=cosmetic이고 order_date=201010 정도의 데이터 분석과 시각화는 손쉽게 가능할 수 있습니다.

다만 빅 쿼리와 Data Studio에 적응하는데 시간이 필요할 수 있고,  GA의 고객 개인정보등에 대해서는 접근이 어려울 수 있는 부분은 감안되어야 합니다. 

 

만약 2번 방법을 사용해서 이 DB들을 로컬PC에 다운로드 받아 postgre에서 활용한다면, 다운받을 당시에는 csv나 xlsx형태로 다운로드 되는데, 이것들을 로컬PC에 카테고리별로 잘 폴더링해서 항시 postgresql로 import해서 사용하는 것으로(마치 엑셀 불러오기처럼) 이해하면 될까요..? 다시 말해 데이터가공 툴을 excel에서 sql로 바꿔서 사용하는 개념 정도로.. 사실 sql 언어사용 자체가 당연히 어느 정도 장벽이 있어서 excel보다는 숙련도가 필요하지만, 장점이라면 '파일크기&파일개수 대비 처리속도'와 '테이블간 실시간 호환, 연계성'이지 않을까 싶네요..

제가 SQL을 배우는 목적과 장점에 대한 사항이다보니 자꾸 주절주절 여쭙게 되어 송구스럽습니다^^; 다시 한번 친절한 답변 감사드립니다.

Jaguar Black님의 프로필 이미지
Jaguar Black
질문자

또한 마지막 한가지 질문이 있습니다.

GA에서 수집되는 DB에 카페24 또는 다른 전자상거래 웹사이트 DB의 고객식별자 값을 연동시켜서, 민감한 개인정보를 GA가 수집하지 않더라도 key값을 join할 방법이 있을까요? 아마 user-id 수집으로 가능한 것으로 알고있긴 한데, 그러면 개발자와 커뮤니케이션 할 때 단순히 'user-id' 변수를 수집하게 커스터마이징 태그를 만들어주십시오 라고 하면 되나요..?

어떻게 보면 제가 이 강의를 듣는 가장 핵심적인 목표가 될 수도 있겠네요.

Jaguar Black님의 프로필 이미지
Jaguar Black

작성한 질문수

질문하기