ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023 트리노 밋업 후기
    log 2023. 5. 23. 01:26

    한국 데이터 엔지니어 모임에서 트리노 밋업이 열린다는 소식을 전해듣고 트리노를 잘 활용하고 있는 한 유저로써 바로 신청했다. 트리노 밋업은 스파크플러스 선릉점에서 열렸으며 SKT와 스타버스트의 후원으로 진행하게 되었다.

    입장해서 가장먼저 저녁을 대신할 샌드위치와 과일, 간단한 다과와 음료를 받아 자리에 앉았다. 아 트리노 트레이드마크인 토끼 마스코트가 그려진 티셔츠가 블랙과 화이트 중 택1로 받을 수 있었는데, 블랙은 너무 개발자스러워서 화이트로 받았다.

    밋업이 끝날때쯤 과연 블랙만 품절이고 화이트는 조금 남았어서 블랙을 받고 끝날때쯤 남은 화이트를 가지고가 블랙과 화이트 둘다 챙길껄 하는 아쉬운 마음이 들었다.

    사실 사이즈가 XL라고는 하지만 여성 기준인듯 나에게는 거의 95나 M사이즈에 가까울만큼이나 작았다. 그래서 아마 집에서 실내용으로만 입게될 것 같다.(하지만 토끼는 귀엽다)

    세션은 총 세가지로 이루어져있으며 첫번째 세션에서는 trino의 상용버전 스타버스트의 코파운더인 matt가 zoom을 통해 트리노의 오늘과 내일에 대해서 이야기했다. 어딘지는 모르겠지만 그쪽 시간으로는 새벽5시라고...지구 반대편에 트리노를 위해 모인 사람들을 위해 새벽에 열심히 pt를 준비하고 발표해준 matt에게 감사한 마음이 들었다.

    나머지는 SKT에서 트리노의 활용방안과 내부로직에 대한 세션이 이어졌다.

    오늘 글에는 각 세션에 대해서 하나씩 정리한 내용을 공유하려고 한다.

    트리노 오늘과 내일

    • 트리노는 코디네이터에서 파싱하고 플래닝, 스케줄하는 식으로 작동된다
    • 모든 커미터의 50퍼센트가 4년이내에 이루어질만큼 최근에 폭발적인 오픈소스 기여 활동이 일어나고 있다

    • 과거 18개월동안
      • 머지 쿼리는 ETL에서 유용하게 사용됐다.
      • JSON functions 이 펑션을 사용해서 다른 저장소에 저장하거나 탐색함
      • Table functions
    • Fault tolerant execution
    • dbt-trino 통합할 예정
    • 메타베이스 드라이버 제공 예정
    • 에어플로우 통합지원 예정
    • 로드맵
      • 다음 세대 columnar engine
        • trait-specific processing(인코딩, 아스키, null, 등..)
        • SIMD/GPU
      • aggrigation과 조인을 통한 해쉬 테이블
      • 스노우플레이크, 스타록스, 스패너, exasol 커넥터 제공예정
      • CREATE/DROP CATALOG
    • 질문! 코디네이터 HA는 지원하거나 지원할 예정인지?
      • 아직 트리노 내부에서는 계획이 없다 대신에 핫스텐바이를 띄워서 패일오버하는 식으로 해결
      • 쿠버네티스를 통해서 pod를 실패시 재실행하는 식으로 보완

    ETL없이 데이터 레이크 구성하기

    • 분석과들과 엔지니어들 간에 다툼을 극화시켜서 표현한 장면

    • 일반적인 ETL 과정의 도식화된 과정에서 무조건 모아야 한다는 편견을 깨부수고 트리노로 다리를 놓자는 것이 핵심
    • ETL을 버리고 통합 데이터 플랫폼으로 진화 시키는 법
    • ETL 과정을 없애고 트리노로 모든 쿼리를 통합한다. 단, 같은 질의에 대한 캐시를 사용함(verade, file system, redis 등)으로써 DB의 부하를 최소화하는 것을 전재로 한다.
      • 하이브는 디렉토리 베이스 구조이고 아이스버그는 파일 베이스 구조이다 파일 베이스로 가야지 앞서 얘기한 캐시를 사용함으로 트리노를 통한 다리 놓기가 가능
    • SQL Tracking System on AI
      • 사용된 sql 문장을 통해 데이터 사용의도를 추적하는 시스템
    • Active Meta Platform
      • 사용자의 노력없이 Data에 대한 Meta 정보를 알 수 있다
    • 트리노에서 이벤트리스너를 통해서 사용자의 쿼리를 수집하고 재사용 쿼리에 대한 캐싱 처리 및 bert나 gpt 모델을 통한 학습으로 추후 대화형 질의를 통해 데이터를 검색하는 것까지 구상
    • 살짝 진보적인 내용이긴 하지만 현재 ETL 구조에서에서 오는 피로함과 데이터를 디깅하는 입장에서의 마찰을 해결하려는 방식의 이상향에 대해서는 너무 공감하는 내용이다 개인적으로 가장 마음에 들었던 세션

    Trino에서 데이터 저장소와 상호작용하는 방식을 알아보자

    • conway’s Law
      • 유연성이 중요하다
    • 무조건 모으지 않아도 된다는 관점에서 시작
      • 데이터 메쉬의 등장
    • query federation?
      • 여러개의 사일로된 데이터 소스에 대해서 쿼리를 날린다
    • 즉결성에 있어서 페더레이트 쿼리가 중요하다
    • cdc는 현재 데이터가 보임→1년전껄 보고자한다면? 스쿱이 필요→기술이 적재적소에 필요함
    • 비즈니스가 먼저고 기술이 후행한다
    • 파싱→애널라이즈→플랜→스케쥴→익스큐트(워커)
    • optimization
      • constant folding
      • 반복적 최적화→트리구조를 반복적으로 가져가서 끝까지 최적화
    • 스플릿→가장 작은 작업할당 단위이자 병렬성을 만족시키는 단위
    • bzip2만 스플릿터블함
    • orc, parquet…컬럼별로(나눠서) 압축을 함→그래서 압축을 해도 읽을 수 있음
    • 스플릿 구조를 만든 이유→읽기 비용을 생각하면 페이지 캐시에 로드 되었으나 사용되지 못하는 영역을 사용하지 못하는 문제때문에 작게 나눈다
    • sk텔레콤에서는 아이스 버그를 사용한다
    • 스토리지와 컴퓨테이션 분리가 추세
    • block replication vs erasure coding
      • erasure coding이 반드시좋지는 않다→분산저장되어있으니까 로컬리티가 보장이 안됨
    • 파퀘이에서는 로우그룹 orc에서는 stripe가 읽을 수 있는 최소그룹→스플릿 앞부분만 찾아서 인덱스를 추려내서 그 파일만 읽어냄
    • 결론
      • 모든 기술은 적합한 환경에서 사용해야 하며 내부 구현을 알면 더 잘 사용할 수 있다
    • 트리노에 관해서는 태스크 위주로 작업을 해서 내부구조나 코드를 직접 까보고 원리에 대해서 이해하는 시간을 갖지는 못했는데 쿼리가 플래닝되는 과정들을 세세하게 과정 하나하나 뜯어가며 설명해준게 인상깊었다. 시간이 더 길었으면 좀더 천천히 설명을 들었을 걸하는 아쉬움이 남는 세션

    모든 세션이 마치고

    친구와 함께 세션이 끝마치고도 질문 공세를 퍼부어서 곤란하셨을 법한데 친절하게 모두 답변해준 이성화 연사자님께 감사의 말씀을 블로그 지면을 통해서라도 남기고 싶다.

    사실 크게 별 기대안하고 단순히 트리노? 나도 쓰는건데! 한번 가볼까? 하는 가벼운 마음으로 신청한건데 생각보다 깊은 고찰과 수준높은 발표에 많은 것들을 배우고 견문을 넓히고 간다.

    오히려 스타버스트측의 발표가 영어 발표이기도하고 새로울 것도 없는 내용이라서 좀더 아쉬울 만큼이나 나머지가 잘 준비된 세션들인 것 같다.

    다음번에 밋업이 열리면 또 참석해야겠다.

    댓글

Copyright 2023. 은유 All rights reserved.