하이퍼커넥트의 데이터 웨어하우스 변천사(데이터브릭스)

  • 데이터 민주화

    • 기술적 지식이 부족한 사용자도 데이터 조직의 지원 없이 데이터에 액세스하고 활용

    • 누구나 사용할 수 있어야 함

    • 많은 사람들이 쓰더라도 규칙적으로 사용되며, 데이터 조직이 전체적으로 관리를 할 수 있어야 함

  • 하이퍼 커넥트의 데이터 인프라

    • (~2019) S3 => Redshift + Spark

      • 관리 포인트가 증가

    • (2019 ~ 2023) BigQuery

      • Composer + BigQuery

      • 사용하기 편리했지만 점점 문제가 발생

        • 가공되지 않은 데이터를 사용하고 싶은 경우 이슈 발생. S3에 가공되지 않은 데이터가 존재했음(Raw 데이터인가?)

        • Airflow가 익숙하지 않은 사람들은 스케줄 쿼리. 마이그레이션을 진행했으나 어려웠음

    • (2023 ~) Databricks

      • Databricks의 Raw 영역을 저장해 활용

      • 스케줄 쿼리를 만드는 내부 도구 생성

  • 데이터브릭스 도입할 때 고민

    • 셀프 서비스를 염두에 둠

    • 데이터를 어디에 저장하고 활용해야 하는가?

    • 어떤 클러스터를 쓰는가?

    • Workflow 생성은 어떻게 하고 코드 관리를 어떻게 할까?

    • 권한 관리 및 리소스 비용은 어떻게 추적해야 할까?

  • 데이터브릭스 도입 전에 정해야 하는 정책들

    • Compute Cluster : 사용자에게 어떻게 Compute Cluster를 전달할까?

      • 직접 만들게 할 수 있지만, 어려울 수 있음. 미리 모든 클러스터를 생성해서 선택해서 쓸 수 있도록 함

      • 사용하지 않을 때 과금이 되지 않아 껍데기를 만든 것

      • 클러스터엔 기본 conf를 저장하고, 팀별 구분

      • 여기서도 이슈가 존재

        • 공용으로 만들면 single user로 사용이 불가능

        • GPU 인스턴스를 사용하고 싶은 경우, 고성능이 필요한 경우 불가능

      • Purpose Cluster

        • 사용자가 원하는 스펙을 직접 작성해 tf 파일 수정, PR 생성

    • Git Folder Structure

      • 데이터 파이프라인 Git, CI/CD Git

      • 데이터 파이프라인 Git

        • prod/dev

        • Source : 외부에서 데이터를 가지고 올 때. 카프카 / 빅쿼리

        • Sink : 데이터브릭스의 데이터가 외부로 나갈 때

        • Transform : 델타레이크에 있는 데이터가 가공하여 델타레이크에 저장되는 코드

        • manifest : 파이프라인 메타데이터 정리

      • CI/CD 자동화

        • prod/dev

        • product, 팀별, workflow별

    • Workspace Folder Structure

      • 대시보드, 쿼리는 Git을 사용하기 애매했음

      • Databricks 내부에 파일을 저장해야 하는 경우

      • 자유롭게 제작

    • SQL Warehouse

      • SQL Cluster는 어떻게 세팅할까?

      • 처음엔 팀별로 클러스터를 생성했으나, 파편화가 되어서 전사 제공해서 공유

      • 오토스케일링 적용

    • Permission

      • 팀과 멤버들을 Group으로 정의. 한번 추상화를 해서 관리

      • 회사의 조직 개편, 개발 조직 내부 구조를 분리해서 코드 업데이트가 자주 일어나지 않도록 진행

    • Tag

      • 어떻게 Tag를 달아야 추적이 쉬울까?

        • General Tag Policy

          • role : 어떤 클러스터

          • dbxrole : 클러스터 사용하는 팀

          • stack : prod/dev

          • infrarole : 클러스터 생성 및 관리하는 팀

          • product : 회사 제품명

        • Job Tag Policy

          • source : job에서 활용되는 데이터 source

          • sink : job에서 최종적으로 저장하는 곳

          • transform : 어떤 작업이 진행되는지 설명

    • Unity Catalog

      • 구조만으로 데이터 사용처를 빠르게 이해할 수 있어야 함

      • 메달리안 방식을 사용

      • raw, bronze, silver, gold

        • bronze에서 speed, app 레이어도 존재

      • raw : 데이터 소스에서 싱크되는 영역. ELT을 위한 raw. s3, 카프카에 있는 데이터, 빅쿼리

        • 카프카의 데베지움이면 before, after가 그대로 저장

      • bronze : raw에 있는 데이터를 가공.

        • 카프카의 데베지움 데이터 기반으로 merge => Table과 동일하게 구성

      • silver : bronze에 있는 데이터를 도메인 단위로 테이블 생성.

        • speed : 도메인 단위로 정의하기 애매하지만 빠르게 집계하고 싶을 때 사용. 앞으로 사용하게 되면 정리해서 실버로 정리. 임시적인 영역

        • app : 데이터 분석이 아닌 어플리케이션에서 사용해야 하는 경우

      • gold : 실버를 집계해 join을 줄이고 비정규화 => 보고/대시보드 데이터 저장

  • 데이터 민주화를 위한 자동화

    • 사내의 모든 데이터를 데이터브릭스로 저장할 수 있어야 하고

    • 적재한 데이터를 누구나 활용할 수 있어야 함

  • 이벤트 드리븐 : 카프카에 집중

    • 모든 사내 데이터가 카프카로 스트리밍 되도록 설정

    • DB 데이터는 cdc를 사용하고, Object Storage는 vector 사용

    • Kafka to Databricks

      • 4가지 조건

      • 준실시간으로 카프카 데이터를 데이터브릭스로 싱크

      • 자동으로 데이터브릭스 테이블 및 스키마를 생성, 업데이트

      • highly scalable

      • easy to automate

      • => 카프카 커넥터 사용

      • S3 Sink connector + databricks auto loader 조합

    • S3 Sink connector : Hourly partitioner


https://vimeo.com/946845877

track2-2_0510

Vimeo

track2-2_0510

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 8월 13일 오후 2:55

댓글 0

    함께 읽은 게시물

    < 똑똑한 사람은 복잡하게 말하지 않는다 >

    1. 누군가가 화려한 단어나 두루뭉술한 개념을 많이 사용한다면 아마 자신이 무슨 말을 하는지도 모를 것이다.

    ... 더 보기

    지비지오는 지난해 5월 서비스 출시 후 월평균 거래액이 45%씩 성장했다. 지난 3월 100억원의 시리즈A 투자도 유치했다. 데이터 기반으로 경쟁력을 키운 게 주효했다. 일례로 인스타그램에서 댓글을 달면 DM으로 구매 링크를 자동 발송하는 기능을 자체 개발해 무료로 배포했다. 다이렉트 메시지(DM)을 활용하는 인플루언서의 실적이 더 높다는 데이터를 확인했기 때문이다.

    ... 더 보기

    팔로워 1천명이 5억 매출…VC도 놀란 인플루언서 '찐템 마켓' - 머니투데이

    머니투데이

    팔로워 1천명이 5억 매출…VC도 놀란 인플루언서 '찐템 마켓' - 머니투데이

    < 네이버는 왜 아이폰 쓰던 직원들에게 안드로이드폰을 사줬을까? >

    1. 2010년경 네이버에서의 일이다. 스마트폰이 처음 나왔을 무렵이다. 아이폰이 먼저 나왔다. 이어서 다양한 안드로이드 폰이 나오며 시장 점유율이 늘기 시작했다. 더 많은 사람들이 안드로이드 폰을 쓰기 시작했다. 시장이 열리니 그에 맞는 모바일 전략과 서비스

    ... 더 보기

    🥕첫 '권고사직'에 나선 당근, 정말 위기인 걸까요?

    ... 더 보기

    첫 '권고사직' 당근, 정말 위기일까요?

    www.openads.co.kr

    첫 '권고사직' 당근, 정말 위기일까요?

    더불어민주당에선 대통령실 비서실장으로 지명된 강훈식 의원이 '경영권과 무관하게 상장사 지분 25% 이상을 확보할 경우 잔여 주식을 모두 공개매수해야 한다'는 내용의 자본시장법 개정안을 지난해 6월 발의했다. 대통령령으로 예외를 두겠다는 단서 조항을 달았지만 사실상 100% 의무공개매수를 도입을 추진하고 있다. 지난 정부가 추진한 '50%+1주 의무공개매수' 대비 한발 더 나간 제도라는 평가가 나온다.

    ... 더 보기

    '100% 의무공개매수' 도입 가능성에 긴장하는 PEF들 [이재명號 출범]

    n.news.naver.com

    '100% 의무공개매수' 도입 가능성에 긴장하는 PEF들 [이재명號 출범]

    아기유니콘 사업을 주관한 중기부는 F사가 성인 콘텐츠 사업을 영위하고 있는 것에 대해 충분히 인지하지 못했다는 입장이다. 중기부 관계자는 “해당 F사의 사업 계획서 내용과 조금 다른 부분이 있었던 것 같다”면서 “아직 협약 체결을 하지 않은 상태이기 때문에, 관련 사안을 더욱 면밀히 파악하고 최종 협약 여부를 결정하겠다"라고 말했다.

    ... 더 보기

    성인콘텐츠도 많은데…중기부 '아기유니콘' 선정 논란

    서울경제

    성인콘텐츠도 많은데…중기부 '아기유니콘' 선정 논란