디지털 네이티브 회사들은 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는 예약된 파이프라인 트리거마다 전용 작업을 자동으로 생성합니다. 수집 파이프라인은 작업 내의 작업입니다. 선택적으로, 다운스트림 처리를 위해 수집 작업 전후에 더 많은 작업을 추가할 수 있습니다.
