더북(TheBook)

“디자인은 어떻게 보이고 느껴지느냐의 문제만은 아니다. 디자인은 어떻게 기능하는가의 문제다.”

- 스티브 잡스(Steve Jobs), 애플 컴퓨터, 전임 CEO


이 장에서 다룰 내용

지금까지 4개 장에서 NoSQL 데이터베이스의 기본 내용과 특히 키-값 데이터베이스를 자세히 살펴보았다. 이제 이런 자세한 내용을 업무에 적용할 때가 됐다. 키-값 데이터베이스를 사용하는 애플리케이션을 설계하려면 다음과 같은 여러 가지 요소를 고려해야 한다.

• 키를 생성하는 방법은 무엇인가?

• 값으로 사용하려는 정보의 유형에는 어떤 것이 있는가?

• 키-값 데이터베이스의 한계를 어떻게 극복할 것인가?

• 단순한 키-값 쌍보다 더 높은 수준의 구조를 생성하는 데 도움이 되는 추상화 개념을 어떻게 소개할 것인가?


잘 설계된 키는 애플리케이션 코드를 더 읽기 쉽게 하며 애플리케이션과 키-값 데이터베이스를 관리하기 쉽게 해준다. 기능적 요구 사항을 충족하고 애플리케이션에 적절한 성능을 보장하려면 키-값 쌍으로 올바른 데이터를 사용하는 것이 중요하다. 키-값 데이터베이스가 매우 유용한 것은 사실이지만, 일정 범위의 값을 조회하는 기능 등은 몇 가지 심각한 한계도 있다. 이러한 한계를 극복하기 위한 방법이 몇 가지 있는데, 이 장에서는 애플리케이션과 키-값 데이터베이스를 설계할 때 사용할 만한 설계 패턴을 다룰 것이다.

Note 설계 패턴의 정의

위키피디아에서는 설계 패턴을 다음과 같이 설명한다. “설계 패턴이란 소프트웨어 설계에서 주어진 컨텍스트 안에서 흔히 발생하는 공통 문제에 대한 일반적인 재사용 가능한 해결책이다. 설계 패턴은 직접 소스코드나 기계어로 변환될 수 있는 완성된 설계물이 아니다. 다양한 상황에 사용될 수 있는 문제 해결 방법에 대한 설명이나 템플릿을 말한다.”

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.