반응형

1.airbyte 란?

  • 오픈소스 데이터 통합 플랫폼 (ELT)
  • api , database, warehouse , application 간 데이터 sync, 즉 동기화 를 돕는 , 가능하게 해주는 소프트웨어 라고 하지만 내생각엔 아직 툴..
  • 데이터 통합 상품
  • 장점
    • built for extensibility
      • 커넥터 추가가 쉽고 확장성을 제공한다.
    • optional nomalized schemas
      • 선택적으로는 스키마를 정규화 할 수 있다.
    • Full grade schfeduler
      • 필요한 만큼 replication 을 자동화 할 수 있다.
    • real - time monitoring
      • 모든 로그를 모니터링 하고, 기능으로 제공한다.
    • incremental updates
      • replication 이 증분 업데이트를 기반으로 동작하여 transfer cost 를 줄여준다.
    • manual full refresh
      • 원할 때 수동으로 refresh 가 가능하다.
  • 단점
    • Stable 릴리즈 버전 없음, 아직 알파
    • 사용자 액세스 관리에 대한 지원 부족

 

2. 왜 airbyte ?

  • 기존 ETL 기반의 아키텍쳐에서 ELT 기반으로 리아키텍쳐링 할 때, 원본 데이터 소스를 이관 및 sync 해주는 역할이 중요해졌고, airbyte 가 시장에 빠르게 진입 했다고 생각한다.
  • 손쉽게 커넥터 설치만으로 데이터 연동 및 sync 가 가능해졌고, 충분한 UI 를 제공하고 있다.
  • airflow 로도 비슷한 구현을 할 수 있지만 개발이 필요한데.. 얘는 개발도 안해도 되고 CDC 옵션까지 제공한다.
  • 커넥터가 정말 많고 다양하게 지원한다.

3. airbyte 구성 요소

  • UI
    • airbyte 사용자를 위한 GUI
  • WebServer
    • UI 와 API 사이에서 발생하는 이벤트를 핸들링 하는 웹 서버
  • Config Store
    • 커넥션 정보들을 담고 있음 ( credential, 주기 등등.)
  • Config API
    • airbyte 의 main controle plane. 직역하면 관리영역이고, airbyte 의 모든 operation(동작) 들. API 콜 포함하여 설정하고 Inovoke 를 수행한다.
  • Scheduler
    • API 로 요청을 받고 Temporal Service 로 병렬적으로 보낸다. 잡의 성공/실패를 트래킹 하는 역할도 있다.
  • Scheduler Store
    • 예약된 스케쥴 job 정보가 저장된 곳
  • Temporal Service
    • 큐에 쌓이는 Task 와 workflow. 를 관리한다.
  • Worker
    • 소스 커넥터에 연결하고, data 를 받아와 목적지에 쓰는 역할을 수행한다
  • 지원되는 동기화 모드
    • full refresh - overwrite - 전체 새로고침 덮어쓰기 , 모든 데이터를 다시 동기화 하고 교체
    • full refresh - append - 전체 새로고침 추가 , 모든 행을 다시 동기화 하고 복제
    • incremental append - 증분 추가 , 새 행을 동기화하고 이미 동기화된 행뒤에 추가
    • incremental dedupe history - 중복 제거된 증분 추가, 새 행을 동기화 하고 동기화된 행을 추가하며 증분 중복제거를 기록

위 구성 컴포넌트들의 이름이 조금 다르게 되있지만 컨테이너의 로그를 보면 대략적으로 어떤 데몬이 해당 컴포넌트 역할을 하는지 알 수 있다.

 

** airbyte 는 job 이 수행될 때 동적으로 해당 job의 컨테이너가 새로 생성되서 동작한다. 관리형 컨테이너 서비스를 써서 구축한다면 참고하길 바란다.

 

 

참조 

https://airbytehq.github.io/understanding-airbyte/high-level-view/

 

Architecture overview | Airbyte Documentation

A high level view of Airbyte's components.

docs.airbyte.com

 

 

 

반응형

+ Recent posts