> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Insights 모범 사례

> PlayFab Insights 모범 사례를 따라 캐시 크기 조정, 성능 수준 튜닝, 효율적인 Kusto 쿼리 실행 방법과 자주 묻는 질문에 대한 답변을 확인하세요.

# 모범 사례 및 FAQ

여기서는 PlayFab Insights 사용에 대한 몇 가지 모범 사례를 살펴보고 가장 자주 묻는 질문을 다룹니다.

<Note>
  PlayFab Insights Management는 2026년 3월 31일에 사용이 중단되었습니다. 앞으로 성능과 비용을 관리하려면 [Data Connections](/services/playfab/data-analytics/export-data/data-connection-adx)를 사용하는 것을 권장합니다. 타이틀이 아직 **Insights**를 사용하고 있다면 모범 사례 세부 정보는 이 문서를 계속 참고하세요. 자세한 내용은 [PlayFab Digest: March feature updates](https://developer.microsoft.com/en-us/games/articles/2026/04/playfab-digest-march-feature-updates/)를 참조하세요.
</Note>

## 모범 사례

* 각 성능 수준에는 일정량의 캐시가 함께 제공됩니다. 일일 데이터 사용량을 계산하고 캐시에 보관할 데이터를 며칠 분량으로 할지 결정하는 것이 좋습니다. 작은 버퍼나 잘 알려진 데이터 사용량을 통해 쿼리를 수행하는 사용자는 언제 최적의 성능을 기대할 수 있는지 알 수 있습니다. 빠른 결과를 위해 예상 성능에 맞춰 시각화를 실행하는 것도 권장됩니다.
  * 예를 들어, 스튜디오가 하루에 5GB의 데이터 사용량을 가진다고 가정합니다. 캐시 크기를 450+로 선택하면 캐시에 90일 분량의 데이터를 보관할 수 있습니다. 90일 실행 윈도우에서 모든 시각화를 실행하면 효율적입니다. Join, Union 및 고급 쿼리도 효율적입니다. 또 다른 옵션은 라이브 시각화를 주로 30일 윈도우에 집중시키고 근무 시간 동안에는 캐시 크기를 최대 90일로 설정하고 근무 외 시간에는 30일로 설정하는 것입니다. 이렇게 하면 비용 절감에서 큰 효율성을 만들어냅니다. 또한 데이터는 캐시에서 압축된다는 점을 기억하세요.
* Power BI와 같은 데이터 시각화 플랫폼은 종종 단일 시각화를 위해 여러 쿼리를 실행합니다. 시각화는 순차적으로 업데이트하는 것을 권장합니다. 부하가 크거나 많은 사용자가 사용하는 경우, 동시 쿼리가 더 많이 허용되는 성능 수준으로 높여 외부 도구와 분석가를 위한 동시 쿼리를 확보하는 것이 합리적일 수 있습니다.
* 예약된 확장(scheduled scaling)의 가장 일반적인 사용 사례는 표준 근무 시간에는 확장하고 근무 시간 이후와 주말에는 축소하는 것입니다. 성능 수준을 크게 변경하는 경우(예: 3단계에서 8단계로), 여러 시간 동안 더 높은 성능 수준에 머무를 의도가 있어야 합니다. 캐시에 테라바이트 단위 데이터를 빠르게 로드하고 언로드하는 것은 리소스의 비효율적인 사용입니다. 다른 모든 제한은 즉시 적용되므로 필요한 경우 확장을 변경할 수 있습니다.
* 예약된 확장은 수동 확장과 상호 배타적이지 않습니다. 한낮에 더 많은 리소스가 필요하다면 수동으로 변경할 수 있고, 예약된 확장은 예상대로 계속됩니다.
* 데이터 저장 용량을 줄이면 데이터 손실이 발생할 수 있습니다. 저장 용량을 줄이려고 하면 "Selected retention setting is lower than current setting. Doing so may result in a loss of data."라는 메시지로 경고를 받게 됩니다. 저장 비용이 낮으므로 장기 보관을 권장합니다.
* Insights 관리 명령을 사용하면 사용자 지정 테이블을 생성하고 업데이트할 수 있습니다. 핵심 보고 및 자주 사용되는 테이블의 경우 사용자 지정 집계 테이블을 구축하는 것이 유용합니다. 집계 테이블은 일반적으로 원본 데이터보다 작은 데이터 사용량을 가집니다. 이는 쿼리 성능을 향상시키고 더 높은 성능 수준의 필요성을 줄여줍니다.
  * 데이터 집계를 자동화하려면 저비용의 확장 가능한 자동화 옵션인 Azure Data Factory 사용을 권장합니다. Azure Data Factory 사용에 대한 자세한 내용은 [connectivity](/services/playfab/data-analytics/legacy/connectivity) 섹션을 참조하세요.
* 타임스탬프를 사용하여 쿼리를 제한하는 것은 좋은 데이터 관리 관행입니다. 지난 며칠 동안의 모든 데이터를 한 번에 가져오지 마세요.

## FAQ

### 데이터를 어떻게 쿼리할 수 있나요?

1. 가장 간단한 방법은 내장된 [data explorer](/services/playfab/data-analytics/learn-data/data-explorer)를 사용하는 것입니다.
2. [connectivity](/services/playfab/data-analytics/legacy/connectivity) 섹션에는 데이터에 액세스하는 더 많은 방법에 대한 세부 정보가 있습니다.

### Microsoft 인증 링크(Azure Active Directory 사용)를 보냈는데 작동하지 않았습니다. 무슨 일이 있었나요?

* 이미 PlayFab 계정이 있는 경우, 다른 인증 방법의 초대를 수락하기 전에 로그아웃해야 합니다.

### 성능 수준이나 데이터 보존을 변경하려고 할 때 오류가 발생하는 이유는 무엇인가요?

1. 유료 계정에 등록하지 않은 경우, 성능 수준, 보존, 내보내기 및 일부 관리 명령의 변경은 사용할 수 없습니다.
2. Insights 클러스터가 현재 성능 수준을 변경하는 중이라면 변경이 완료될 때까지 기다려야 합니다.

### 무료 성능 수준과 유료 성능 수준 간에 전환할 수 있나요?

* 물론입니다! 현재 유료 기능이 필요하지 않은 경우 무료 계층으로 되돌릴 수 있습니다.

### Insights 클러스터에 데이터를 어떻게 가져오나요?

1. 대부분의 PlayFab 서비스는 자동으로 데이터를 생성합니다.
2. [PlayStream이나 Telemetry 시스템을 통해](/services/playfab/data-analytics/ingest-data/playstream-events) 자체 원격 분석을 구현할 수도 있습니다.
3. [Management Commands](/services/playfab/data-analytics/legacy/insights/management-commands)를 사용하여 사용자 지정 데이터 집합을 수집할 수 있습니다.

### PlayFab 이벤트의 표준 데이터 스키마는 무엇인가요?

* PlayFab Insights에서는 모든 이벤트의 모든 데이터를 단일 테이블에 로드합니다. 이 테이블의 이름은 \['events.all']입니다. 이 테이블 내부에는 각 이벤트에 대한 JSON 정보 페이로드를 포함하는 "EventData"라는 열이 있습니다. events.all 테이블에 대한 자세한 정보는 [About the events.all table](/services/playfab/data-analytics/acting-data/schemas-events-all)을 참조하세요.

### 왜 SQL을 작성할 수 없나요?

* 현재는 대부분의 시나리오에서 KQL(Kusto Query Language) 쿼리만 지원합니다. SQL 지원 추가를 적극적으로 검토하고 있습니다. KQL에 익숙해지려면 시간이 걸리지만 익숙해지면 좋아하실 것입니다. SQL을 Kusto 쿼리로 변환하는 방법은 [SQL to Kusto query translation](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/sqlcheatsheet)을 참조하세요.

### 내 Insights 성능 수준의 초당 이벤트 수(Events Per Second)와 PlayStream 이벤트 전송 비용의 차이점은 무엇인가요?

* Insights 성능 수준의 초당 이벤트 수는 어떤 수단을 통해서든 클러스터로 유입되는 데이터 수집을 나타냅니다. PlayStream write events와 write telemetry events는 별도로 청구되며 클라우드에 쓰기 비용을 나타냅니다.

### 관리 페이지에 표시되는 것보다 더 높은 성능 수준을 가질 수 있나요?

* [지원 티켓](https://support.playfab.com/hc/requests/new)을 등록해 주시면 요구 사항을 충족하는 방안을 협의하기 위해 저희가 연락드리겠습니다.

### PlayFab Insights의 기반 기술은 무엇인가요?

* PlayFab Insights는 Azure Data Explorer(Kusto)의 특화된 변형을 사용합니다.

### 사용자 지정 쿼리를 사용하여 내보낼 때 데이터 스키마가 다른 이유는 무엇인가요?

* 사용자 지정 쿼리 출력에는 ETL(Extract Transform Load) 프로세스의 세부 정보가 포함됩니다. 일부 추가 열이 포함됩니다. 해당 열은 쿼리 환경에서 목적이 없기 때문에 숨겨져 있습니다.

### 보존 설정을 보유한 데이터의 총 일수보다 적은 일수로 줄이면 어떻게 되나요?

* 보존을 줄이면 데이터가 삭제될 수 있다는 경고가 표시됩니다. 예를 들어 1년 동안 운영해왔고 보존을 6개월로 줄이면 가장 최근 6개월 분량의 데이터만 저장되고 나머지는 삭제됩니다.

### 쿼리의 시간 초과 시간을 어떻게 늘리나요?

* 쿼리의 시간 초과 제한은 성능 수준에 정의된 컴퓨팅 파워와 관련이 있습니다. [Performance and Retention](/services/playfab/data-analytics/legacy/insights/performance-retention)의 컴퓨팅 파워 아래에 있는 컴퓨팅 파워 테이블을 참조하세요.

### 보낼 수 있는 원격 분석의 양에 제한이 있나요?

* [WriteTelemetryEvents](xref:titleid.playfabapi.com.events.playstreamevents.writetelemetryevents) API 호출에는 다음과 같은 제한이 있습니다.
  | 제한 이름                                                                                             | 제한 값            | 참고                                                                                                       |
  | ------------------------------------------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------- |
  | 요청당 이벤트 수                                                                                         | 요청당 200개 이벤트    | 이 제한을 초과하면 `BadRequest` 오류가 발생합니다.                                                                       |
  | 엔터티당 이벤트 수                                                                                        | 초당 8,000개       | 이 제한을 초과하면 `PerEntityEventRateLimitExceeded` 오류가 발생합니다. 엔터티는 대부분 개별 플레이어를 나타내지만, 플레이어 그룹이나 타이틀일 수도 있습니다. |
  | 최대 페이로드 크기                                                                                        | 10,240바이트(10KB) |                                                                                                          |
  | 이러한 제한에 부딪히면 PlayFab 지원팀에 도움을 요청하세요. Game Manager 오른쪽 상단에서 물음표 아이콘을 선택한 다음 **Contact Us**를 선택하세요. |                 |                                                                                                          |

### 쿼리를 실행하려고 하면 "Query execution has exceeded the allowed limits" 오류가 발생합니다.

* 이 오류는 결과 집합의 크기 또는 결과 집합의 행 수가 허용된 제한을 초과할 때 발생합니다. *where*, *limit* 또는 *summarize* 연산자를 사용하여 관련 데이터로 쿼리 범위를 좁혀 반환되는 데이터의 양을 제한해 보세요.
* 모든 데이터를 내보내려면 PlayFab Game Manager의 **Title Overview** 페이지에서 **Data** 아래의 **Event Export Tab**으로 이동하세요.
* 데이터의 일부만 가져오거나 여전히 쿼리 제한에 부딪히는 경우, 시간이나 고유 ID(예: Player ID, Title ID)로 데이터를 분할하고 여러 개의 더 작은 쿼리를 실행할 수 있습니다. 다음은 시간을 기준으로 분할하는 방법의 예입니다.

Where

```sql theme={null}
let start = datetime(2020-08-03);
let end = datetime(2020-08-07);
['events.all'] | where Timestamp between(start .. end)
```

Limit

```sql theme={null}
['events.all'] | limit 1000
```

Summarize

```sql theme={null}
['events.all'] | summarize count() by FullName_Name, bin(Timestamp, 1d)
```

* 자세한 내용은 [Kusto documentation](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/concepts/querylimits)을 참조하세요.

### truncationmaxsize와 truncationmaxrecords 변수를 더 큰 값으로 설정했는데 여전히 오류가 발생합니다.

* PlayFab Insights는 현재 이러한 변수 설정을 지원하지 않습니다. 쿼리 작성 팁은 위를 참조하세요.

### Insights 데이터를 쿼리하면 이벤트 수집이 방해받나요?

* 아니요. PlayFab 이벤트는 성능 저하 없이 타이틀 데이터베이스로 유입됩니다.

### 내 쿼리에서 "Partial query failure: Low memory condition" 오류가 반환됩니다.

* 이는 쿼리가 너무 복잡해서 성능 수준의 메모리 한도 내에 들어갈 수 없다는 뜻입니다. 쿼리를 단순화해 보세요. 예를 들어, summarize 호출에 그룹이 너무 많거나, 한 번에 너무 많은 행을 처리하려고 할 수 있습니다. 또한 성능 수준을 업그레이드하여 각 쿼리에 더 많은 메모리를 할당할 수도 있습니다.
* 자세한 내용은 [Kusto documentation](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/concepts/partialqueryfailures)을 참조하세요.

### 이벤트 양이 성능 수준에서 허용하는 것보다 많으면 데이터를 잃나요?

* 아니요. 다만 초과분에 대해 비용이 청구됩니다. 초과분은 소모된 Insights Credits 수로 측정됩니다. Insights Credit 가격은 [PlayFab.com/Pricing](https://playfab.com/pricing/)에서 확인할 수 있습니다.

### 성능 수준을 어떻게 결정하나요?

* 적절한 성능 수준은 타이틀의 사용량에 따라 가장 잘 결정됩니다. 성능 수준을 높이면 캐시의 더 많은 데이터와 다른 쿼리 리소스에 대한 액세스를 얻어 쿼리 실행 속도가 빨라집니다. 성능 수준에 대해 자세히 알아보려면 [Performance levels and retention](/services/playfab/data-analytics/legacy/insights/performance-retention)을 참조하세요.

## 특정 타이틀의 Data > Explorer 페이지에 대한 권한을 사용자에게 어떻게 부여하나요?

* 사용자 액세스, 생성 및 권한 부여는 [PlayFab User Roles](/services/playfab/identity/dev-identity/permissions/playfab-user-roles) 가이드를 따르세요.
* 사용자가 Data Explorer에 액세스하려면 다음 3가지 권한이 필요합니다.
  * Explorer data & tab(읽기 및 쓰기 권한)
  * Analytics data read access(읽기 권한)
  * Analytics data write access(쓰기 권한)


## Related topics

- [PlayFab 소비 모범 사례](/ko/services/playfab/pricing/consumption-best-practices.md)
- [모범 사례](/ko/services/xbox-services/develop/best-practices/index.md)
- [Rich Presence 모범 사례](/ko/services/xbox-services/community/presence/concepts/live-presence-best-practices.md)
- [RTA 서비스 모범 사례](/ko/services/xbox-services/fundamentals/rta/concepts/live-rta-best-practices.md)
- [SDK 오류 처리 모범 사례](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript/sdk-error-handling-best-practices.md)
