다음을 통해 공유


데이터 흐름을 통해 솔루션 개발

Power BI '데이터 흐름'은 엔터프라이즈 중심의 데이터 준비 솔루션이며 사용, 재사용 및 통합을 위해 준비된 데이터 에코시스템을 사용하도록 설정합니다. 이 문서에서는 데이터 흐름을 최대한 이해하고 사용하는 데 도움이 되는 문서 및 기타 정보에 대한 링크와 함께 일반적인 시나리오를 제공합니다.

데이터 흐름의 프리미엄 기능에 대한 액세스 권한 얻기

프리미엄 용량의 Power BI 데이터 흐름은 다음과 같이 데이터 흐름에 대해 더 큰 규모와 성능을 달성하는 데 도움이 되는 많은 주요 기능을 제공합니다.

  • ETL 성능을 가속화하고 DirectQuery 기능을 제공하는 고급 컴퓨팅.
  • 원본에서 변경된 데이터를 로드할 수 있는 증분 새로 고침.
  • 다른 데이터 흐름을 참조하는 데 사용할 수 있는 연결된 엔터티.
  • 더 많은 비즈니스 논리를 포함하는 데이터 흐름의 구성 가능한 구성 요소를 빌드하는 데 사용할 수 있는 계산된 엔터티.

이러한 이유로 가능하면 프리미엄 용량에서 데이터 흐름을 사용하는 것이 좋습니다. Power BI Pro 라이선스에 사용되는 데이터 흐름은 간단하고 작은 규모의 사용 사례에 사용할 수 있습니다.

솔루션

다음 두 가지 방법으로 이러한 데이터 흐름의 프리미엄 기능에 액세스할 수 있습니다.

  • 지정된 작업 영역에 프리미엄 용량을 지정하고 여기에 데이터 흐름을 작성하기 위해 고유한 Pro 라이선스를 가져옵니다.
  • 사용자 고유의 PPU(사용자 단위 Premium) 라이선스 가져오기는 작업 영역의 다른 구성원도 PPU 라이선스를 소유해야 합니다.

PPU 환경 외부(예: 프리미엄 또는 기타 SKU 또는 라이선스)에서 PPU 데이터 흐름(또는 다른 콘텐츠)을 사용할 수 없습니다.

프리미엄 용량의 경우 Power BI Desktop에서 데이터 흐름의 소비자는 Power BI를 사용하고 게시하는 명시적 라이선스가 필요하지 않습니다. 작업 영역에 게시하거나 결과 의미 체계 모델을 공유하려면 Pro 이상의 라이선스가 필요합니다.

PPU의 경우 PPU 콘텐츠를 만들거나 소비하는 모든 사용자에게 PPU 라이선스가 있어야 합니다. 이 요구 사항은 PPU를 사용하여 모든 사용자에게 명시적으로 라이선스를 부여해야 한다는 측면에서 Power BI의 나머지 부분과 다릅니다. 작업 영역을 프리미엄 용량으로 마이그레이션하지 않는 한 무료, 프로, 프리미엄 용량을 PPU 콘텐츠와 혼합할 수 없습니다.

일반적으로 어떤 모델을 선택할지는 조직의 크기와 목표에 따라 달라지지만 다음 지침이 적용됩니다.

팀 유형 용량 단위 Premium 사용자 단위 Premium
>5,000명 사용자
<5,000명 사용자

소규모 팀의 경우 PPU는 무료, Pro, 용량 단위 Premium 간 격차를 메울 수 있습니다. 요구 사항이 클 경우 Pro 라이선스가 있는 사용자에 프리미엄 용량을 사용하는 것이 가장 좋은 방법입니다.

보안이 적용된 사용자 데이터 흐름 만들기

사용을 위한 데이터 흐름을 만들어야 하지만 보안 요구 사항이 있다고 가정합니다.

시나리오를 설명하는 다이어그램.

이 시나리오에서는 두 가지 유형의 작업 영역이 있을 수 있습니다.

  • 데이터 흐름을 개발하고 비즈니스 논리를 빌드하는 백 엔드 작업 영역

  • 일부 데이터 흐름 또는 테이블을 특정 사용자 그룹에 노출하여 사용할 사용자 작업 영역:

    • 사용자 작업 영역에는 백 엔드 작업 영역의 데이터 흐름을 가리키는 연결된 테이블이 포함되어 있습니다.
    • 사용자는 소비자 작업 영역에 대한 뷰어 액세스 권한을 가지며 백 엔드 작업 영역에 대한 액세스 권한은 없습니다.
    • 사용자가 Power BI Desktop을 사용하여 사용자 작업 영역의 데이터 흐름에 액세스하면 해당 데이터 흐름을 볼 수 있습니다. 그러나 데이터 흐름은 탐색기에서 빈 상태로 나타나므로 연결된 테이블은 표시되지 않습니다.

연결된 테이블 이해

연결된 테이블은 단순히 원래 데이터 흐름 테이블에 대한 포인터이며 원본의 사용 권한을 상속합니다. Power BI가 연결된 테이블이 대상 권한을 사용하도록 허용한 경우 모든 사용자는 대상에서 원본을 가리키는 연결된 테이블을 만들어 원본 권한을 우회할 수 있습니다.

해결 방법: 컴퓨팅된 테이블 사용

Power BI Premium에 액세스할 수 있는 경우 연결된 테이블을 참조하는 대상에 컴퓨팅된 테이블을 만들 수 있습니다. 이 테이블에는 연결된 테이블의 데이터 복사본이 포함됩니다. 프로젝션을 통해 열을 제거하고 필터를 통해 행을 제거할 수 있습니다. 대상 작업 영역에 대한 권한이 있는 사용자는 이 테이블을 통해 데이터에 액세스할 수 있습니다.

권한 있는 개인에 대한 계보에 참조된 작업 영역도 표시되어 사용자가 다시 연결하여 부모 데이터 흐름을 완전히 이해할 수 있습니다. 권한이 없는 사용자의 경우에도 개인 정보 취급 방침을 준수합니다. 작업 영역 이름만 표시됩니다.

다음 다이어그램에서는 이러한 설정을 보여 줍니다. 왼쪽은 아키텍처 패턴입니다. 오른쪽은 지역별로 분할되고 보호되는 판매 데이터를 보여 주는 예제입니다.

연결된 테이블 및 데이터 흐름을 사용하는 방법을 설명하는 그래픽.

데이터 흐름에 대한 새로 고침 시간 단축

큰 데이터 흐름이 있지만 해당 데이터 흐름에서 의미 체계 모델을 빌드하고 새로 고치는 데 필요한 시간을 줄이려고 한다고 가정합니다. 일반적으로 새로 고침은 데이터 원본에서 데이터 흐름, 의미 체계 모델까지 완료하는 데 시간이 오래 걸립니다. 시간이 오래 걸리는 새로 고침은 관리 또는 유지 관리하기 어렵습니다.

해결 방법: 참조된 테이블에 대해 명시적으로 구성된 로드 사용이 있는 테이블을 사용하고 로드를 비활성화하지 않음

Power BI는 데이터 흐름 새로 고침 이해 및 최적화에 정의된 대로 데이터 흐름에 대한 간단한 오케스트레이션을 지원합니다. 이 오케스트레이션을 활용하려면 '로드를 사용'하도록 구성된 다운스트림 데이터 흐름을 명시적으로 설정해야 합니다.

로드를 사용하지 않도록 하는 것은 일반적으로 더 많은 쿼리를 로드하는 오버헤드가 개발 중인 엔터티의 이점을 취소하는 경우에만 적합합니다.

로드를 사용하지 않도록 지정하면 Power BI가 해당 쿼리를 평가하지 않습니다. 즉, 다른 데이터 흐름에서 참조되는 재료로 사용될 경우 Power BI는 포인터를 제공하고 폴딩 및 쿼리 최적화를 수행할 수 있는 기존 테이블로 처리하지 않습니다. 이러한 의미에서 조인 또는 병합과 같은 변환을 수행하는 것은 단지 두 데이터 원본 쿼리의 조인 또는 병합일 뿐입니다. 이러한 작업은 Power BI가 이미 컴퓨팅된 논리를 완전히 다시 로드한 다음, 추가로 논리를 적용해야 하기 때문에 성능에 부정적인 영향을 미칠 수 있습니다.

데이터 흐름의 쿼리 처리를 간소화하고 엔진 최적화가 이루어지도록 하려면 로드를 사용하고 Power BI Premium 데이터 흐름의 컴퓨팅 엔진이 최적화된 기본 설정으로 설정되어 있는지 확인합니다.

또한 로드를 사용하면 Power BI가 활성화되지 않은 로드 데이터 흐름을 새 항목으로 간주하므로 계보의 전체 보기를 유지할 수 있습니다. 계보가 중요한 경우 다른 데이터 흐름에 연결된 엔터티 또는 데이터 흐름에 대한 로드를 비활성화하지 마세요.

의미 체계 모델의 새로 고침 시간 단축

대규모 데이터 흐름이 있지만 이로부터 의미 체계 모델을 빌드하고 오케스트레이션을 줄이려고 한다고 가정합니다. 새로 고침은 데이터 원본에서 데이터 흐름, 의미 체계 모델까지 완료하는 데 시간이 오래 걸리고 이로 인해 대기 시간이 증가합니다.

해결 방법: DirectQuery 데이터 흐름 사용

작업 영역의 ECE(고급 컴퓨팅 엔진) 설정이 명시적으로 On으로 구성될 때마다 DirectQuery를 사용할 수 있습니다. 이 설정은 데이터를 Power BI 모델에 직접 로드할 필요가 없는 경우에 유용합니다. ECE를 처음 On으로 구성하는 경우 다음 새로 고침 중에 DirectQuery를 허용하는 변경 내용이 발생합니다. 변경 내용을 즉시 적용하도록 설정하는 경우 새로 고쳐야 합니다. 초기 데이터 흐름 로드의 새로 고침은 속도가 느릴 수 있습니다. Power BI가 스토리지와 관리되는 SQL 엔진 모두에 데이터를 쓰기 때문입니다.

요약하면 데이터 흐름과 함께 DirectQuery를 사용하면 Power BI 및 데이터 흐름 프로세스를 다음과 같이 향상시킬 수 있습니다.

  • 별도의 새로 고침 일정 필요 없음: DirectQuery는 데이터 흐름에 직접 연결하므로 가져온 의미 체계 모델을 만들 필요가 없어집니다. 따라서 데이터 흐름과 함께 DirectQuery를 사용하면 데이터 동기화를 보장하기 위해 더 이상 데이터 흐름 및 의미 체계 모델에 대해 별도의 새로 고침 일정이 필요하지 않습니다.
  • 데이터 필터링: DirectQuery는 데이터 흐름 내에 있는 데이터의 필터링된 보기를 작업하는 데 유용합니다. 데이터를 필터링하여 데이터 흐름에서 데이터의 작은 하위 집합으로 작업하려면 DirectQuery(및 ECE)를 사용하여 데이터 흐름 데이터를 필터링하고 필요한 필터링된 하위 집합으로 작업할 수 있습니다.

일반적으로 DirectQuery를 사용하면 가져오기 모드에 비해 보고서 성능이 느린 의미 체계 모델의 최신 데이터를 교환할 수 있습니다. 다음 경우에만 이 접근 방식을 고려하세요.

  • 사용 사례에서 데이터 흐름에 대기 시간이 짧은 데이터가 들어와야 하는 경우.
  • 데이터 흐름 데이터가 대용량인 경우.
  • 가져오기가 너무 오래 걸릴 수 있는 경우.
  • 최신 데이터를 위해 캐시된 성능을 절충하려고 합니다.

해결 방법: 데이터 흐름 커넥터를 사용하여 가져오기에 대한 쿼리 폴딩 및 증분 새로 고침을 사용

통합 데이터 흐름 커넥터는 조인, 고유, 필터 및 그룹화 기준 작업 수행과 같이 컴퓨팅된 엔터티를 통해 수행되는 단계에 대한 평가 시간을 크게 줄일 수 있습니다. 다음과 같은 두 가지 특정 이점이 있습니다.

  • Power BI Desktop의 데이터 흐름 커넥터에 연결하는 다운스트림 사용자는 새 커넥터가 쿼리 폴딩을 지원하므로 작성 시나리오에서 더 나은 성능을 활용할 수 있습니다.
  • 의미 체계 모델 새로 고침 작업은 고급 컴퓨팅 엔진으로 폴딩할 수도 있습니다. 즉, 의미 체계 모델의 증분 새로 고침도 데이터 흐름으로 폴딩할 수 있습니다. 이 기능은 새로 고침 성능을 향상하며 새로 고침 주기 간의 대기 시간을 단축할 수 있습니다.

프리미엄 데이터 흐름에 대해 이 기능을 사용하려면 컴퓨팅 엔진이 명시적으로 On으로 설정되어 있는지 확인합니다. 그런 다음, Power BI Desktop의 데이터 흐름 커넥터를 사용합니다. 이 기능을 활용하려면 2021년 8월 버전 이상의 Power BI Desktop을 사용해야 합니다.

기존 솔루션에 이 기능을 사용하려면 Premium 또는 사용자 단위 Premium 구독이 있어야 합니다. 또한 고급 컴퓨팅 엔진 사용에 설명된 대로 데이터 흐름을 일부 변경해야 할 수도 있습니다. 원본 섹션의 PowerBI.DataflowsPowerPlatform.Dataflows로 바꿔 새 커넥터를 사용하도록 기존 파워 쿼리의 쿼리를 업데이트해야 합니다.

Power Query에서 복잡한 데이터 흐름 작성

수백만 개의 데이터 행인 데이터 흐름이 있지만 복잡한 비즈니스 논리 및 변환을 빌드하고자 한다고 가정합니다. 대규모 데이터 흐름 작업에 대한 모범 사례를 따르려고 합니다. 또한 신속한 수행을 위해 데이터 흐름 미리 보기가 필요합니다. 그러나 수십 개의 열과 수백만 개의 데이터 행이 있습니다.

해결 방법: 스키마 뷰 사용

쿼리의 열 정보를 앞쪽과 가운데에 배치하여 스키마 수준 작업 시 흐름을 최적화하도록 설계된 스키마 뷰를 사용할 수 있습니다. 스키마 뷰는 데이터 구조를 셰이핑하기 위한 컨텍스트 상호 작용을 제공합니다. 또한 스키마 뷰는 전체 데이터 결과가 아닌 열 메타데이터만 계산하면 되므로 작업 대기 시간을 줄입니다.

더 대규모 데이터 원본 작업

원본 시스템에서 쿼리를 실행하지만 시스템에 직접 액세스하거나 액세스를 보편화하고 싶지는 않다고 가정합니다. 이를 데이터 흐름에 배치할 계획입니다.

해결 방법 1: 쿼리에 대한 뷰 사용 또는 쿼리 최적화

최적화된 데이터 원본 및 쿼리를 사용하는 것이 가장 좋습니다. 데이터 원본은 의도된 쿼리에서 가장 잘 작동하는 경우가 많습니다. 파워 쿼리에는 이러한 워크로드를 위임하는 고급 쿼리 폴딩 기능이 있습니다. Power BI는 파워 쿼리 온라인에서 단계 폴딩 표시기도 제공합니다. 단계 폴딩 표시기 설명서에서 지표 유형에 대해 자세히 알아보세요.

해결 방법 2: 기본 쿼리 사용

Value.NativeQuery() M 함수를 사용할 수도 있습니다. 세 번째 매개 변수에서 EnableFolding=true를 설정합니다. 네이티브 쿼리는 Postgres 커넥터에 대한 이 웹 사이트에 설명되어 있습니다. SQL Server 커넥터에서도 작동합니다.

해결 방법 3: 데이터 흐름을 수집 및 소비 데이터 흐름으로 구분하여 ECE 및 연결된 엔터티를 활용

데이터 흐름을 별도의 수집 및 소비 데이터 흐름으로 구분하면 ECE 및 연결된 엔터티를 활용할 수 있습니다. 이 패턴 및 기타에 대한 자세한 내용은 모범 사례 설명서에서 확인할 수 있습니다.

가능하면 고객이 데이터 흐름을 사용하도록 보장

고객, 데이터 테이블, 제품, 지역 등 일치된 차원과 같은 일반적인 용도를 제공하는 많은 데이터 흐름이 있다고 가정합니다. 데이터 흐름은 Power BI에 대한 리본에서 이미 사용할 수 있습니다. 이상적으로는 자신이 만든 데이터 흐름을 고객이 주로 사용하길 원합니다.

해결 방법: 보증을 사용하여 데이터 흐름 인증 및 승격

보증 작동 방식에 대한 자세한 내용은 보증: Power BI 콘텐츠 승격 및 인증을 참조하세요.

Power BI 데이터 흐름의 프로그래밍 기능 및 자동화

가져오기, 내보내기 또는 새로 고침을 자동화하는 비즈니스 요구 사항과 Power BI 외부의 더 많은 오케스트레이션 및 작업이 있다고 가정합니다. 다음 표에 설명된 대로 몇 가지 옵션을 사용할 수 있습니다.

Type 메커니즘
PowerAutomate 템플릿 사용. 코드 없음
PowerShell에서 자동화 스크립트 사용. 자동화 스크립트
API를 사용하여 자체 비즈니스 논리 빌드. Rest API

새로 고침에 대한 자세한 내용은 데이터 흐름 새로 고침 이해 및 최적화를 참조하세요.

데이터 자산 다운스트림 보호 보장

민감도 레이블을 사용하여 데이터 흐름에 연결하는 다운스트림 항목에 구성한 데이터 분류 및 모든 규칙을 적용할 수 있습니다. 민감도 레이블에 관한 자세한 내용은 Power BI의 민감도 레이블을 참조하세요. 상속을 검토하려면 Power BI의 민감도 레이블 다운스트림 상속을 참조하세요.

다중 지역 지원

오늘날 많은 고객이 데이터 주권 및 상주 요구 사항을 충족해야 합니다. 다중 지역으로 데이터 흐름 작업 영역에 대한 수동 구성을 완료할 수 있습니다.

자체 스토리지 계정 사용 기능을 사용하면 데이터 흐름이 다중 지역을 지원합니다. 이 기능은 Azure Data Lake Gen 2를 사용하도록 데이터 흐름 스토리지 구성에 설명되어 있습니다. 작업 영역은 이 기능을 위해 연결하기 전에 비어 있어야 합니다. 이 특정 구성을 사용하여 데이터 흐름 데이터를 원하는 지리적 영역에 저장할 수 있습니다.

가상 네트워크 뒤에서 데이터 자산 보호 보장

오늘날 많은 고객이 프라이빗 엔드포인트 이면에서 데이터 자산을 보호해야 합니다. 이렇게 하려면 가상 네트워크 및 게이트웨이를 사용하여 준수 상태를 유지합니다. 다음 표에서는 현재 가상 네트워크 지원에 대해 설명하고 데이터 흐름을 사용하여 규정을 준수하고 데이터 자산을 보호하는 방법을 설명합니다.

시나리오 상태
온-프레미스 게이트웨이를 통해 가상 네트워크 데이터 원본을 읽습니다. 온-프레미스 게이트웨이를 통해 지원됨
온-프레미스 게이트웨이를 사용하여 가상 네트워크 뒤의 민감도 레이블 계정에 데이터를 씁니다. 아직 지원되지 않음

다음 문서에서는 데이터 흐름 및 Power BI에 관한 자세한 정보를 제공합니다.