토스 테이블 정보 관리

Han Hanju·2022년 6월 13일
1

1. 서론

  • 성장하는 서비스와 함께 커가는 데이터 & 테이블
    • 서비스가 커져 갈 수록 자연스레 수많은 테이블이 만들어지게 된다.
  • 늘어가는 많은 테이블들을 효율적으로 관리하고 활용 할 수 있는 product 필요

2. 방안

2-1. 필요기능

1. 효율적인 검색

  • 어떻게 해야 테이블 정보를 효율적으로 검색 할 수 있을까?

2. 테이블 사용방법

  • 테이블이 어디에서, 어떻게 사용되는지 혹은 만들어지는지 알 수 없을까?

3. 데이터품질

  • 데이터품질을 효율적으로 관리 할 수 있을까?

2-2. 테이블 센터

  • 토스는 위 문제를 테이블센터 product 구축으로 해결
  • 토스의 모든 테이블 정보를 제공하는 서비스
  • 주요기능
    • 테이블 검색기능
    • 테이블 영향도 검색 기능
    • 데이터 품질관리 기능

1. 테이블 검색기능

  • 효율적 검색

    • 키워드 검색
    • 드릴다운 검색
      • DB타입 -> 서버호스트 -> 테이블 스키마 -> 테이블
    • 태그 검색
      • SNS의 해시태그와 같이 태그가 붙은 복수테이블 검색
      • 약어로 되어있는경우 타 팀이나 신규입사자의 경우 찾기 어려울 수 있으므로 정식명칭, 약어 등 여러 해시태그를 달 수 있다.

    테이블 검색 순서

    • 결과가 여러개인경우 조회순으로 정렬
  • 테이블 정보 수집 아키텍처

    • LIVE 배치수집
      • 4시간마다 배치 수집
      • 운영에 서버에 영향 방지 및 실시간 필요없다고 판단.
    • DW 실시간 조회
      • 단순한 메타 정보를 가져오는 쿼리가 많음
      • 데이터 분석시 즉각적인 테이블 생성/변경을 확인하고싶은 니즈가 많았음.
  • 테이블센터 리포

    • 테이블에 대한 모든 정보를 제공하는것을 목적
    • 표준용어/약어의 설명에 대해서는 모든 컬럼이 같은 설명을 하도록 관리

2. 테이블 센터의 영향도 검색기능

  • 테이블은 어디에서 어떻게 만들어지고 사용되는지 알 수 있을까?
  • 영향도검색
    • 테이블이 사용되는곳에 대한 설명이나 해당 링크로 이동 할 수 있는 기능 제공
    • 영향도 검색 사례
  • 영향도검색 아키텍처
    • 해당 테이블을 사용하는 table influence들의 정보를 데일리로 수집

3. 테이블 데이터품질 관리기능

  • 데이터 품질을 효율적으로 관리할 수 있을까?
  • 하둡은 특성상 기본적으로 완결성, 유일성, 유효성을 제공하지 않는다.
  • DQ관리 기능
    • 완결성, 유일성, 유효성이 필요한경우 DQ등록을 해 주어 Spark로 정기적 DQ실행
    • 이슈발생시 Slack대응
  • 검색된 테이블만 보면 충분할까?
    • 해당테이블과 연관된 테이블들 보여줌

추가기능

  • 비슷한테이블 클러스터링
  • 테이블 추천기능
    • 테이블 만들때 이미 비슷한 테이블이 있는지 확인용
  • 연관어 기능(태그 추가시)
  • 정합성을 퍼센트로 나타내는 기능
  • 제외어, 필수어 기능
  • pre eda 기능

Reference

https://www.youtube.com/watch?v=KUskYwqtPZM

profile
Data Analytics Engineer

0개의 댓글