

# DynamoDB에 대한 높은 수준의 프로그래밍 인터페이스
<a name="HigherLevelInterfaces"></a>

AWS SDK는 애플리케이션에 Amazon DynamoDB에서 사용할 수 있는 하위 수준의 인터페이스를 제공합니다. 이러한 클라이언트 측 클래스와 메서드는 하위 수준 DynamoDB API에 직접적으로 대응합니다. 그러나 많은 개발자들이 복잡한 데이터 형식을 데이터베이스 테이블의 항목으로 매핑해야 할 때 연결 끊김 현상, 다시 말해 *임피던스 불일치*를 경험합니다. 하위 수준의 데이터베이스 인터페이스를 사용하는 개발자는 객체 데이터를 읽거나 데이터베이스 테이블에 쓰기 위한 메서드를 작성해야 하며 그 반대의 경우도 마찬가지입니다. 각 객체 유형 및 데이터베이스 테이블 조합에 필요한 추가 코드의 양은 엄청날 수 있습니다.

Java 및 .NET용 AWS SDK는 개발을 간소화하기 위해 높은 수준의 추상화를 갖춘 인터페이스를 추가로 제공합니다. 높은 수준의 DynamoDB 인터페이스를 사용하면 프로그램의 객체와 해당 객체의 데이터를 저장하는 데이터베이스 테이블 간의 관계를 정의할 수 있습니다. 이러한 매핑을 정의한 후 `save`, `load` 또는 `delete`와 같은 간단한 객체 메서드를 호출하면 기본 하위 수준 DynamoDB 작업이 사용자를 대신하여 자동으로 호출됩니다. 이를 통해 데이터베이스 중심 코드가 아니라 객체 중심 코드를 만들 수 있습니다.

높은 수준의 DynamoDB 프로그래밍 인터페이스는 Java 및 .NET용 AWS SDK에서 제공됩니다.

**Java**
+ [Java 1.x: DynamoDBMapper](DynamoDBMapper.md)
+ [Java 2.x: DynamoDB 고급형 클라이언트](DynamoDBEnhanced.md)

**.NET**
+ [DynamoDB에서 .NET 문서 모델을 사용하여 작업](DotNetSDKMidLevel.md)
+ [.NET 객체 지속성 모델 및 DynamoDB로 작업](DotNetSDKHighLevel.md)