interlinear

실무자와 개발자 사이비즈니스 앱과 에이전트 사이자연어와 기계어 사이

Dataflow Gen2 Fast Copy: 큰 테이블은 이 옵션을 켜세요

Dataflow Gen2가 큰 원본에서 느려지는 이유와, Fast Copy가 Copy activity 백엔드로 우회해서 8배까지 빨라지는 원리를 정리했어요.

원문: Announcing the General Availability of Fast Copy in Dataflows Gen2 게시일: 2024-09-26 · 저자: yexu (Microsoft Fabric 팀)

Dataflow Gen2로 몇백만 행짜리 원본 테이블을 가져와 본 적 있다면, 새로고침이 한참 걸리는 걸 느껴봤을 거예요. Power Query 편집기가 예쁘게 보여주는 미리보기와 달리, 실제 새로고침은 M 엔진1이 행 단위로 데이터를 훑으면서 각 단계를 적용하는 구조예요. 작은 테이블에서는 티가 안 나지만, 대용량으로 가면 이 방식 자체가 병목이 돼요.

여기서 쓰는 옵션이 Fast Copy예요. 새 기능을 추가로 켜는 게 아니라, 크기 조건을 넘으면 Dataflow Gen2가 처리 경로 자체를 바꿔주는 옵션이에요.

왜 원래 느린가

Dataflow Gen2의 기본 처리 경로는 Power Query의 M 엔진이에요. 소스에서 데이터를 읽어와 Applied Steps에 적어둔 변환을 한 단계씩, 사실상 행 단위로 적용하는 구조예요. 소규모·중간 규모 데이터에서는 이 방식이 유연하고 문제도 없어요. 그런데 데이터가 수백만 행, 수 GB 단위로 커지면 이 행 단위 처리 자체가 시간과 컴퓨팅 비용을 함께 끌어올려요.

Fast Copy는 뭘 다르게 하나

Fast Copy는 M 엔진으로 한 줄씩 처리하는 대신, Data pipeline의 Copy activity와 같은 백엔드로 데이터 이동을 우회시켜요. 서버리스 아키텍처 위에서 병렬로 데이터를 옮기기 때문에 네트워크 대역폭과 데이터 저장소의 IOPS2를 최대한 활용할 수 있어요. 원문에서 예로 든 수치로는, 6GB짜리 CSV 파일을 Lakehouse 테이블로 로드했을 때 Dataflow Gen2에서 성능이 8배 올라가고 비용은 3분의 1로 줄었다고 해요.

켜는 방법 — 사실 이미 켜져 있어요

새 Dataflow Gen2를 만들면 Fast Copy는 기본적으로 활성화돼 있어요. 별도로 토글을 찾아 켤 필요가 없다는 뜻이에요. 데이터 크기가 100MB 또는 500만 행을 넘으면, Dataflow Gen2가 별다른 설정 없이 알아서 Fast Copy 백엔드로 전환해요. 작성하는 입장에서는 평소처럼 쿼리를 만들면 되고, 조건을 넘는 순간 내부적으로 빠른 경로를 타는 거예요.

실제로 이번 새로고침에 Fast Copy가 쓰였는지는 **새로고침 기록(Refresh History)**에서 확인할 수 있어요. 항목별 상태를 보면 Fast Copy 사용 여부가 표시돼요.

어떤 원본에서 되나

Fast Copy는 모든 원본에서 똑같이 동작하지 않아요. 지원하는 커넥터가 정해져 있고, 원문 기준으로는 ADLS Gen2, Blob storage, Azure SQL DB, On-Premises SQL Server, Oracle, Fabric Lakehouse, Fabric Warehouse, PostgreSQL, Snowflake가 포함돼요. 온프레미스 게이트웨이를 통한 원본도 지원해서, 사내망 안에 있는 소스에서도 고성능 전송을 쓸 수 있어요.

지원 목록에 없는 원본이거나, 조건(크기·행 수)을 만족하지 않으면 Dataflow Gen2는 그냥 원래의 M 엔진 경로로 처리해요. 즉 Fast Copy는 “항상 되는 것”이 아니라 “조건이 맞으면 자동으로 얹히는” 최적화라고 보는 게 정확해요.

정리

Dataflow Gen2가 느리게 느껴진다면 원인은 대개 M 엔진의 행 단위 처리예요. 하지만 손댈 게 딱히 없어요. Fast Copy는 새 Dataflow에서 기본으로 켜져 있고, 원본이 지원 목록에 있고 데이터가 100MB·500만 행을 넘으면 Copy activity와 같은 백엔드로 자동 전환돼요. 대용량 원본을 다룬다면 새로고침 기록에서 Fast Copy가 실제로 탔는지 한 번 확인해 보는 것만으로 충분해요.


어휘 주석

  1. M 엔진: Power Query가 내부적으로 쓰는 데이터 변환 언어(M)를 실행하는 엔진. Applied Steps에 쌓인 변환을 실제로 처리하는 주체예요.
  2. IOPS(Input/Output Operations Per Second): 저장소가 초당 처리할 수 있는 읽기·쓰기 작업의 수. 값이 높을수록 대량의 데이터를 짧은 시간에 옮길 수 있어요.