OneLake 가용성켜서 이벤트 하우스에서 KQL 데이터베이스 데이터의 논리적 복사본을 만들 수 있습니다. OneLake 가용성을 켜면 Power BI, Warehouse, Lakehouse, Notebook 등의 Direct Lake 모드와 같은 다른 Fabric 엔진을 통해 Delta Lake 형식의 KQL 데이터베이스의 데이터를 쿼리할 수 있습니다. Delta Lake는 Fabric 모든 컴퓨팅 엔진에서 원활한 데이터 액세스를 가능하게 하는 통합 데이터 레이크 테이블 형식입니다.
이 문서에서는 OneLake에서 KQL 데이터베이스 데이터의 가용성을 설정하는 방법을 알아봅니다.
OneLake 가용성 및 스키마 동기화를 사용하도록 설정하면 데이터베이스 수준에서SQL 엔드포인트> 데이터 분석을 사용하여 SQL 기반 엔진을 통해 Delta Lake 표현을 거의 실시간으로 쿼리할 수도 있습니다.
OneLake 가용성 및 스키마 동기화를 사용하도록 설정하면 데이터베이스 수준에서SQL 엔드포인트> 데이터 분석을 사용하여 SQL 기반 엔진을 통해 Delta Lake 표현을 거의 실시간으로 쿼리할 수도 있습니다.
KQL 데이터베이스에 대해 OneLake 가용성이 작동하는 방식
데이터베이스 또는 테이블 수준에서 OneLake 가용성 켤 수 있습니다. 데이터베이스 수준에서 사용하도록 설정하면 모든 새 테이블과 해당 데이터를 OneLake에서 사용할 수 있습니다. 기능을 켠 경우 기존 테이블에 적용옵션을 선택하여 기존 테이블에 이 옵션을 적용하도록 선택할 수도, 기록 백필을 포함할 수도 있습니다. 테이블 수준에서 켜면 해당 테이블과 해당 데이터만 OneLake에서 사용할 수 있습니다. KQL 데이터베이스의 데이터 보존 정책 OneLake의 데이터에도 적용됩니다. 보존 기간이 끝날 때 KQL 데이터베이스에서 제거된 데이터가 OneLake에서도 제거됩니다. OneLake 가용성 해제하면 OneLake에서 데이터가 일시 삭제됩니다.
백 엔드 스키마 동기화는 Delta Lake 표현을 KQL 데이터베이스와 정렬하여 SQL 엔드포인트 및 Notebook을 통해 거의 실시간으로 쿼리할 수 있도록 합니다. 예상 대기 시간 및 일괄 처리 동작은 적응 동작을 참조하세요.
OneLake 가용성 켜져 있는 동안에는 다음 작업을 수행할 수 없습니다.
- 테이블 이름을 바꿉니다.
- 열 형식을 변경합니다. 열 추가 또는 삭제가 지원됩니다.
- 테이블에 행 수준 보안을 적용합니다.
- 데이터를 삭제, 자르기 또는 제거합니다.
이러한 작업을 수행해야 하는 경우 다음 단계를 사용합니다.
- OneLake 가용성을 끕니다.
- 작업을 수행합니다.
- OneLake 가용성을 켭니다.
중요한
OneLake 가용성 을 해제하면 OneLake에서 데이터가 일시적으로 삭제됩니다. 가용성을 다시 켜면 OneLake에서 기록 백필을 포함한 모든 데이터를 사용할 수 있습니다.
참고
OneLake에 데이터가 표시되는 데 걸리는 시간에 대한 자세한 내용은 적응 동작을 참조하세요. OneLake 가용성 을(를) 활성화하는 데 추가 스토리지 비용은 없습니다. 자세한 내용은 리소스 사용량을 참조하세요.
필수 조건
- Fabric 사용 가능한 capacity이 있는 workspace.
- 편집 권한과 데이터가 있는 KQL 데이터베이스.
KQL 데이터베이스 또는 테이블에 대한 OneLake 가용성 켜기
KQL 데이터베이스 또는 테이블에 대해 OneLake 가용성 을 설정할 수 있습니다.
데이터베이스 또는 테이블을 선택합니다.
세부 정보 창의 OneLake 섹션에서 가용성을(를) 사용으로 설정합니다.
OneLake 가용성 사용 설정 창에서 사용을 선택합니다.
데이터베이스 또는 테이블 세부 정보가 자동으로 새로 고쳐집니다.
KQL 데이터베이스 또는 테이블에서 OneLake 가용성 을 켜면 지정된 OneLake 경로의 모든 데이터에 Delta Lake 형식으로 액세스할 수 있습니다. 레이크하우스 또는 웨어하우스에서 OneLake 바로 가기를 만들거나 Power BI Direct Lake 모드를 통해 직접 데이터를 쿼리할 수도 있습니다. KQL 데이터베이스 또는 테이블의 OneLake 가용성 켜지면 이제 Delta Lake 형식으로 지정된 OneLake 경로의 모든 데이터에 액세스할 수 있습니다. Lakehouse, Data Warehouse에서 OneLake 바로 가기를 만들거나 Power BI Direct Lake 모드를 통해 직접 데이터를 쿼리할 수도 있습니다.
옵션과 함께 데이터 분석 사용
OneLake 가용성이 활성화되면 Eventhouse 및 KQL 데이터베이스 항목에 데이터베이스 수준에서 Analyze data with 옵션이 표시됩니다.
- SQL 엔드포인트: OneLake 가용성 및 스키마 동기화를 모두 사용하는 경우 사용할 수 있습니다.
- Notebook: 선택한 데이터베이스에 대한 Notebook 기반 분석을 엽니다.
OneLake 가용성을 해제하면 SQL 엔드포인트 옵션을 다시 사용하도록 설정할 때까지 이 메뉴에서 제거됩니다.
Parquet 파일 일괄 처리를 위한 적응형 동작
이벤트하우스는 들어오는 데이터 스트림을 분석을 위해 구조화된 하나 이상의 Parquet 파일로 지능적으로 일괄 처리합니다. 조금씩 유입되는 데이터를 처리할 때는 데이터 스트림을 배치로 묶는 것이 중요합니다. 작은 Parquet 파일을 데이터 레이크에 많이 기록하면 비효율적일 수 있기 때문입니다. 이러한 비효율성으로 인해 비용이 높아지고 쿼리 성능이 저하됩니다.
최적의 Parquet 파일을 만들기에 충분한 데이터가 없는 경우 Eventhouse 적응 메커니즘은 OneLake에 대한 쓰기 작업을 지연할 수 있습니다. 이 동작은 Parquet 파일의 크기가 최적이고 Delta Lake 모범 사례를 준수하도록 합니다. 프롬프트 데이터 가용성에 대한 필요성과 비용 및 성능 고려 사항의 균형을 유지합니다.
OneLake 가용성에 대한 기본 및 구성 가능한 쓰기 대기 시간:
| 설정 | 기본값 | 허용되는 범위 |
|---|---|---|
쓰기 작업 지연(TargetLatencyInMinutes) |
최대 3시간 또는 충분한 크기의 파일(일반적으로 200~256MB)이 생성될 때까지 | 5분~3시간 |
예를 들어 다음 Kusto 명령을 사용하여 단일 테이블에 대한 쓰기 지연 시간을 5분으로 설정합니다.
.alter-merge table <TableName> policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5);
주의
지연을 더 짧은 기간으로 조정하면 작은 파일이 많은 최적이 아닐 델타 테이블이 생성되어 비효율적인 쿼리 성능이 발생할 수 있습니다. OneLake의 결과 테이블은 읽기 전용이며 만든 후에는 최적화할 수 없습니다.
명령을 사용하여 .show table mirroring operations데이터 대기 시간을 확인하여 레이크에 새 데이터가 추가된 기간을 모니터링할 수 있습니다.
결과는 데이터가 마지막으로 추가된 시점부터 측정됩니다.
대기 시간이 반환00:00:00되면 KQL 데이터베이스의 모든 데이터를 OneLake에서 사용할 수 있습니다.
OneLake에서 Delta Lake 파일 보기
테이블에서 OneLake 가용성을 켜 면 프로세스는 해당 JSON 및 Parquet 파일과 함께 델타 로그 폴더를 만듭니다. Real-Time Intelligence를 벗어나지 않고 OneLake에서 사용할 수 있는 파일과 해당 속성을 볼 수 있습니다.
파일을 보려면 탐색기 창에서 테이블에 커서를 대고 추가 메뉴 [...]>파일 보기를 선택합니다.
델타 로그 폴더 또는 개별 파일의 속성을 보려면 폴더 또는 파일에 커서를 대고 추가 메뉴 [...]>속성을 선택합니다.
델타 로그 폴더의 파일을 보려면 다음을 수행합니다.
- _delta_log 폴더를 선택합니다.
- 파일을 선택하여 테이블 메타데이터 및 스키마를 살펴봅니다. 열리는 편집기는 읽기 전용 형식입니다.
OneLake 미러링 정책에 액세스
기본적으로 KQL 데이터베이스 또는 테이블에 대한 OneLake 가용성 을 켜면 시스템에서 미러링 정책을 사용하도록 설정합니다. 미러링 정책을 사용하여 데이터 대기 시간을 모니터링하거나 분할 델타 테이블로 변경할 수 있습니다.
참고
OneLake 가용성을 비활성화하면 미러링 정책의 IsEnabled 속성이 false(IsEnabled=false)로 설정됩니다.
OneLake의 파티션 델타 테이블
델타 테이블을 분할하여 쿼리 속도를 향상시킬 수 있습니다. OneLake 파일을 분할하는 시기에 대한 자세한 내용은 테이블을 분할하는 시기를 참조하세요. 각 파티션은 목록에 나열된 PartitionName 열을 사용하여 Partitions 별도의 열로 표시됩니다. 이 표현은 OneLake 복사본에 원본 테이블보다 더 많은 열이 있는 것을 의미합니다.
델타 테이블을 분할하려면 명령을 사용합니다 .alter-merge table policy mirroring .
Fabric Notebook에서 델타 테이블 쿼리
패브릭 Notebook을 사용하여 다음 코드 조각을 사용하여 OneLake 데이터를 읽을 수 있습니다.
Tip
Eventhouse 또는 KQL 데이터베이스의 Notebook을 사용하여 데이터> 분석에서 직접 새 Fabric 또는 기존Fabric Notebook을 시작할 수 있습니다. Notebook은 선택한 데이터베이스 컨텍스트에 자동으로 연결됩니다. 수동 경로 기반 액세스를 원하는 경우 다음 코드 샘플을 사용합니다.
코드 조각에서
<workspaceGuid>,<workspaceGuid>,<tableName>를 당신의 고유한 값으로 바꾸세요.
delta_table_path = 'abfss://<workspaceGuid>@onelake.dfs.fabric.microsoft.com/<eventhouseGuid>/Tables/<tableName>'
df = spark.read.format("delta").load(delta_table_path)
df.show()
참고
Azure Data Explorer 데이터베이스의 경우 다음 코드를 사용합니다.
delta_table_path = 'abfss://<workspaceName>@onelake.dfs.fabric.microsoft.com/<itemName>.KustoDatabase/Tables/<tableName>'