디지털 네이티브 회사들은 AI가 혁신을 주도하는데 있어 중요한 역할을 인식하고 있지만, 여전히 데이터를 하류 사용, 예를 들어 머신 러닝 개발 및 고급 분석을 위해 즉시 사용할 수 있게 하는데 어려움을 겪고 있습니다. 이러한 조직들에게는 SQL 서버에 의존하는 비즈니스 팀을 지원하고, 데이터 엔지니어링 리소스를 유지하고, 사용자 정의 커넥터를 유지하고, 분석을 위한 데이터를 준비하고, 모델 개발을 위해 데이터 팀에게 사용할 수 있도록 보장하는 것이 필요합니다. 자주, 이 데이터는 데이터 기반의 결정을 내리기 전에 추가적인 소스로부터 풍부하게 만들어지고 변형되어야 합니다.
이러한 프로세스를 유지하는 것은 빠르게 복잡하고 취약해져, 혁신을 늦추게 됩니다. 그래서 Databricks는 인기 있는 데이터베이스, 기업용 애플리케이션, 파일 소스를 위한 내장 데이터 커넥터가 포함된 Lakeflow Connect를 개발했습니다. 이 커넥터들은 효율적인 종단 간, 증분적인 수집을 제공하며, 유연하고 설정하기 쉽고, 통합된 관리, 관찰 가능성, 그리고 오케스트레이션을 위해 Databricks 데이터 인텔리전스 플랫폼과 완전히 통합되어 있습니다. 새로운 Lakeflow SQL Server 커넥터는 온프레미스와 클라우드 데이터베이스 모두에 대한 강력한 통합을 제공하는 첫 번째 데이터베이스 커넥터로, Databricks 내부에서 데이터 인사이트를 도출하는 데 도움이 됩니다.
이 블로그에서는 Lakeflow Connect를 SQL Server에 언제 사용해야 하는지에 대한 주요 고려사항을 검토하고 Azure SQL Server 인스턴스에서 데이터를 복제하는 방법을 설명하겠습니다. 그런 다음, 특정 사용 사례, 모범 사례, 그리고 시작하는 방법에 대해 검토하겠습니다.
아래는 SQL Server 커넥터를 사용할지 결정하는 데 도움이 되는 주요 고려 사항입니다.
Lakeflow Connect는 다양한 SQL Server 데이터베이스 버전을 지원합니다. 이에는 Microsoft Azure SQL Database, Amazon RDS for SQL Server, Azure VMs 및 Amazon EC2에서 실행되는 Microsoft SQL Server, 그리고 Azure ExpressRoute 또는 AWS Direct Connect를 통해 접근 가능한 온프레미스 SQL Server가 포함됩니다.
Lakeflow Connect는 내부적으로 Serverless 파이프라인에서 실행되므로, 파이프라인 관찰, 이벤트 로그 알림, 레이크하우스 모니터링과 같은 내장 기능을 활용할 수 있습니다. 만약 Serverless가 귀하의 지역에서 지원되지 않는다면, Databricks 계정 팀과 협력하여 그 지역에서의 개발 또는 배포를 우선 순위로 요청하도록 도와주세요.
Lakeflow Connect는 Data Intelligence Platform 위에 구축되어 있으며, 이는 Unity Catalog (UC)와의 원활한 통합을 제공하여 새로운 SQL Server 소스에 대해 통합된 거버넌스를 위해 기존 권한 및 접근 제어를 재사용할 수 있습니다. Databricks 테이블과 뷰가 Hive에 있다면, 이러한 기능들을 활용하기 위해 UC로 업그레이드하는 것을 권장합니다 (AWS | Azure | GCP)!
Lakeflow Connect는 효율적인 증분식 수집을 지원하기 위해 Microsoft 변경 추적 (CT) 또는 Microsoft Change Data Capture (CDC) 가 활성화된 SQL 서버와 통합될 수 있습니다.
CDC는 삽입, 업데이트, 삭제 작업에 대한 역사적 변경 정보를 제공하며, 실제 데이터가 변경되었을 때에 대한 정보도 제공합니다. 변경 추적은 실제 데이터 변경 사항을 캡처하지 않고 테이블에서 어떤 행이 수정되었는지 식별합니다. CDC와 SQL 서버를 함께 사용하는 장점에 대해 더 알아보세요.
Databricks는 소스 데이터베이스에 부하를 최소화하기 위해 기본 키가 있는 모든 테이블에 대해 변경 추적을 사용하는 것을 권장합니다. 기본 키가 없는 소스 테이블의 경우 CDC를 사용하십시오. 언제 사용해야 하는지에 대해 더 알아보려면 여기를 클릭하세요.
SQL 서버 커넥터는 최초의 데이터 수집 파이프라인 실행 시에 역사적 데이터의 초기 로드를 캡처합니다. 그런 다음 커넥터는 마지막 실행 이후 데 이터에 이루어진 변경 사항만 추적하고 수집하여 SQL 서버의 CT/CDC 기능을 활용하여 작업을 간소화하고 효율성을 향상시킵니다.
Lakeflow Connect를 사용하여 SQL 서버와 연결이 설정되면:
데이터가 Databricks로 취득되면, 다른 데이터 세트와 마찬가지로 UC 내에서 암호화됩니다. 소스 데이터베이스에서 스냅샷, 변경 로그, 메타데이터를 추출하는 수집 게이트웨이는 JSON 파일과 같은 비테이블 데이터셋을 등록하는 데 가장 적합한 저장소 추상화인 UC 볼륨에 착륙합니다. 이 UC 볼륨은 고객의 클라우드 스토리지 계정 내의 가상 네트워크 또는 가상 개인 클라우드 내에 위치합니다.
또한, UC는 세밀한 접근 제어를 강제하고 새로 수집된 데이터에 대한 접근을 관리 하기 위해 감사 추적을 유지합니다. UC 서비스 자격증명 과 저장소 자격증명 은 UC 내에서 보안 가능한 객체로 저장되어 안전하고 중앙화된 인증 관리를 보장합니다. 이러한 자격 증명은 로그에 노출되지 않으며 SQL 수집 파이프라인에 하드코딩되지 않아, 강력한 보호와 접근 제어를 제공합니다.
만약 귀하의 조직이 위의 기준을 충족한다면, Databricks로의 데이터 수집을 단순화하기 위해 Lakeflow Connect for SQL Server를 고려해 보세요.
다음으로, SQL Server용 Lakeflow Connect를 구성하고 Azure SQL Server 인스턴스에서 데이터를 복제하는 단계를 검토합니다.
Databricks 내에서, 노트북, 워크플로우, 파이프라인에 대해 서버리스 컴퓨팅이 활성화되어 있는지 확인하세요 (AWS | Azure | GCP). 그런 다음, 수집 파이프라인을 생성하는 사용자 또는 서비스 주체가 다음 UC 권한을 가지고 있는지 확인합니다:
권한 유형 |
이유 |
관련 문서 |
메타스토어에서 연결 생성 |
Lakeflow Connect는 SQL Server에 안전한 연결을 설정해야 합니다. |
|
카탈로그 사용 대상 카탈로그에서 |
이는 Lakeflow Connect가 SQL 서버 데이터 테이블을 UC에 착륙시킬 카탈로그에 대한 액세스를 제공하기 때문에 필요합니다. |
|
스키마 사용, 테이블 생성, 기존 스키마에서 볼륨 생성 또는 대상 카탈로그에서 스키마 생성 |
수집된 데이터 테이블의 저장 위치를 생성하고 스키마에 접근할 수 있는 필요한 권한을 제공합니다. |
|
클러스터 생성 또는 사용자 정의 클러스터 정책에 대한 제한 없는 권한 |
게이트웨이 수집 프로세스에 필요한 컴퓨팅 리소스를 생성하는 데 필요합니다 |
SQL Server 커넥터를 사용하려면 다음 요구 사항이 충족되어야 합니다:
* 2025년 5월 현재의 요구사항. 변경 가능.
다음으로, Azure SQL 서버 데이터베이스에서 테이블을 Databricks로 가져오는 작업을 Lakeflow Connect를 사용하여 수행하겠습니다. 이 예제에서는 CDC와 CT가 모든 가능한 옵션에 대한 개요를 제공합니다. 이 예제에서 테이블에는 기본 키가 있으므로 CT가 주요 선택이었을 수 있습니다. 그러나 이 예제에서는 작은 테이블이 하나뿐이므로 로드 오버헤드에 대한 걱정은 없으므로 CDC도 포함되었습니다. CDC, CT, 또는 둘 다 사용할 시기를 검토하는 것이 권장됩니다 이를 통해 데이터와 새로 고침 요구 사항에 가장 적합한 것을 결정할 수 있습니다.
Azure 포털 에 접속하고 Azure 계정 자격 증명을 사용하여 로그인하는 것으로 시작합니다. 왼쪽에 모든 서비스 를 클릭하고 SQL 서버를 검색합니다. 서버를 찾아 클릭하고, '쿼리 에디터'를 클릭하세요; 이 예에서는 sqlserver01이 선택되었습니다.
아래 스크린샷은 SQL Server 데이터베이스에 'drivers'라는 테이블이 하나 있다는 것을 보여줍니다.
데이터를 Databricks로 복제하기 전에, 데이터 캡처 변경, 변경 추적, 또는 둘 다 활성화해야 합니다.
이 예시에서는, 다음 스크립트 가 데이터베이스에서 실행되어 CT를 활성화합니다:
이 명령은 다음 매개변수를 사용하여 데이터베이스에 대한 변경 추적을 활성화합니다:
그런 다음, 다음 스크립트 가 데이터베이스에서 실행되어 CDC를 활성화합니다:
두 스크립트가 모두 실행되면 Azure의 SQL Server 인스턴스 아래의 테이블 섹션을 검토하고 모든 CDC와 CT 테이블이 생성되었는지 확인합니다.
다음 단계에서는 Databricks UI가 SQL Server 커넥터를 구성하는 방법을 보여줍니다. 또는, Databricks Asset Bundles (DABs), 즉 코드로 Lakeflow Connect 파이프라인을 관리하는 프로그래밍 방식도 활용할 수 있습니다. 전체 DABs 스크립트의 예는 아래 부록에 있습니다.
모든 권한이 설정되면, 권한 사전 요구 사항 섹션에 명시된 대로, 데이터를 수집할 준비가 됩니다. 왼쪽 상단에 있는 + 새로 만들기 버튼을 클릭한 다음 데이터 추가 또는 업로드를 선택합니다.
그런 다음 SQL Server 옵션을 선택합니다.
SQL Server 커넥터는 여러 단계에서 구성됩니다.
1. 수집 게이트웨이 설정 (AWS | Azure | GCP). 이 단계에서, 데이터 수집 게이트웨이 파이프라인 에 이름을 지정하고, UC 볼륨 위치의 카탈로그 와 스키마 를 제공하여 소스 데이터베이스에서 스냅샷을 추출하고 지속적으로 데이터를 변경합니다.
2. 수집 파이프라인을 구성합니다. 이것은 CDC/CT 데이터 소스와 스키마 진화 이벤트를 복제합니다. SQL 서버 연결이 필요하며, 이는 다음 단계 를 따르거나 아래의 SQL 코드 를 사용하여 UI를 통해 생성됩니다:
이 예제에서는 SQL 서버 연결을 rebel 로 이름 지정합니다.
3. 복제를 위한 SQL Server 테이블 선택. 개별 테이블을 선택하여 Ingest하는 대신 전체 스키마를 Databricks로 Ingest하도록 선택하세요.
전체 스키마는 초기 탐색 또는 마이그레이션 중에 Databricks로 수집될 수 있습니다. 스키마가 크거나 파이프라인 당 허용되는 테이블 수를 초과하는 경우(커넥터 제한 참조), Databricks는 최적의 성능을 유지하기 위해 수집을 여러 파이프라인으로 분할하는 것을 권장합니다. 단일 ML 모델, 대시보드, 레포트와 같은 특정 사용 사례에 맞는 워크플로우의 경우, 전체 스키마보다는 특정 필요에 맞게 개별 테이블을 수집하는 것이 일반적으로 더 효율적입니다.
4. SQL 서버 테이블이 UC 내에서 복제될 목적지를 구성합니다. main 카탈로그와 sqlserver01 스키마를 선택하여 데이터를 UC에 착륙시킵니다.
5. 스케줄 및 알림 설정 (AWS | Azure | GCP). 이 마지막 단계는 파이프라인을 얼마나 자주 실행할지와 성공 또는 실패 메시지를 어디로 보낼지 결정하는 데 도움이 됩니다. 파이프라인을 6시간 마다 실행하도록 설정하고, 파이프라인 실패만 사용자에게 알립니다. 이 간격은 작업 부하의 요구 사항에 맞게 설정할 수 있습니다.
수집 파이프라인은 사용자 정의 일정에 따라 트리거 될 수 있습니다. Lakeflow Connect는 예약된 파이프라인 트리거마다 전용 작업을 자동으로 생성합니다. 수집 파이프라인은 작업 내의 작업입니다. 선택적으로, 다운스트림 처리를 위해 수집 작업 전후에 더 많은 작업을 추가할 수 있습니다.
이 단계를 거치면, 수집 파이프라인이 저장되고 트리거되어, SQL 서버에서 Databricks로 전체 데이터 로드가 시작됩니다.
게이트웨이 수집 파이프라인이 실행 중인지 확인하기 위해 파이프라인 메뉴로 이동합니다. 완료되면, 게이트웨이가 소스 데이터를 성공적으로 수집했는지 확 인하기 위해 하단 패널의 파이프라인 이벤트 로그 인터페이스 내에서 'update_progress'를 검색하세요.
동기화 상태를 확인하려면 파이프라인 메뉴로 이동하십시오. 아래 스크린샷은 삽입 및 업데이트 (UPSERT) 작업을 세 번 수행한 수집 파이프라인을 보여줍니다.
대상 카탈로그로 이동, main, 그리고 스키마, sqlserver01, 아래와 같이 복제된 테이블을 보려면 이동합니다.
다음으로, 소스 테이블에서 삽입, 업데이트, 삭제 작업을 수행하여 CDC 이벤트를 검증합니다. 아래의 Azure SQL Server 스크린샷은 세 가지 이벤트를 보여줍니다.
파이프라인이 트리거되고 완료되면, 대상 스키마 아래의 델타 테이블을 쿼리하고 변경 사항을 확인합니다.
마찬가지로, 아래에 보여지는 것처럼 SQL Server 소스 테이블에 열을 추가하는 스키마 진화 이벤트를 수행해봅시다.
소스를 변경한 후, Databricks DLT UI 내의 시작 버튼을 클릭하여 수집 파이프라인을 트리거하세요. 파이프라인이 완료되면, 아래와 같이 대상 테이블을 탐색하여 변경 사항을 확인합니다. 새로운 열 email 이 드라이버 테이블의 끝에 추가될 것입니다.
수집 및 게이트웨이 파이프라인이 성공적으로 실행되면 그들의 건강 상태와 행동을 모니터링하는 것이 중요합니다. 파이프라인 UI는 데이터 품질 검사, 파이프라인 진행 상황, 데이터 라인 정보를 제공합니다. 파이프라인 UI에서 이벤트 로그 항목을 보려면 아래 그림과 같이 파이프라인 DAG 아래쪽 패널을 찾으십시오.
위의 이벤트 로그 항목은 'drives_snapshot_flow'가 SQL Server에서 추출되어 완료되었음을 보여줍니다. STABLE 의 성숙도 수준은 스키마가 안정적이고 변경되지 않았음을 나타냅니다. 이벤트 로그 스키마에 대한 자세한 정보는 여기에서 확인할 수 있습니다.
대규모 의료 진단 실험실이 Databricks를 사용하면서 SQL Server 데이터를 레이크하우스로 효율적으로 수집하는 데 어려움을 겪었습니다. Lakeflow Connect를 구현하기 전에, 연구실은 Databricks Spark 노트북을 사용하여 Azure SQL Server에서 두 개의 테이블을 Databricks로 가져왔습니다. 그들의 애플리케이션은 그런 다음 Databricks API와 상호 작용하여 컴퓨팅과 작업 실행을 관리합니다.
의료 진단 실험실은 이 과정을 단순화할 수 있다는 것을 인식하고 SQL Server용 Lakeflow Connect를 구현했습니다. 한 번 활성화되면, 구현은 단 하루 만에 완료되어 의료 진단 실험실이 Databricks의 내장 도구를 이용하여 매일 증분 Ingestion 새로 고침을 관찰할 수 있게 되었습니다.
SQL Server 커넥터가 Azure SQL Database에 성공적으로 연결되면 다음 단계는 성능과 리소스 사용을 최적화하기 위해 데이터 파이프라인을 효율적으로 스케줄링하는 것입니다. 또한, 환경 간의 확장성과 일관성을 보장하기 위해 프로그래밍 파이프라인 구성에 대한 최선의 방법 을 따르는 것이 필수적입니다.
수집 파이프라인을 실행할 수 있는 횟수에는 제한이 없습니다. 그러나, 비용을 최소화하고 파이프라인 실행의 일관성을 보장하기 위해, Databricks는 수집 실행 사이에 최소 5분 간격을 권장합니다. 이를 통해 소스에서 새로운 데이터가 도입될 수 있으며, 계산 자원과 시작 시간을 고려할 수 있습니다.
Ingestion 파이프라인은 작업 내의 작업으로 구성될 수 있습니다. 하류 작업 부하가 신선한 데이터 도착에 의존할 때, 작업 의존성은 수집 파이프라인 실행이 하류 작업을 실행하기 전에 완료되도록 설정할 수 있습니다.
또한, 다음 새로 고침이 예정되어 있을 때 파이프라인이 여전히 실행 중인 경우를 가정해 봅시다. 그 경우, 취득 파이프라인은 작업과 유사하게 동작하고, 현재 실행 중인 업데이트가 시간 내에 완료된다고 가정하면 다음 예정된 업데이트까지 업데이트를 건너뜁니다.
Lakeflow Connect는 컴퓨팅 기반의 가격 모델을 사용하여 다양한 데이터 통합 요구에 대한 효율성과 확장성을 보장합니다. 수집 파이프라인은 서버리스 컴퓨팅에서 작동하며, 이는 수요에 따른 유연한 확장을 가능하게 하고 사용자가 기본 인프라를 구성하고 관리하는 필요성을 제거함으로써 관리를 단순화합니다.
그러나, 데이터베이스 커넥터의 수집 게이트웨이는 현재 데이터베 이스 소스에 연결을 단순화하기 위해 클래식 컴퓨트에서 작동하므로, 수집 파이프라인은 서버리스 컴퓨트에서 실행할 수 있다는 점을 주의해야 합니다. 결과적으로, 사용자는 청구서에 클래식과 서버리스 DLT DBU 요금의 조합을 볼 수 있습니다.
Lakeflow Connect 사용을 추적하고 모니터링하는 가장 쉬운 방법은 시스템 테이블을 통하는 것입니다. 아래는 특정 Lakeflow Connect 파이프라인의 사용량을 보는 예제 쿼리입니다:
Lakeflow Connect 문서화에 대한 공식 가격 (AWS | Azure | GCP)는 자세한 요금 정보를 제공합니다. 서버리스 이그레스 요금(가격) 등 추가 비용이 발생할 수 있습니다. 클래식 컴퓨트에 대한 클라우드 제공업체의 이그레스 비용은 여기에서 확인할 수 있습니다 (AWS | Azure | GCP).
2025년 5월 현재, 이 SQL Server 커넥터를 구현할 때 따라야 할 몇 가지 최선의 방법과 고려 사항은 다음과 같습니다:
Lakeflow Connect for SQL Server 는 온프레미스 및 클라우드 데이터베이스 모두에 대해 효율적인 증분 수집을 위한 완전히 관리되는 내장 통합을 제공합니다.
오늘 SQL 서버 커넥터를 사용해 보고 데이터 수집 문제를 해결해 보세요. 이 블로그에서 설명된 단계를 따르거나 문서를 검토하세요. 제품 페이지에서 Lakeflow Connect에 대해 자세히 알아보거나, 제품 투어 를 보거나, 고객 이탈을 예측하는 데 도움이 되는 Salesforce 커넥터 데모를 보세요.
Databricks Delivery Solutions Architects (DSAs)는 조직 전반의 데이터 및 AI 이니셔티브를 가속화합니다. 그들은 건축적 리더십을 제공하며, 플랫폼의 비용과 성능을 최적화하고, 개발자 경험을 향상시키며, 프로젝트의 성공적인 실행을 주도합니다. DSAs는 초기 배포와 생산 수준 솔루션 사이의 간극을 메우며, 데이터 엔지니어링, 기술 리드, 임원, 그리고 다른 이해관계자들과 긴밀하게 협력하여 맞춤형 솔루션과 빠른 가치 창출을 보장합니다. 사용자 정의 실행 계획, 전략적 지침, 그리고 데이터 및 AI 여정을 통한 지원을 받기 위해 DSA에게 연락하려면 Databricks 계정 팀에게 연락하십시오.
이 선택적인 단계에서, DABs를 사용하여 Lakeflow Connect 파이프라인을 코드로 관리하려면, 기존 번들에 두 개의 파일만 추가하면 됩니다:
resources/sqlserver.yml:
resources/sqlserver_job.yml:
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)