data-quality

3 개의 포스트

meta4분 읽기큐레이션 요약

메타급 규모에서 데이터 수집 시스템 마이그레이션하기

Meta는 수 페타바이트 규모의 소셜 그래프 데이터를 매일 MySQL에서 데이터 웨어하우스로 수집하는 시스템을 기존 고객 소유 파이프라인에서 단순한 자체 관리형 아키텍처로 전환했다. 이 과정에서 수천 개 작업을 단계적으로 검증하고, 데이터 품질·지연 시간·리소스 사용량을 비교하며 안전하게 마이그레이션했다. 섀도 작업, 리버스 섀도, 자동화된 데이터 품질 분석, 신속한 롤백 체계를 통해 전체 워크로드를 성공적으로 이전하고 레거시 시스템을 폐기했다. ## 대규모 데이터 수집 시스템 개편 배경 - Meta의 소셜 그래프는 세계 최대 규모의 MySQL 환경 중 하나에서 운영된다. - 데이터 수집 시스템은 매일 수 페타바이트의 데이터를 증분 방식으로 데이터 웨어하우스에 적재한다. - 적재된 데이터는 다음과 같은 용도로 활용된다. - 분석 및 리포팅 - 머신러닝 모델 학습 - 제품 개발 - 사내 의사결정 및 데이터 기반 서비스 - 기존 시스템은 소규모에서는 효과적이었지만, 규모가 커지면서 엄격해진 데이터 적재 시간 요구사항을 안정적으로 충족하기 어려워졌다. - 이에 따라 고객 팀이 직접 운영하던 파이프라인을 단순한 자체 관리형 데이터 웨어하우스 서비스로 대체했다. ## 마이그레이션 성공 기준 각 작업은 다음 조건을 충족해야 다음 단계로 진행됐다. - **데이터 품질 일치** - 기존 시스템과 신규 시스템의 행 개수를 비교했다. - 데이터 체크섬을 비교해 두 시스템의 결과가 완전히 일치하는지 검증했다. - **적재 지연 시간 개선** - 신규 시스템의 데이터 적재 지연 시간이 기존보다 개선되거나 최소한 동등해야 했다. - **리소스 사용량 개선** - 컴퓨팅 및 스토리지 사용량이 기존보다 줄어들거나 최소한 비슷해야 했다. - **핵심 테이블 추가 기준** - 중요 테이블은 해당 데이터를 사용하는 팀들과 별도의 마이그레이션 조건을 합의했다. ## 1단계: 섀도 단계 - 사전 운영 환경에 신규 시스템 기반의 섀도 작업을 생성했다. - 섀도 작업은 운영 작업과 동일한 실제 데이터를 읽지만, 별도의 섀도 테이블에 결과를 기록했다. - 실제 운영 데이터와 동작을 사용하므로 다음과 같은 문제를 사전에 발견할 수 있었다. - 데이터 변환 오류 - 특수한 데이터 패턴에서 발생하는 예외 - 신규 시스템의 리소스 부족 - 운영 테이블과 섀도 테이블의 행 개수 및 체크섬을 지속적으로 비교했다. - 불일치가 발생하면 원인을 조사하고 사전 운영 환경에 수정 사항을 배포한 뒤 재검증했다. - 동시에 섀도 작업의 컴퓨팅·스토리지 사용량을 측정해 운영 환경에 충분한 자원이 있는지 확인했다. - 기준을 통과한 작업은 운영 환경에서도 안정적으로 실행되는지 추가로 검증했다. ## 2단계: 리버스 섀도 단계 - 신규 시스템의 섀도 작업이 운영 테이블에 데이터를 기록하도록 전환했다. - 기존 시스템의 운영 작업은 섀도 테이블에 데이터를 기록하게 했다. - 이로써 신규 시스템이 실제 운영 작업이 되고, 기존 시스템은 비교용 섀도 작업으로 역할이 바뀌었다. - 이 방식의 장점은 다음과 같다. - 전환 이후에도 기존 시스템과 신규 시스템의 결과를 계속 비교할 수 있다. - 데이터 불일치가 발견되면 기존 작업을 다시 구성하지 않고 즉시 되돌릴 수 있다. - 신규 시스템이 실제 운영 환경에서 지속적으로 안정적인지 확인할 수 있다. ## 3단계: 마이그레이션 정리 - 두 시스템의 결과를 계속 비교하면서 불일치 여부를 감시했다. - 문제가 발견되지 않으면 기존 시스템에서 실행 중인 섀도 작업을 제거했다. - 이후 신규 시스템이 운영 작업으로서 데이터 적재를 계속 수행하며 마이그레이션이 완료됐다. ## 자동화된 데이터 품질 분석 도구 - 각 섀도 테이블 파티션과 대응하는 운영 테이블 파티션을 읽어 행 개수와 체크섬을 비교했다. - 불일치 내역은 Meta의 실시간 데이터 분석 시스템인 Scuba에 기록했다. - 매시간 Scuba 로그를 분석해 불일치를 일으킨 실제 예시 행을 찾았다. - 원인 분석에 필요한 상세 디버깅 정보도 다시 Scuba에 기록했다. - 이를 통해 엔지니어는 다음을 빠르게 판단할 수 있었다. - 불일치의 근본 원인 - 이미 알려진 문제인지 여부 - 해당 문제가 수정 진행 중인지 여부 - 이 도구는 마이그레이션 이후에도 릴리스 검증 과정에서 계속 사용되고 있다. ## CDC 기반 구조와 롤백 문제 - 기존 시스템과 신규 시스템 모두 CDC(Change Data Capture)를 사용해 변경분을 대상 테이블에 증분 반영했다. - 각 작업은 다음 테이블을 관리한다. - 소스 데이터베이스의 전체 덤프를 저장하는 내부 테이블 - 소스 변경 사항을 저장하는 델타 테이블 - 데이터 소비자가 사용하는 대상 테이블 - 작업 엔터티, 테이블 이름, 스키마 등의 메타데이터는 중앙 관리 서비스가 관리했다. - CDC에서는 이전에 적재된 데이터가 이후 데이터 생성에 다시 사용된다. - 따라서 과거 데이터에 문제가 있으면 해당 문제가 신규 적재 데이터로 계속 전파될 수 있다. - 마이그레이션 후 문제가 발생하면 잘못된 데이터가 계속 확산되는 것을 막기 위해 신속한 롤백이 필요했다. ## 조기 신호와 신속한 롤백 - 데이터 소비자가 문제를 발견할 때까지 기다리지 않고, 리버스 섀도 단계에서 두 시스템의 결과를 지속적으로 비교했다. - 이를 통해 마이그레이션 성공 여부에 대한 조기 신호를 확보했다. - 문제가 발견되면 기존 시스템이 이미 섀도 작업으로 실행 중이므로 빠르게 이전 상태로 되돌릴 수 있었다. - 마이그레이션 작업을 처음부터 다시 생성하거나 재구성하지 않아도 된다는 점이 롤백 위험을 줄였다. 대규모 데이터 시스템을 이전할 때는 한 번에 전환하기보다, 실제 데이터 기반의 섀도 실행과 양방향 역할 전환을 통해 검증하는 방식이 안전하다. 특히 행 개수·체크섬·지연 시간·리소스 사용량을 자동 비교하고, 문제가 생겼을 때 즉시 롤백할 수 있는 구조를 마이그레이션 설계에 포함하는 것이 중요하다.

원문 읽기(새 탭에서 열림)
toss원문

토스 피플 : 데이터를 ‘이해하는’ 구조를 설계합니다 (새 탭에서 열림)

데이터의 품질은 사후 수습이 아닌 생성 단계의 초기 설계에서 결정되며, 특히 AI 시대에는 사람뿐만 아니라 기계도 데이터의 맥락을 완벽히 이해할 수 있는 의미 기반의 구조 설계가 필수적입니다. 토스는 이를 위해 데이터의 생성부터 활용까지 전 과정을 관리하는 'End-to-End 데이터 거버넌스'를 지향하며, 개발 속도를 저해하지 않으면서도 품질을 높이는 유연한 설계 표준을 구축하고 있습니다. 결과적으로 데이터 아키텍처는 단순한 규칙 강제가 아니라 비즈니스의 빠른 변화 속에서 데이터의 정합성을 유지하고 AI와 사람이 신뢰할 수 있는 기반을 만드는 핵심적인 역할을 수행합니다. **데이터 설계의 본질과 품질 관리의 전환** * 데이터의 품질은 분석 단계에서의 정제가 아니라, 데이터가 처음 만들어지는 순간의 설계(Design)에 의해 결정됩니다. * 서비스가 빠르게 변하는 플랫폼 환경에서는 데이터 수습에 에너지를 쏟는 사후 대응보다, 데이터가 생성되는 흐름부터 구조적으로 정리하는 사전 설계가 중요합니다. * '속도'와 '품질'은 대립하는 가치가 아니며, 설계 시 미래의 변화 가능성을 고려한 유연한 기준선을 마련함으로써 두 가치 사이의 균형을 잡아야 합니다. **AI가 이해할 수 있는 의미 중심의 데이터 구조** * 현대의 데이터 아키텍처는 사람뿐만 아니라 AI가 질문하고 분석하는 시대를 대비하여 기계가 읽을 수 있는(Machine-readable) 형태로 진화해야 합니다. * 단순한 메타데이터 관리를 넘어, 데이터 간의 의미 관계를 명확히 하는 '의미 기반 표준 사전'과 '온톨로지(Ontology)'를 도입하여 AI가 맥락을 놓치지 않도록 설계합니다. * 데이터 간의 연결 고리를 명확히 설계함으로써 AI가 스스로 의미를 추론하며 발생할 수 있는 해석 오류를 줄이고 데이터의 신뢰성을 극대화합니다. **실천적인 데이터 거버넌스와 아키텍트의 역할** * 효과적인 거버넌스는 규칙을 강제하는 것이 아니라, "표준을 따르는 것이 오히려 더 편하다"고 느낄 수 있도록 자연스러운 프로세스를 설계하는 것입니다. * 비즈니스의 빠른 사이클 속에서 모든 것을 완벽하게 설계하기보다, 현재 맥락에 맞으면서도 나중에 무리 없이 정리할 수 있는 '확장성 있는 여지'를 남겨두는 전략이 필요합니다. * 데이터 아키텍트는 거창한 담론에서 시작하는 것이 아니라, 작은 구조 하나를 더 낫게 만들고 싶어 하는 데이터 엔지니어와 분석가 모두가 도달할 수 있는 전문 영역입니다. 데이터 아키텍처는 단순히 테이블 명세서를 관리하는 일이 아니라 비즈니스의 복잡도를 구조로 풀어내는 일입니다. 고품질의 데이터를 유지하면서도 개발 속도를 잃지 않으려면, 초기 설계 단계에서부터 AI와 협업할 수 있는 표준 체계를 구축하고 이를 조직 내에서 자연스럽게 수용할 수 있는 '실현 가능한 거버넌스 모델'을 고민해 보는 것이 좋습니다.

figma3분 읽기큐레이션 요약

입력과 출력에 관한 오

AI의 성능과 영향력은 모델보다 입력 데이터의 품질에 훨씬 크게 좌우된다. 오베타 샘슨은 제품 개발자가 문제에 필요한 최소한의 데이터, 즉 최종 사용자와 사업 목적을 충분히 대표하면서도 불필요한 인간적 위험을 키우지 않는 ‘최소 실행 가능 데이터(minimum viable data)’를 고민해야 한다고 주장한다. 데이터는 중립적이지 않으며, 누구를 포함하고 배제했는지가 AI의 결과와 피해를 결정한다. ## 데이터는 사람과 분리될 수 없다 - 데이터는 저절로 존재하지 않는다. 사람이 생성하고, 수집하고, 분류하고, 가공하고, 해석한다. - 따라서 데이터의 누락이나 편향은 단순한 기술적 결함이 아니라 특정 집단의 경험과 존재가 배제된 결과일 수 있다. - 제품 개발자가 데이터 포인트를 사람과 분리해 바라보면, 사회적·문화적·경제적 차별이 반영된 ‘트라우마를 가진 데이터셋’을 만들 수 있다. - 샘슨은 “데이터 없이는 AI와 ML이 없고, 사람 없이는 데이터도 없다”고 강조한다. ## 역사적 배제가 모델의 편향을 만든다 - 미국의 신용평가 모델은 여성의 금융 접근이 제한되던 시대의 데이터를 바탕으로 발전했다. - FICO 점수의 기반이 된 수학 공식은 1958년에 작성됐다. - 하지만 미국 여성은 1970년대까지 주택담보대출을 받거나 신용카드를 독자적으로 신청하기 어려웠다. - 미국 인구조사는 1790년부터 이어졌지만 LGBTQ 개인을 공식적으로 인정한 것은 2021년에 이르러서였다. - 이처럼 과거 데이터에 특정 집단이 기록되지 않았다고 해서 그들이 존재하지 않았던 것은 아니다. - 오래되고 규모가 큰 데이터셋이라도 대표성이 부족하면, 이를 학습한 모델은 현실의 일부 사람들에게 불리한 결정을 내릴 수 있다. ## 모델보다 입력 데이터가 더 중요하다 - 샘슨은 AI 출력의 품질이 거의 전적으로 입력, 즉 데이터에 달려 있다고 설명한다. - 학습 데이터의 구성과 품질이 모델의 예측 방식과 결과를 사실상 결정한다. - 따라서 다음 질문이 모델 개발보다 먼저 다뤄져야 한다. - 무엇을 좋은 데이터와 나쁜 데이터로 판단할 것인가? - 어떤 사람이 데이터 수집과 포함 여부를 결정하는가? - 문제를 해결하는 데 데이터가 얼마나 필요한가? - 데이터가 대상 사용자를 공정하게 대표하는가? - 데이터가 부족하거나 편향된 상태에서 더 정교한 모델을 사용해도 근본적인 문제는 해결되지 않는다. ## ‘최소 실행 가능 데이터’의 기준 - 먼저 해결하려는 문제가 실제로 무엇인지 명확히 정의해야 한다. - AI나 ML을 적용할 수 있다는 이유만으로 반드시 사용해야 하는 것은 아니다. - 다음 조건을 충족하는지 검토해야 한다. - 해당 문제에 AI·ML이 적합하고 바람직한가? - 수집하려는 데이터가 공정하고 품질이 높은가? - 최종 사용자 집단을 충분히 대표하는가? - 더 많은 데이터를 모으는 과정에서 개인정보 침해나 차별 등 인간적 위험이 커지지 않는가? - 문제 해결에 필요한 최소 범위를 넘어 과도한 데이터를 수집하고 있지는 않은가? - 핵심은 가장 큰 데이터셋이나 가장 복잡한 모델이 아니라, 목적에 맞는 충분하고 공정한 데이터다. ## 데이터 작업을 제품 개발의 중심에 두기 - AI 업계에서는 모델 설계와 기능 구현이 주목받지만, 데이터 정제·라벨링·검증 같은 작업은 상대적으로 간과되기 쉽다. - 그러나 데이터의 출처, 수집 방식, 라벨 기준, 누락된 집단을 점검하지 않으면 모델 개발 전체가 잘못된 방향으로 진행될 수 있다. - 샘슨은 데이터와 알고리즘의 사회적 영향을 이해하기 위해 다음 자료를 추천한다. - 캐시 오닐, 『대량살상 수학무기』 - 메리 L. 그레이·시드하르트 수리, 『고스트 워크』 - “Everyone wants to do the model work, not the data work” 제품을 만들 때는 “AI를 사용할 수 있는가?”보다 “누구를 위해 어떤 문제를 해결하며, 그에 필요한 데이터가 공정하고 충분한가?”를 먼저 물어야 한다. 필요한 범위의 대표성 높은 데이터를 정의하고, 배제된 사용자와 잠재적 피해를 지속적으로 검토하는 것이 책임 있는 AI 개발의 출발점이다.

원문 읽기(새 탭에서 열림)