> For the complete documentation index, see [llms.txt](https://haleyryu.gitbook.io/engineer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://haleyryu.gitbook.io/engineer/paper/dynamo-amazons-highly-available-key-value-store/4.-system-architecture/4.1-system-interface.md).

# 4.1 System Interface

## 4.1 System Interface

* Dynamo 는 간단한 Key 를 통해 연관된 객체를 저장합니다.
* 따라서 Interface 는 `get()` 과 `put()` 두가지 작업을 노출합니다.

#### get(key)

* locates the object replicas associated with the key in the storage system and returns a single object or a list of objects with conflicting versions along with a context.

#### put(key)

* determines where the replicas of the object should be placed based on the associated key, and writes the replicas to disk.

#### Context

* 시스템 메타 데이터를 인코딩합니다.
* 호출자에게 불투명 한 객체이며 다음과 같은 정보를 포함합니다.
* The context information is stored along with the object so that the system can verify the validity of the context object supplied in the put request.

#### Dynamo

* Dynamo는 호출자가 제공 한 키와 객체를 모두 처리합니다.
* It applies a MD5 hash on the key to generate a 128-bit identifier, which is used to determine the storage nodes that are responsible for serving the key.
