분류 전체보기

1. 개요Flink CDC 파이프라인은 "재처리"를 피할 수 없다. 분산 스트리밍 시스템은 이론적으로는 아름답지만, 현실은 변수가 많습니다. 소싱하는 Kafka 토픽의 파티션이 갑자기 늘어나고, 노드가 OOM으로 죽고, 디스크가 가득 차고, GC로 인해 타임아웃이 발생할 수 있습니다. Apache Flink 기반의 CDC 파이프라인도 마찬가지입니다.현시점 기준으로 스트리밍 파이프라인 중 운영 환경에서 장애를 고려하지 않은 시스템은 아마 없을 것이라 생각합니다. Flink는 이러한 장애에 대응하기 위해 체크포인트(Checkpoint) 메커니즘을 제공하고 있습니다. 주기적으로 스트림 처리 상태를 스냅샷으로 저장하고, 장애 발생 시 마지막으로 성공한 체크포인트로부터 복구합니다. 단, 이번 포스팅에서 이야기하고..
· 오픈소스
https://github.com/apache/flink-cdc/pull/4277 [FLINK-39055] [Iceberg] Support default column values in Iceberg sink connector by suhwan-cheon · Pull Request #4277 · apache/Summary In the Iceberg table version 3, default value support for columns https://iceberg.apache.org/spec/#version-3-extended-types-and-capabilities Add default column value support for Iceberg...github.com Iceberg 1.8.0부터 소개된..
https://iceberg.apache.org/spec/?h=deletion+vec Spec - Apache Iceberg™Iceberg Table Spec This is a specification for the Iceberg table format that is designed to manage a large, slow-changing collection of files in a distributed file system or key-value store as a table. Format Versioning Versions 1, 2 and 3 of the Iceberg siceberg.apache.orgIceberg v1.8.0부터 생겨난 Deletion Vectors 기능에 대해 살펴봅니다. 탄..
OLAP(Online Analytical Processing) 시스템의 가장 기본적인 컴포넌트 구조는 위와 같이 정리할 수 있습니다.가장 기초적인 컴포넌트부터 알아봅시다. StorageOLAP은 기본적으로 방대한 데이터를 저장하고, 분석하는 것을 목표로 합니다.만약 아주 적은 데이터라면 굳이 OLAP을 쓸 필요 없이 OLTP로 트랜잭션, 분석을 동시에 해도 상관 없기 때문입니다. OLAP에서 사용하는 스토리지는 이런 선택지가 있습니다.로컬 파일 시스템분산 파일 시스템 (HDFS)객체 스토리지 (S3)또한 저장 방식의 유형과 관련해, 행 지향(Row-oriented) 데이터베이스와 열 지향(Columnar) 데이터베이스를 사용할 수 있습니다.최근에는 열 지향 데이터베이스가 방대한 양의 데이터를 처리할 때 ..
· 오픈소스
https://github.com/apache/flink-cdc/pull/4249 [FLINK-38985][docs] Add documentation for VARIANT type and PARSE_JSON functions by suhwan-cheon · Pull Request #4249 · apache/Summary Add documentation for VARIANT type support and PARSE_JSON/TRY_PARSE_JSON functions introduced in recent PRs. (in https://issues.apache.org/jira/browse/FLINK-38874 issue - sub tasks) Notes ...github.com Flink 2.1.0에서 반정..
· 오픈소스
Issuehttps://issues.apache.org/jira/browse/FLINK-38247 [FLINK-38247] MySqlChunkSplitter may continuously generate splits when using BIGINT UNSIGNED as primary key - ASF JiraMySqlChunkSplitter may continuously generate splits when using BIGINT UNSIGNED as primary key, The following log illustrates this point: 2025-08-12 18:10:37,885 INFO org.apache.flink.cdc.connectors.mysql.source.assigners.MySq..
· 독서
책https://www.yes24.com/product/goods/152644797 시대예보: 경량문명의 탄생 | 송길영 | 교보문고 - 예스24거대함은 더 이상 안전을 보장하지 않는다.가볍고 빠르게 적응하는 조직과 개인만이 살아남는 ‘경량문명’의 탄생을 선언합니다.지금 우리 사회의 화두 중 하나는 ‘희망퇴직’이다. 몇 년 전www.yes24.com책은 이런 책 😄선정 이유는 최근에 많이 들어본 베스트셀러여서.. 일단 책이란 걸 읽어보자 싶어 가져왔다.앞선 시리즈가 있지만 읽으면서 전작들과 크게 연결성이 있다고 느끼진 못했다.시대의 흐름을 알려주는 시리즈의 특성상 일단 가장 최신 작을 읽어보고 맘에 든다면 그 이전 것들도 보는 것을 추천한다. 배경 설명책에 나오는 새로운 어휘들에 대한 설명 겸 컨텍스트..
· 독서
2026년 새해 목표 중 하나로 한 달에 한 권 책 읽고 내 생각 정리하기를 세웠다. 이런 계획을 세운 이유는 여러 가지가 있다.첫 번째는 그 동안 책을 너무 안 읽다보니 스스로에게 일상생활에서의 문장력이 떨어진 것 같다는 느낌이 들었고두 번째는 유튜브, 넷플릭스 등 다른 사람이 생각하고 만든 편집물을 필터링 없이 보다보니 정작 내 생각이 무엇인지 모르겠다.세 번째는 AI가 일상화되면서 앞의 것들이 앞으로 더 심해질 것이라는 확신이 들었다. 그래서 한 달에 한 권이라도 책을 읽으면서 내가 느낀 생각들을 조잘조잘 적어볼 생각이다.(이번엔 진짜 꾸준히 작성할거다.. 😅) 앞으로 적을 내용들은 단순히 책 내용을 요약한 정리본이 아닌 책 내용을 기반으로 내가 어떤 생각을 했는지를 기록한다.이 글을 공개적인 곳..
개요SQL coalesce 함수, CTE(Common Table Expressions)에 대해 알아보아요 참고DataExpert.io SQL 문제https://www.dataexpert.io/questions Data Engineer SQL Questions www.dataexpert.io  1. SQL coalesce 함수SQL의 COALESCE 함수는 데이터 처리에서 결측치(NULL)를 처리할 때 유용하게 사용되는 함수입니다. 사용방법주어진 인자들 중 첫 번째로 NULL이 아닌 값을 반환합니다.mysql> SELECT COALESCE(NULL,1); -> 1mysql> SELECT COALESCE(NULL,NULL,NULL); -> NULL 여러 개의 인자를 받을 수 있고, ..
· 일상
1. 개요Databricks에서 주관하는 Databricks Certified Associate Developer for Apache Spark(scala) 자격증 취득 후기 https://www.databricks.com/learn/certification/apache-spark-developer-associate Databricks Certified Associate Developer for Apache Spark | DatabricksThe Databricks Certified Associate Developer for Apache Spark certification exam assesses the understanding of the Spark DataFrame API and the ability..
개요얼마 전, 토스 컨퍼런스에서 주니어 개발자들을 위한 몇 가지 팁에 대한 발표를 들은 적이 있다.발표에서 들은 많은 도움이 된 내용들이 있었지만 그 중 기억에 남는 것은 아래의 내용이었다.개발자라서 커뮤니케이션, 문서 작성을 미숙하게 하는 것이 아니라 그만큼 관련 업무가 어렵고 복잡하다(그에 대한 해결법으로 제시해주신 것은 도식화!) 마침 블로그를 다시 시작하는 김에 글쓰기 관련 책을 읽으면서 블로그 글을 어떻게 작성하면 좋을 지 생각했고더 구체적으로는 어렵고 복잡한 내용의 경우 어떤 식으로 생각을 정리하고 문서를 작성할 지에 대한 방법론에 대해 찾아본 책의 내용을 몇 가지 정리해보려 한다.  요약문서 시작 부분에 3줄 요약을 적어두자강조색은 글을 모두 작성한 후 여기다! 싶은 곳에만 쓰자결론부터 말하..
1. 소개 Previous_gtids_log_event 는 MySQL DB 에서 발생하는 binlog event 중 하나로 직전 binlog 파일에 기록된 gtid_executed 를 담고 있는 이벤트이다. gtid_executed 는 특정 DB 에 지금까지 발생한 모든 GTID 들을 간소화된 형태로 저장하고 있는 값인데, 아래와 같은 형태를 띄고 있다. 하나의 GTID 묶음 형태 일수도 있고 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5 복제에 의해 여러 개의 DB 에서 파생되어 진 경우, 각각의 DB 마다 id 값이 달라 여러 개의 GTID 묶음이 될 수 있다. 2174B383-5441-11E8-B90A-C80AA9429562:1-3, 24DA167-0C0C-11E8-844..
suhwanc
'분류 전체보기' 카테고리의 글 목록