# QVD 파일

A QVD (QlikView Data) 파일은 Qlik Sense 또는 QlikView에서 내보낸 데이터 테이블이 포함된 파일입니다. QVD는 기본 Qlik 형식이며 Qlik Sense 또는 QlikView에서만 쓰고 읽을 수 있습니다. 이 파일 형식은 Qlik Sense 스크립트에서 데이터를 읽을 때 속도에 최적화되어 있으면서도 여전히 매우 작습니다. QVD 파일에서 데이터를 읽는 것은 일반적으로 다른 데이터 소스에서 읽는 것보다 10~100배 더 빠릅니다.

QVD 파일은 표준(빠름) 및 최적화(더 빠름)의 두 가지 모드로 읽을 수 있습니다. 선택한 모드는 Qlik Sense 스크립트 엔진에 의해 자동으로 결정됩니다. 최적화 모드는 로드된 모든 필드가 변환(필드에 작용하는 수식) 없이 읽힐 때만 활용할 수 있지만 필드 이름 바꾸기는 허용됩니다. Qlik Sense에서 레코드의 압축을 풀게 하는 Where 절도 최적화된 로드를 비활성화합니다.

QVD 파일은 정확히 하나의 데이터 테이블을 보유하며 세 부분으로 구성됩니다.

* 테이블의 필드, 후속 정보의 레이아웃 및 기타 메타데이터를 설명하는 XML 헤더(UTF-8 문자 집합).
* 바이트 스터핑 형식의 기호 테이블.
* 비트 스터핑 형식의 실제 테이블 데이터.

QVD 파일은 다양한 용도로 사용할 수 있습니다. 세 가지 주요 용도를 쉽게 식별할 수 있습니다. 특정 상황에서 두 개 이상이 적용될 수 있습니다.

* 데이터베이스 서버의 부하 감소

  외부 데이터 소스에서 가져오는 데이터의 양도 크게 줄일 수 있습니다. 이렇게 하면 외부 데이터베이스의 워크로드와 네트워크 트래픽이 줄어듭니다. 또한 여러 Qlik Sense 스크립트가 동일한 데이터를 공유하는 경우 소스 데이터베이스에서 QVD 파일로 한 번만 로드하면 됩니다. 다른 응용 프로그램은 이 QVD 파일을 통해 동일한 데이터를 사용할 수 있습니다.
* 여러 Qlik Sense 응용 프로그램의 데이터 통합.

  Binary 스크립트 문을 사용하면 단일 Qlik Sense 응용 프로그램에서 다른 응용 프로그램으로만 데이터를 로드할 수 있지만, QVD 파일을 사용하면 Qlik Sense 스크립트가 여러 Qlik Sense 응용 프로그램의 데이터를 결합할 수 있습니다. 이를 통해 여러 사업부 등의 유사한 데이터를 통합하는 응용 프로그램의 가능성이 열립니다.
* 증분 로드

  일반적인 여러 경우에 QVD 기능은 증가하는 데이터베이스에서 새 레코드만 독점적으로 로드하여 증분 로드를 용이하게 하는 데 사용할 수 있습니다.

정보 메모

Qlik 커뮤니티에서 Qlik Automate를 사용하여 QVD 로드 시간을 개선하는 방법을 보려면 [자동화를 사용하여 QVD를 분할하여 다시 로드를 개선하는 방법](https://community.qlik.com/t5/Official-Support-Articles/How-to-split-QVDs-using-an-automation-to-improve-reloads/ta-p/1997153)을 참조하십시오.

## QVD 파일 만들기

QVD 파일은 스크립트의 store 명령을 사용하여 만들고 이름을 지정할 수 있습니다. 이전에 읽은 테이블 또는 그 일부를 선택한 위치의 명시적으로 이름이 지정된 파일로 내보내도록 스크립트에 명시합니다.

### Store

이 스크립트 문은 명시적으로 이름이 지정된 QVD, Parquet, CSV 또는 TXT 파일을 만듭니다.

```
Store[ *fieldlist from] table into filename [ format-spec ];
```

이 문은 하나의 데이터 테이블에서만 필드를 내보낼 수 있습니다. 여러 테이블의 필드를 내보내려면 스크립트에서 이전에 명시적 조인을 수행하여 내보낼 데이터 테이블을 만들어야 합니다.

텍스트 값은 UTF-8 형식의 CSV 파일로 내보내집니다. 구분 기호를 지정할 수 있습니다. LOAD를 참조하십시오. CSV 파일에 대한 store 문은 BIFF 내보내기를 지원하지 않습니다.

예:

```
Store mytable into [lib://DataFiles/xyz.qvd]; 
Store * from mytable into [lib://DataFiles/xyz.qvd]; 
Store myfield from mytable into [lib://DataFiles/xyz.qvd]; 
Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; 
Store mytable into [lib://DataFiles/myfile1.txt]; 
Store mytable into [lib://DataFiles/myfile2.csv]; 
```

다음과 같이 하십시오.

1. 고급 스크립팅 자습서 응용 프로그램을 엽니다.
2. Product 스크립트 섹션을 클릭합니다.
3. 스크립트 끝에 다음을 추가합니다.
   ```
   Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
   ```

   스크립트는 다음과 같이 표시되어야 합니다.
   ```
   CrossTable(Month, Sales)
   LOAD
       Product,
       "Jan 2014",
       "Feb 2014",
       "Mar 2014",
       "Apr 2014",
       "May 2014"
   FROM [lib://DataFiles/Product.xlsx] 
   (ooxml, embedded labels, table is Product);

   Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
   ```
4. 데이터 로드를 클릭합니다.

   이제 Product.qvd 파일이 파일 목록에 있어야 합니다.

   이 데이터 파일은 Crosstable 스크립트의 결과이며 각 범주(Product, Month, Sales)에 대해 하나의 열이 있는 3열 테이블입니다. 이제 이 데이터 파일을 사용하여 전체 Product 스크립트 섹션을 바꿀 수 있습니다.

## QVD 파일에서 데이터 읽기

QVD 파일은 다음 방법을 통해 Qlik Sense로 읽어오거나 액세스할 수 있습니다.

* QVD 파일을 명시적 데이터 소스로 로드합니다. QVD 파일은 다른 유형의 텍스트 파일(csv, fix, dif, biff 등)과 마찬가지로 Qlik Sense 스크립트의 load 문에서 참조할 수 있습니다.

  예:

  LOAD \* from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);

* 스크립트에서 QVD 파일에 액세스합니다. QVD 파일의 XML 헤더에 있는 데이터에 대한 다양한 정보를 검색하는 데 여러 스크립트 함수(모두 QVD로 시작)를 사용할 수 있습니다.

다음과 같이 하십시오.

1. Product 스크립트 섹션의 전체 스크립트를 주석 처리합니다.
2. 다음 스크립트를 입력합니다.
   ```
   Load * from [lib://DataFiles/ProductData.qvd](qvd);			
   ```
3. 데이터 로드를 클릭합니다.

   데이터가 QVD 파일에서 로드됩니다.

   데이터 로드 진행률 창

   데이터 로드 진행률 창

   데이터 로드 진행률 창 ![데이터 로드 진행률 창.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/tutorial-load-qvd.png)

정보 메모증분 로드에 QVD 파일을 사용하는 방법에 대해 알아보려면 Qlik Community의 다음 블로그 게시물을 참조하십시오. [Qlik 증분 로드 개요](https://community.qlik.com/t5/Qlik-Design-Blog/Overview-of-Qlik-Incremental-Loading/ba-p/1466780)

## 감사합니다!

이제 이 자습서를 마쳤으며 Qlik Sense의 스크립팅에 대한 더 많은 지식을 얻으셨기를 바랍니다. 제공되는 추가 교육에 대한 자세한 내용은 당사 웹 사이트를 방문하십시오.