Lab Image

Debezium LAB

모임 기간

2024.02.03 -

모임 일시

매주 토요일 14:00 ~ 16:00

장      소

강남

모집 기간

2024.01.15 - 2024.10.27

모집 인원

7명

선발 방식

사전 질문 기반 심사

랩 소개
운영 방식
참여 요건
랩장 소개

⭐️ 랩 소개

한 줄 소개
실시간으로 데이터를 나르는 IT의 심장, Debezium에 기여하는 랩
분야
ENGINEERING
목표 결과물
OPEN_SOURCE
Debezium LAB은 오픈소스 CDC 솔루션인 Debezium에 대해 이해하고, 기여하는 것을 목표로 하는 랩입니다. 먼저 CDC와 Debezium에 대해 간략하게 설명드리겠습니다. [CDC] CDC는 전체 데이터셋을 조회하는 대신 (네... 자정마다 메트릭이 치솟는 그 방법이요... 😮‍💨) 변경된 데이터만을 실시간으로 처리하여 효율적인 데이터 복제 및 동기화를 지원합니다. 실시간 데이터 분석, 데이터 가공, 데이터 필터링에 사용될 수 있으며, 데이터 웨어하우스, 데이터 레이크, 데이터 메쉬와 각종 데이터 파이프라인의 핵심적인 구성요소로 활용되고 있습니다. 아래는 CDC를 직접 구현하여 적용 사례입니다. 네이버: https://deview.kr/2021/sessions/495 카카오: https://elseif.kakao.com/2020/session/99 카카오뱅크: https://mk.kakaocdn.net/dn/if-kakao/conf2019/conf_video_2019/1_102_01_m1.mp4 [Debezium] Debezium은 오픈소스 CDC 솔루션으로, 데이터베이스에서 행 단위 변경사항(DML)을 모니터링하여 실시간으로 Kafka에 스트리밍하는 역할을 수행합니다. 가장 많이 사용되는 오픈소스 CDC 솔루션으로서, Ubisoft, Reddit, Okta 등 글로벌 기업들에서 사용 중이며 아래와 같은 국내 기업에서도 활용 중입니다. 라인: https://engineering.linecorp.com/ko/blog/line-shopping-platform-kafka-mongodb-kubernetes 우아한형제들: https://techblog.woowahan.com/10000/ LGU+: https://medium.com/uplusdevu/debezium으로-db-synchronization-구축하기-1b6fba73010f [Debezium LAB] 열정적인 분들이 모여 Debezium을 연구하고, 더 나아가 Debezium 컨트리뷰터로 거듭나는 것이 본 LAB의 목표입니다. Debezium의 사용 보다는 개발에 초점을 맞춰서 진행될 예정입니다. 도메인 지식(CDC, 데이터 엔지니어링, 아키텍처 설계) 그리고 오픈소스 개발에 관심 있는 분들의 지원을 기다리겠습니다. 🤗 * 관련 이슈가 있다면 관련 오픈소스 프로젝트에 대해서도 연구하고 기여할 수 있습니다. 예시1: Apache NiFi, Maxwell와 같은 다른 CDC 오픈소스 예시2: mysql-binlog-connector-java와 같이 실시간 데이터 변경분을 스트리밍할 수 있는 DB client

⭐️ 운영 방식

[주요 활동] - 스터디: 매주 Debezium의 구성요소 하나를 정해서 한 분이 주도적으로 발표 & 다른 분들도 인사이트 공유 - 기여: 버그 헌팅, 이슈 해결, 기능 개발 등의 기여를 진행 (혼자 혹은 그룹을 이루어서) - 네트워킹: Red Hat 개발자, Debezium 메인테이너 및 컨트리뷰터와의 네트워킹 및 협업 [정기 모임] - 시간: 매주 토요일 14:00 ~ 17:00 (협의 가능) - 장소: 모두의 연구소 강남 캠퍼스 - 내용: 스터디 먼저 진행 후 기여 진행 [비정기 모임] - 집중적인 개발이 필요할 경우에는 온/오프라인 해커톤을 비정기적으로 개최할 예정입니다. - 스터디 참여에 지장이 가지 않는 한에서 소모임을 만들어 관련 주제에 대해 연구를 진행할 수 있습니다. - 희망자에 한해서 모임 끝나고 식사를 하면서 랩원들 간 네트워킹을 진행할 예정입니다.

⭐️ 커리큘럼

⭐️ 참여 요건

다음의 스킬들을 기본적으로 갖추고 있다고 전제하고 진행될 예정입니다. 혹시 부족한 스킬이 있다면 LAB 시작 전에 공부해주세요. [Database 관련 스킬] - DB 클라이언트를 활용하여 DB에 연결 가능 - SQL문의 종류 DML(DQL 제외), DDL을 구분 가능 - INSERT, UPDATE, DELETE문 작성 가능 [Kafka 관련 스킬] - Kafka와 Kafka Connect의 개념 이해 - produce 및 consume 경험 - broker와 topic의 개념 이해 [개발 관련 스킬] - Java 언어를 읽고 쓸 줄 앎 - Java 디버깅 가능 - Git과 Git 호스팅 서비스를 활용한 협업 가능 [소프트 스킬] - 다국적 오픈소스 컨트리뷰터와 영어 작문으로 의사소통 가능 - 혼자 고민하기 보다는 적극적인 논의와 토론을 통해 목표에 도달하는 성향 - Top-Down으로 주어진 태스크에 만족하는 성향보다는 오너십과 호기심을 갖고 자신만의 태스크를 개척해나가는 Bottom-Up 성향

⭐️ 사전 질문

깃헙 프로필 URL 공유해주세요.
링크드인 계정이 있으시다면 프로필 URL 공유해주세요.
운영중인 기술 블로그가 있다면 URL을 공유해주세요.
랩 참여 조건 혹은 Debezium과 관련된 경험과 지식이 있다면 말씀해주세요.
오픈소스 관련 경험이 있으시다면 말씀해주세요.
관심이 있는 Debezium 구성요소나 기여하고 싶은 이슈가 있다면 말씀해주세요.
본인에게 할당된 개인별 스터디 태스크 이외에도 랩 운영을 위한 공동의 태스크를 맡게 되실 수도 있습니다. 동의하시나요?

⭐️ 랩장 소개

avatar_img
장동욱
카카오 · dongwook.chan@gmail.com
서비스보다는 기술적인 요구사항들을 개발하는 업무를 맡아왔습니다. - python-mysql-replication 메인테이너 - python-mysql-replication을 활용하여 전사 CDC 솔루션 LOMIO 개발 - '23 OSSCA python-mysql-replication 리드 멘토