반응형

Data Engineering/Looker 9

[Looker] 8. 확장성: Looker API와 임베디드 분석 (Powered by Looker)

안녕하세요, IT 전문 블로거 팬돌프입니다.개발자라면 "바퀴를 다시 발명하지 마라(Don't reinvent the wheel)"라는 격언을 아실 겁니다. 만약 우리 회사의 파트너사나 고객들에게 데이터 리포트를 제공해야 한다면 어떻게 하시겠습니까? D3.js나 Chart.js를 이용해 처음부터 차트를 개발하고, 백엔드 API를 새로 짜시겠습니까?루커를 사용하는 기업들은 Powered by Looker (PBL)라 불리는 임베디드 기능을 통해 이 문제를 해결합니다. 이미 만들어둔 LookML과 대시보드를 외부 웹사이트에 그대로 심어버리는 것이죠.오늘은 루커를 단순한 BI 툴이 아닌 데이터 플랫폼으로 완성시키는 Looker API와 임베디드 분석의 기술적 구현 방법을 다룹니다.1. 모든 것은 API로 통한다..

[Looker] 7. 관리와 배포: 안전한 데이터 환경 구축하기 (DevOps)

안녕하세요, IT 전문 블로거 팬돌프입니다."데이터도 소프트웨어처럼 관리해야 한다." 최근 데이터 엔지니어링 업계의 화두인 DataOps의 핵심 문장입니다. 과거의 BI 툴들은 파일 하나를 수정해서 서버에 덮어쓰는 방식이라, 누가 언제 실수를 했는지 추적하기 어렵고 되돌리기(Rollback)도 힘들었습니다.하지만 루커는 태생부터 **"LookML = Code"**라는 철학을 가지고 있습니다. 즉, 개발자들이 사용하는 Git 시스템을 그대로 데이터 분석 환경에 적용할 수 있다는 뜻입니다.오늘은 여러분의 데이터 팀이 '겁 없이' 코드를 수정하고, '안전하게' 배포할 수 있도록 돕는 루커의 관리 시스템을 파헤쳐 보겠습니다.1. Git 워크플로우: 데이터 팀의 협업 표준루커의 가장 큰 장점은 강력한 **Git ..

[Looker] 6. 성능 최적화: 쿼리 비용을 줄이는 데이터 엔지니어의 전략

안녕하세요, IT 전문 블로거 팬돌프입니다.화려한 대시보드를 만들어 배포했는데, 로딩하는 데 30초가 걸린다면 사용자들이 좋아할까요? 아마 "루커는 느려서 못 쓰겠다"라는 불만이 터져 나올 겁니다. 게다가 BigQuery 콘솔에 들어가 보니, 단순한 조회 쿼리 하나가 수 TB(테라바이트)를 스캔하고 있다면? 아마 팀장님께 불려 갈지도 모릅니다.루커는 단순히 쿼리를 날리는 도구가 아닙니다. 쿼리를 가장 스마트하게 날리는 엔진입니다.오늘은 캐싱 전략부터 루커 성능 최적화의 꽃이라 불리는 집계 인식(Aggregate Awareness)까지, 쿼리 비용은 줄이고 속도는 10배 높이는 비법을 공개합니다.1. 캐싱 정책(Caching Policy): 가장 쉬운 성능 향상가장 먼저 점검해야 할 것은 캐시(Cache)..

[Looker] 5. 고급 LookML: Liquid와 매개변수를 활용한 동적 쿼리

안녕하세요, IT 전문 블로거 팬돌프입니다.현업 비즈니스 담당자에게 대시보드를 시연할 때, 개발자들이 가장 식은땀을 흘리게 만드는 질문이 있습니다."이 차트, 지금은 '매출액' 기준인데 버튼 하나 누르면 '이익률'로 바뀌게 할 수 있나요? 차트 2개 말고 1개로요." 보통의 시각화 도구라면 차트를 하나 더 만들거나 페이지를 분리해야 합니다. 하지만 루커는 다릅니다. 사용자가 직접 매개변수(Parameter)를 입력하고, 그 입력값에 따라 SQL이 실시간으로 바뀌도록 코딩할 수 있기 때문입니다.이 마법을 가능하게 하는 것이 바로 쇼피파이(Shopify)에서 만든 템플릿 언어인 Liquid입니다. 오늘은 LookML 안에 숨겨진 또 하나의 강력한 언어, Liquid를 활용해 루커를 200% 활용하는 방법을 ..

[Looker] 4. 중급 테크닉: 파생 테이블(Derived Tables)의 마법

안녕하세요, IT 전문 블로거 팬돌프입니다.실무에서 데이터 분석을 하다 보면, 데이터베이스에 있는 원본 테이블(Raw Data)만으로는 해결되지 않는 복잡한 요구사항을 마주하게 됩니다."개발자님, 각 고객별로 '첫 구매일'과 '생애 총 구매액'을 구해서, 주문 테이블 옆에 붙여서 분석하고 싶어요."SQL이라면 GROUP BY를 사용해 서브 쿼리(Sub-query)나 CTE(Common Table Expression, WITH 절)를 만들어서 메인 쿼리와 조인하겠죠?루커에서는 이 역할을 파생 테이블(Derived Table)이 담당합니다. 이 기능을 잘 쓰면 복잡한 SQL 로직을 깔끔하게 정리할 수 있고, 무엇보다 대시보드 속도를 비약적으로 향상시킬 수 있습니다.1. 파생 테이블(Derived Table)..

[Looker] 3. LookML 기초 2: 데이터 관계 정의와 Explore 설계

안녕하세요, IT 전문 블로거 팬돌프입니다.데이터베이스에서 하나의 테이블만으로 완벽한 분석을 끝내는 경우는 거의 없습니다. 주문 내역에는 고객 정보가 붙어야 하고, 상품 정보가 연결되어야 비로소 "30대 남성이 가장 많이 구매한 전자제품" 같은 의미 있는 비즈니스 인사이트가 도출되죠.SQL에서는 이를 JOIN으로 해결합니다. 하지만 루커의 Explore에서는 단순히 테이블을 붙이는 것을 넘어, 루커에게 "이 두 테이블이 논리적으로 어떤 관계(1:1, 1:N)인지"를 명확히 알려주어야 합니다. 그래야 루커가 조인으로 인한 데이터 뻥튀기(Fan-out) 현상 없이 정확한 숫자를 계산해 줄 수 있기 때문입니다.오늘은 루커의 쿼리 생성 엔진을 완벽하게 제어하는 Explore 설계와 Join 전략에 대해 심도 있..

[Looker] 2. LookML 기초 1: 뷰(View)와 모델(Model)의 해부학

안녕하세요, IT 전문 블로거 팬돌프입니다.루커 프로젝트를 처음 생성하고 IDE(통합 개발 환경)에 들어가면 수많은 파일들이 보여 당황스러우셨을 겁니다. 하지만 걱정하지 마세요. 루커의 모든 로직은 결국 뷰(View)와 모델(Model)이라는 두 가지 파일 형식으로 귀결됩니다.비유하자면 뷰(View)는 요리에 사용할 신선한 식재료를 손질하는 곳이고, 모델(Model)은 손질된 재료를 어떤 조합으로 내보낼지 결정하는 주방 및 메뉴판이라고 할 수 있습니다.오늘은 이 두 가지 요소가 어떻게 작동하는지 기술적으로 파헤쳐 보겠습니다.1. 뷰(View): 물리적 테이블의 디지털 트윈뷰(View) 파일(.view.lkml)은 LookML의 가장 기본 단위로, 데이터베이스에 있는 물리적 테이블이나 SQL 쿼리로 만들어..

[Looker] 1. 루커(Looker)의 시작: 왜 우리는 시맨틱 레이어에 주목해야 하는가?

안녕하세요, IT 전문 블로거 팬돌프입니다.오늘부터 데이터 엔지니어링과 BI(Business Intelligence) 시장에서 가장 뜨거운 감자로 떠오른 루커(Looker)에 대해 본격적인 기술 연재를 시작하려 합니다.개발자 혹은 데이터 엔지니어로서 현업과 일하다 보면 이런 경험, 한 번쯤 있으실 겁니다."개발자님, 마케팅 팀에서 뽑은 지난달 매출이랑 재무팀 리포트의 매출 숫자가 달라요. 뭐가 맞는 거죠?" 분명 같은 데이터베이스에서 데이터를 가져왔는데 결과가 다릅니다. 이는 각 부서가 사용하는 쿼리의 로직(Logic)이 파편화되어 있고, 서로 다른 시점에 추출된 엑셀(Excel) 파일이나 CSV 파일을 기준으로 의사결정을 내리기 때문입니다. 우리는 이것을 데이터 사일로(Data Silo) 또는 지표의 ..

[Looker] 데이터의 진정한 가치를 발견하다: 루커(Looker) 아키텍트 완벽 가이드 (기초부터 고급 튜닝까지)

안녕하세요! IT 전문 블로거 팬돌프입니다.데이터 엔지니어링과 BI(Business Intelligence)의 핵심 도구로 자리 잡은 루커(Looker)*에 대한 글을 연재하시게 된 것을 진심으로 환영합니다. 루커는 단순한 시각화 도구를 넘어, 강력한 시맨틱 레이어(Semantic Layer)를 기반으로 데이터 거버넌스를 확립할 수 있는 훌륭한 플랫폼이지요.개발자분의 기술적 깊이를 충분히 담아내면서도, 독자들이 단계별로 성장할 수 있도록 구성한 루커 기술 블로그 연재 리포트를 제안해 드립니다.📚 루커(Looker) 기술 연재 시리즈 구성안이 시리즈는 총 8편으로 구성되어 있으며, 루커의 철학인 LookML의 이해부터 성능 최적화, Admin 관리까지 모든 기술적 요소를 포괄합니다.1편. 루커(Looke..

반응형