(원문: 링크)
아래 글은 2023 Data + AI Summit에서 코인베이스의 소프트웨어 엔지니어 Chen Guo가 발표한 내용을 요약한 글입니다.
발표자인 Chen은 코인베이스의 소프트웨어 엔지니어로, 이 세션에서는 코인베이스에서 개발한 SOON (Spark cOntinuOus iNgestion) 이라는 스트리밍 수집 프레임워크에 대해 거의 실시간 수준의 데이터 처리를 어떻게 달성하는지 설명합니다. 이 세션은 문제 해결을 위한 목표, SOON 프레임워크의 구체적인 구현 방식, 다른 데이터 시스템과 특히 Snowflake에서의 점진적 데이터 로드에 대한 논의로 구성되어 있습니다.
도전 과제
코인베이스가 직면했던 문제 중 하나는 업스트림 데이터베이스에서 다운스트림 데이터 웨어하우스 또는 데이터 레이크까지의 테이블 복제 지연 시간이었습니다. 중요한 작업인 애드혹 분석, 실시간 고객 지원, 모니터링 등에서는 데이터 지연 시간이 짧아야 합니다. 그래서 높은 데이터 품질로 빠른 데이터 복제를 보장하는 것이 필수적입니다. 또한, 매일 완전히 재구축되는 테이블을 처리하는 데 주기적인 재동기화 작업이 필요하여 어려움이 있었습니다. 두 번째 과제는 회사가 성장하면서 다양한 데이터베이스를 도입하고 다양한 설계, 코드베이스, 프로그래밍 언어를 사용하게 되면서 발생했습니다. 이러한 다양성으로 인해 운영 오버헤드가 발생하여 데이터 수집 팀이 여러 코드베이스를 유지 관리하기가 어렵고, 서로 다른 문서와 DSL로 인해 사용자 경험에 일관성이 떨어지는 문제가 발생했습니다.
솔루션
SOON은 코인베이스에서 도입한 프레임워크로, 업스트림 데이터베이스에서 다운스트림 데이터 웨어하우스 또는 데이터 레이크까지 빠르고 고품질의 데이터 복제를 위한 솔루션입니다. SOON은 Spark 구조화된 스트리밍 API를 사용하여 구현되었으며, Kafka에서 Delta Lake까지의 스트리밍 인젝션을 담당합니다. SOON 프레임워크는 테이블 복제와 Kafka 수집을 통합하여 다양한 시나리오에 대한 추가 전용 업데이트와 병합 업데이트를 모두 지원합니다. 이 프레임워크는 카프카 소스 커넥터에서 방출되는 CDC(Change Data Capture) 이벤트를 활용하여 테이블 복제를 수행하고, 일반 비-CDC 이벤트를 처리하여 Kafka 수집을 수행합니다. SOON 파이프라인은 Spark를 실행하고, Kafka에서 데이터를 읽어 Delta Lake에 쓰는 구조로 구성됩니다. 또한 현재는 Snowflake와의 통합을 일회성 복사본을 통해 수행하고 있으며, 데이터베이스에서 S3로 직접 내보내는 방법도 검토 중입니다. 사용자는 SOON 프레임워크를 사용하여 Kafka 토픽 생성, Kafka 소스 커넥터 온보딩, SOON사양 파일 구현 등 구조화된 플로우를 따를 수 있습니다. 또한, 외부 서비스로 메타데이터를 내보내는 작업을 포함한 모니터링 흐름을 구축하고, 사용자 포털을 개발하여 운영을 간소화할 계획입니다. SOON 프레임워크는 최소 최대 범위 최적화, 정리 범위 최적화, 병합 최적화와 같은 최적화 기능을 제공하여 성능을 향상시키고 데이터 복제 시간을 단축합니다. 또한, 스노우플레이크에 대한 증분 로드를 지원하여 업데이트와 삭제를 효율적으로 처리하는 문제도 해결할 수 있습니다.
영향
SOON 프레임워크의 도입은 상당한 영향을 가져왔습니다. 이 프레임워크의 구현으로 대규모 테이블의 성능이 20% 향상되어 데이터 복제 시간이 줄어들었습니다. 추가적인 최적화 기능인 최소 최대 범위 및 정리 범위도 적용하여 특정 시나리오에서는 성능이 15~20% 더 향상되었습니다. 또한, SOON 프레임워크를 통한 스노우플레이크 통합은 변경 데이터 피드(CDF) 기반의 테이블 복제 서비스에서 가능하게 하여 델타 레이크와 스노우플레이크 간의 증분 동기화를 실현할 수 있었습니다. 이 접근 방식은 하드 삭제 문제와 관련된 문제를 해결하고 점진적인 데이터 복사를 위한 방법론을 제공합니다. 통합 프레임워크의 도입으로 사용자 경험을 간소화하여 일관된 온보딩 프로세스를 제공하고, 다양한 데이터베이스 및 코드베이스 관리와 관련된 운영 오버헤드를 줄일 수 있었습니다. 또한, SOON 프레임워크는 현재의 사용 사례를 지원할 뿐만 아니라 Data Lake에서 다른 데이터 시스템으로의 역방향 ETL 등 미래의 탐색을 위한 토대를 마련합니다. 요약하자면, SOON 프레임워크를 통해 성장에 따른 높은 복제 지연 시간과 운영 복잡성이라는 과제를 효과적으로 해결하여 성능 향상, 운영 간소화, 향후 데이터 통합 요구사항에 대한 유연성 증가라는 결과를 얻을 수 있었습니다.
'사용 사례 > 금융' 카테고리의 다른 글
Coins.ph - 데이터와 머신러닝을 활용한 디지털 결제의 재창조 (0) | 2023.12.13 |
---|---|
[블록체인] 코인베이스가 데이터브릭스 레이크하우스로 데이터 아키텍처를 구축한 방법 (0) | 2023.12.13 |
[증권] Credit Suisse - 데이터와 AI로 금융 서비스 현대화 (1) | 2023.12.08 |
[증권] 모건 스탠리 - 데이터브릭스 머신러닝으로 최고의 고객 참여 서비스 제공하기 (1) | 2023.12.05 |