

# NoSQL Workbench로 데이터 모델 빌드
<a name="workbench.Modeler"></a>

Amazon DynamoDB용 NoSQL Workbench의 데이터 모델 제작자 도구를 사용하여 새로운 데이터 모델을 빌드하거나 애플리케이션 데이터 액세스 패턴을 충족하는 기존 데이터 모델을 기반으로 모델을 설계할 수 있습니다. 데이터 모델 제작자에는 시작하는 데 도움이 되는 몇 가지 샘플 데이터 모델이 포함되어 있습니다.

**Topics**
+ [새 데이터 모델 생성](workbench.Modeler.CreateNew.md)
+ [기존 데이터 모델 가져오기](workbench.Modeler.ImportExisting.md)
+ [기존 데이터 모델 편집](workbench.Modeler.Edit.md)
+ [데이터 모델에 샘플 데이터 추가하기](workbench.Modeler.AddData.md)
+ [액세스 패턴 추가 및 검증](workbench.Modeler.AccessPatterns.md)
+ [CSV 파일에서 샘플 데이터 가져오기](workbench.Modeler.ImportCSV.md)
+ [패싯](workbench.Modeler.Facets.md)
+ [집계 보기를 사용하여 데이터 모델에서 모든 테이블 보기](workbench.Modeler.AggregateView.md)
+ [데이터 모델 내보내기](workbench.Modeler.ExportModel.md)
+ [데이터 모델을 DynamoDB로 커밋](workbench.Modeler.Commit.md)

# 새 데이터 모델 생성
<a name="workbench.Modeler.CreateNew"></a>

다음 단계에 따라 NoSQL Workbench를 사용하여 Amazon DynamoDB에 새 데이터 모델을 생성합니다.

**새 데이터 모델 생성**

1.  NoSQL Workbench를 열고 기본 화면에서 **모델 수동 생성**을 선택합니다.

    첫 번째 테이블에 대한 빈 구성이 있는 새 페이지가 열립니다. NoSQL Workbench는 기본 이름(즉, untitled-2)으로 모든 새 데이터 모델을 생성하고 **초안** 프로젝트 폴더에 추가합니다.

1.  **테이블 구성 화면**에서 다음을 지정합니다.
   +  **테이블 이름** - 고유한 테이블 이름을 입력합니다.
   +  **파티션 키** - 파티션 키 이름을 입력하고 그 형식을 지정합니다. 필요에 따라 샘플 데이터 생성을 위해 보다 세분화된 데이터 유형 형식을 선택할 수도 있습니다.
   +  **정렬 키**를 추가하려면 정렬 키 이름과 유형을 지정합니다. 필요에 따라 샘플 데이터 생성을 위해 보다 세분화된 데이터 유형 형식을 선택할 수 있습니다.
**참고**  
 프라이머리 키 설계, 효과적인 파티션 키 설계 및 사용, 정렬 키 사용에 대한 자세한 내용은 다음을 참조하세요.  
 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 
 [DynamoDB에서 효과적으로 파티션 키를 설계해 사용하는 모범 사례입니다.](bp-partition-key-design.md) 
 [정렬 키를 사용하여 DynamoDB의 데이터를 정리하는 모범 사례](bp-sort-keys.md) 

1. 다른 속성을 추가하여 모델 및 액세스 패턴을 보다 명확하게 검증할 수 있습니다. 다른 속성을 추가하려는 경우 다음을 수행합니다.
   +  **속성 추가**를 선택합니다.
   +  속성 이름과 형식을 지정합니다.
   +  필요에 따라 샘플 데이터 생성을 위해 보다 세분화된 데이터 유형 형식을 선택할 수 있습니다.

1.  전역 보조 인덱스를 추가할 경우에는 **Add global secondary index(전역 보조 인덱스 추가)**를 선택합니다. **Global secondary index name(전역 보조 인덱스 이름)**, **파티션 키** 속성 및 **Projection type(프로젝션 형식)**을 지정합니다.

   DynamoDB의 글로벌 보조 인덱스 작업에 대한 자세한 내용은 [글로벌 보조 인덱스](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)를 참조하세요.

1.  필요에 따라 **패싯을 추가**합니다. 패싯은 NoSQL Workbench의 가상 구성입니다. DynamoDB에서는 함수 구성이 아닙니다. NoSQL Workbench의 패싯은 테이블의 일부 데이터만 사용하여 DynamoDB에 대한 애플리케이션의 다양한 데이터 액세스 패턴을 시각화하는 데 도움이 됩니다.
**참고**  
 [액세스 패턴 추가 및 검증](workbench.Modeler.AccessPatterns.md)을 사용하여 애플리케이션이 패싯 대신 DynamoDB의 데이터에 액세스하는 방법을 시각화하는 것이 좋습니다. 액세스 패턴은 실제 데이터베이스 상호 작용을 미러링하고 사용 사례에 맞는 올바른 데이터 모델을 구축하는 데 도움이 되는 반면, 패싯은 비기능적 시각화입니다.

    **패싯 추가**를 선택합니다. 다음을 지정합니다.
   +  **Facet name(패싯 이름)** 
   +  **파티션 키 별칭**은 이 패싯 보기를 구분하는 데 도움이 됩니다.
   +  테이블에 **정렬 키**를 제공한 경우 **정렬 키 별칭**입니다.
   +  이 패싯의 일부인 **속성**을 선택합니다.

    패싯을 더 추가하려면 이 단계를 반복합니다.

1.  마지막으로 **저장** 버튼을 클릭하여 테이블을 생성합니다.

1.  다른 **테이블** 또는 **글로벌 보조 인덱스**가 필요한 경우 방금 생성한 테이블 위의 **\$1** 아이콘을 클릭합니다.

# 기존 데이터 모델 가져오기
<a name="workbench.Modeler.ImportExisting"></a>

Amazon DynamoDB용 NoSQL Workbench를 사용하여 기존 모델을 가져와 수정하여 데이터 모델을 구축할 수 있습니다. 데이터 모델은 NoSQL Workbench 모델 형식이나 [AWS CloudFormation JSON 템플릿 형식](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)으로 가져올 수 있습니다.

**데이터 모델 가져오기**

1.  NoSQL Workbench를 열고 기본 화면에서 **모델 가져오기**를 선택합니다. NoSQL Workbench 모델 형식이나 CloudFormation JSON 템플릿으로 가져올 수 있습니다.

1.  가져온 모델을 기존 프로젝트에 추가하거나 새 프로젝트를 생성할 수 있습니다. 다른 프로젝트를 선택하지 않으면 모델이 초안 프로젝트 폴더에 추가됩니다.

1.  **데스크톱 찾아보기**를 클릭하고 컴퓨터에서 가져올 모델을 선택합니다.

# 기존 데이터 모델 편집
<a name="workbench.Modeler.Edit"></a>

**기존 모델을 편집하려면**

1. 기존 모델을 변경하려면 모델러 페이지에서 모델을 엽니다.

1. 리소스 선택기 패널에는 **테이블** 및 **글로벌 보조 인덱스** 목록이 표시됩니다.

1. **테이블** 또는 **글로벌 보조 인덱스**를 편집하려면 먼저 리소스 선택기 패널에서 해당 이름을 클릭한 다음 상단의 작업 아이콘을 사용합니다. 사용 가능한 작업은 **삭제**, **복제** 및 **편집**입니다.

1. **모델 세부 정보**를 편집하려면 모델 이름 옆의 점 3개 아이콘을 클릭합니다.

1. 여기에서 **모델 세부 정보 편집**을 클릭하고 그에 따라 정보를 편집할 수 있습니다.

1. 동일한 메뉴에서 모델을 **복제**, **이동**, **삭제** 및 **내보내기**할 수도 있습니다.

1. 다른 모델로 변경하려면 기본 화면으로 다시 이동하거나 모델 선택 드롭다운을 사용할 수 있습니다.

# 데이터 모델에 샘플 데이터 추가하기
<a name="workbench.Modeler.AddData"></a>

**샘플 데이터를 자동으로 생성하려면**

1. NoSQL Workbench를 열고 기본 화면에서 샘플 데이터를 추가할 모델의 이름을 클릭합니다.

1. 기본 콘텐츠 도구 모음에서 추가 작업(점 3개 아이콘)을 클릭하고 **샘플 데이터 추가**를 선택합니다.

1. 생성하려는 샘플 데이터 항목의 수를 입력한 다음 **확인**을 선택합니다.

1. 샘플 데이터를 자동 생성하면 1\$15000행의 데이터를 생성하여 즉시 사용할 수 있습니다. 세분화된 샘플 데이터 형식을 지정하여 설계 및 테스트 요구 사항에 따라 사실적인 데이터를 생성할 수 있습니다. 사실적인 데이터를 생성하는 기능을 활용하려면 데이터 모델러에서 속성에 샘플 데이터 형식을 지정해야 합니다. 샘플 데이터 형식 지정에 대한 자세한 내용은 [새 데이터 모델 생성](workbench.Modeler.CreateNew.md) 섹션을 참조하세요.

**샘플 데이터를 한 번에 한 항목씩 추가하려면**

1. 편집하려는 모델을 연 다음 샘플 데이터를 추가할 테이블을 선택합니다. 기본 콘텐츠 도구 모음에서 추가 작업(점 3개 아이콘)을 클릭하고 **데이터 편집**을 선택합니다.

1. 이제 행을 추가, 삭제 및 편집할 수 있습니다. 필요한 사항을 변경한 후 **저장** 버튼을 클릭합니다.

# 액세스 패턴 추가 및 검증
<a name="workbench.Modeler.AccessPatterns"></a>

Amazon DynamoDB용 NoSQL Workbench를 사용하여 *액세스 패턴*을 생성, 저장 및 검증할 수 있습니다.

**참고**  
 올바른 액세스 패턴 식별에 대한 자세한 내용은 [데이터 액세스 패턴 식별](https://docs.aws.amazon.com/prescriptive-guidance/latest/dynamodb-data-modeling/step3.html)을 참조하세요.

**액세스 포인트를 생성하려면**

1.  NoSQL Workbench를 열고 기본 화면에서 액세스 패턴을 추가할 모델의 이름을 클릭합니다.

1.  왼쪽에서 **액세스 패턴** 탭을 선택하고 **\$1** 아이콘을 클릭합니다.

1.  다음 화면에서 **이름**, 선택적 **설명**, 액세스 패턴 **유형**, 액세스 패턴을 테스트할 **테이블** 또는 **글로벌 보조 인덱스**를 제공합니다.
**참고**  
 현재 NoSQL Workbench는 액세스 패턴에 대해 `Scan`, `Query`, `GetItem`, `PutItem`, `UpdateItem`, `DeleteItem` 작업을 지원합니다. Amazon DynamoDB는 광범위한 작업 목록을 지원합니다.

1.  액세스 패턴을 생성한 후 **검증** 탭으로 전환하여 데이터 모델이 액세스 패턴에 대한 예상 결과를 반환하도록 설계되었는지 확인할 수 있습니다. 테이블에 대한 샘플 데이터를 자동 생성하는 방법에 대한 자세한 내용은 [데이터 모델에 샘플 데이터 추가하기](workbench.Modeler.AddData.md) 섹션을 참조하세요. 다양한 유형의 액세스 패턴은 다양한 입력 파라미터를 지원합니다.
**참고**  
액세스 패턴을 검증하기 위해 NoSQL Workbench는 메모리에 저장된 테이블과 인덱스가 있는 포트 `8001`(기본값)에서 별도의 DynamoDB 로컬 데이터베이스를 시작합니다.  
NoSQL Workbench는 모델의 샘플 데이터를 임시 테이블에 자동으로 추가합니다.
샘플 데이터 또는 데이터 모델 자체를 편집하면 NoSQL Workbench가 임시 테이블을 업데이트합니다.
애플리케이션을 닫으면 이 임시 데이터베이스가 지워집니다.

**액세스 패턴을 편집하려면**

1.  NoSQL Workbench를 열고 기본 화면에서 액세스 패턴을 편집하려는 모델의 이름을 클릭합니다.

1.  왼쪽에서 **액세스 패턴** 탭을 선택합니다.

1. 액세스 패턴을 편집하려면 왼쪽 목록에서 선택합니다.

1. 상단 표시줄에서 작업 **편집** 버튼을 클릭합니다.

# CSV 파일에서 샘플 데이터 가져오기
<a name="workbench.Modeler.ImportCSV"></a>

기존 샘플 데이터가 CSV 파일에 있는 경우 이를 NoSQL Workbench로 가져올 수 있습니다. 이렇게 하면 한 줄씩 입력할 필요 없이 샘플 데이터로 모델을 빠르게 채울 수 있습니다.

CSV 파일의 열 이름은 데이터 모델의 속성 이름과 일치해야 하지만 순서가 같을 필요는 없습니다. 예를 들어, 데이터 모델에 `LoginAlias`, `FirstName` 및 `LastName`이라는 속성이 있는 경우CSV 열은 `LastName`, `FirstName` 및 `LoginAlias`일 수 있습니다.

CSV 파일에서 한 번에 최대 150개의 행을 가져올 수 있습니다.

**CSV 파일에서 NoSQL Workbench로 데이터 가져오기**

1. CSV 데이터를 **테이블**로 가져오려면 먼저 리소스 패널에서 테이블 이름을 클릭한 다음 기본 콘텐츠 도구 모음에서 추가 작업(점 3개 아이콘)을 클릭합니다.

1. **샘플 데이터 가져오기**를 선택합니다.

1. CSV 파일을 선택하고 **Open**(열기)을 클릭합니다. CSV 데이터가 테이블에 추가됩니다.

# 패싯
<a name="workbench.Modeler.Facets"></a>

 NoSQL Workbench에서 *패싯*을 사용하면 패싯의 제약 조건을 충족하지 않는 레코드를 확인할 필요 없이 테이블에서 데이터의 하위 집합을 볼 수 있습니다. 패싯은 시각적 데이터 모델링 도구로 간주되며 DynamoDB에서 사용 가능한 구성체로 존재하지 않습니다. 패싯은 순전히 액세스 패턴 모델링에 도움이 되기 때문입니다.

**참고**  
 [액세스 패턴 추가 및 검증](workbench.Modeler.AccessPatterns.md)을 사용하여 애플리케이션이 패싯 대신 DynamoDB의 데이터에 액세스하는 방법을 시각화하는 것이 좋습니다. 액세스 패턴은 실제 데이터베이스 상호 작용을 미러링하고 사용 사례에 맞는 올바른 데이터 모델을 구축하는 데 도움이 되는 반면, 패싯은 비기능적 시각화입니다.

**스택을 생성하려면**

1. 리소스 선택기 패널에서 편집하려는 **테이블**을 선택합니다.

1. 상단 표시줄에서 작업 **편집** 아이콘을 클릭합니다.

1. 아래로 스크롤하여 **패싯 필터** 섹션으로 이동합니다.

1.  **패싯 추가**를 선택합니다. 다음을 지정합니다.
   +  **Facet name(패싯 이름)** 
   +  **파티션 키 별칭**은 이 패싯 보기를 구분하는 데 도움이 됩니다.
   +  테이블에 **정렬 키**를 제공한 경우 **정렬 키 별칭**입니다.
   +  이 패싯의 일부인 **속성**을 선택합니다.

    패싯을 더 추가하려면 이 단계를 반복합니다.

# 집계 보기를 사용하여 데이터 모델에서 모든 테이블 보기
<a name="workbench.Modeler.AggregateView"></a>

Amazon DynamoDB용 NoSQL Workbench의 집계 보기를 사용하면 데이터 모델의 모든 테이블과 인덱스를 시각화할 수 있습니다. 각 테이블마다 다음 정보가 나타납니다.
+ 테이블 열 이름
+ 샘플 데이터
+ 테이블과 연결된 모든 전역 보조 인덱스입니다. NoSQL Workbench는 각 인덱스에 대해 다음 정보를 표시합니다.
  + 인덱스 열 이름
  + 샘플 데이터

**모든 테이블 정보 보기**

1. NoSQL Workbench를 열고 기본 화면에서 열려는 모델의 이름을 클릭합니다.

1. 상단 표시줄에서 **집계 보기**를 클릭합니다. 동일한 화면에서 모든 테이블과 인덱스의 데이터를 볼 수 있습니다.

**집계 보기를 이미지로 내보내려면**

1. **집계 보기**를 선택한 상태에서 점 3개 아이콘을 클릭하고 **집계 보기 내보내기**를 선택합니다.

1. 모든 테이블 및 인덱스의 PNG 이미지가 포함된 아카이브가 다운로드용으로 제공됩니다.

# 데이터 모델 내보내기
<a name="workbench.Modeler.ExportModel"></a>

Amazon DynamoDB용 NoSQL Workbench를 사용하여 데이터 모델을 생성한 후에는 NoSQL Workbench 모델 형식 또는[AWS CloudFormation JSON 템플릿 형식](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) 중 하나로 모델을 저장하고 내보낼 수 있습니다.

**데이터 모델 내보내기**

1. NoSQL Workbench를 열고 기본 화면에서 편집하려는 모델의 이름을 클릭합니다.

1. 데이터 모델 이름 옆에 있는 점 3개 아이콘을 클릭하고 **모델 내보내기**를 선택합니다.

1.  데이터 모델을 NoSQL Workbench 모델 형식으로 내보낼지 CloudFormation JSON 템플릿 형식으로 내보낼지 선택합니다.
   +  NoSQL Workbench를 사용하여 모델을 다른 팀원과 공유하거나 나중에 NoSQL Workbench로 가져오려면 **NoSQL Workbench 모델** 형식을 선택합니다.
   +  모델을 AWS에 직접 배포하거나 infrastructure-as-code 워크플로에 통합하려면 **CloudFormation JSON 템플릿** 형식을 선택합니다.

# 데이터 모델을 DynamoDB로 커밋
<a name="workbench.Modeler.Commit"></a>

 데이터 모델에 만족하면 모델을 Amazon DynamoDB로 커밋할 수 있습니다.

**참고**  
이 작업을 하면 데이터 모델에 표시되는 테이블과 글로벌 보조 인덱스의 서버 측 리소스가 AWS에 생성됩니다.
NoSQL Workbench는 기본적으로 온디맨드 용량으로 테이블과 인덱스를 생성합니다.

**데이터 모델을 DynamoDB로 커밋하기**

1. NoSQL Workbench를 열고 기본 화면에서 커밋하려는 모델의 이름을 클릭합니다.

1. 상단 표시줄에서 **커밋**을 클릭합니다.

1. 기존 연결을 선택하거나 **새 연결 추가** 버튼을 선택하여 새 연결을 생성합니다.
   + 새 연결을 추가하려면 다음 정보를 지정합니다.
     + **Account Alias(계정 별칭**
     + **AWS 리전**
     + **액세스 키 ID**
     + **비밀 액세스 키**

     액세스 키를 얻는 방법에 대한 자세한 내용은 [AWS 액세스 키 가져오기](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.GetCredentials)를 참조하세요.
   + 필요한 경우 다음을 지정할 수 있습니다.
     + [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)
     + [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)

1. [DynamoDB 로컬](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html)을 사용하려는 경우 다음을 수행합니다.

   1. **로컬 연결** 탭을 선택합니다.

   1. **새 연결 추가** 버튼을 클릭합니다.

   1. **연결 이름**과 **포트**를 지정합니다.
**참고**  
 DynamoDB 로컬을 사용하려면 NoSQL Workbench 화면 왼쪽 하단에 있는 **DynamoDB 로컬** 토글을 사용하여 켜야 합니다.

1. **커밋**을 클릭합니다.