더북(TheBook)

“난 항상 다양한 음악적 상황과 일치하는 단어를 생각해내려고 노력한다.”

- 로스코 미첼(Roscoe Mitchell), 재즈 작곡가 겸 색소폰 연주자


이 장에서 다룰 내용

이 장은 이 책의 처음 3개 장과는 성격이 다르다. 이 장의 목적은 키-값 데이터베이스를 설명할 때 사용되는 중요한 용어를 설명하는 것이다. NoSQL 데이터베이스를 설명할 때처럼 새로운 분야의 용어를 설명할 때는 항상 닭이 먼저냐 달걀이 먼저냐 하는 문제가 대두된다.

둘 중에 무엇이 먼저일까? 키-값 데이터베이스의 기본적인 내용을 학습한 후 기저에 있는 개념과 용어를 좀 더 자세히 파고들어야 할까? 아니면 키-값 데이터베이스의 큰 그림과는 별개로 용어에 대한 정의를 먼저 배워야 할까? 두 방법 모두 장단점이 있다.

이 책에서는 두 방법의 장점만을 취해 기본 개념을 먼저 소개한 후에 중요한 용어를 자세히 설명하려 한다. 이어서 키-값 데이터베이스의 설계 원칙, 잠재적인 문제점과 빠지기 쉬운 함정, 사용 사례를 포함해 더 향상된 주제로 넘어갈 것이다.

약간 중복되는 부분이 있지만 이 장은 데이터 모델링 용어, 아키텍처 용어, 구현에 관한 용어 등 세 가지 주제로 나뉘어 있다. 이러한 구성은 다소 임의적이며 아키텍처와 구현 절에서 나오는 일부 용어는 서로 겹치기도 한다. 어떤 절에서 용어를 다루는가보다는 용어 그 자체가 중요하다는 사실을 잊지 말자.

NoSQL 데이터베이스는 관계형 데이터베이스와 같은 수준의 표준화가 이루어지지 않았다. 예를 들어 관계형 데이터베이스에서 사용하는 SQL에 비교할 만한 표준 NoSQL 질의 언어는 없다. 또한, 여러 벤더와 오픈 소스 프로젝트에서는 다른 NoSQL 데이터베이스에 없는 용어나 데이터 구조를 가끔 소개하기도 한다.

용어를 정리한 장(NoSQL 데이터베이스의 네 가지 주요 유형에 한 장씩 할당하고 있다)에서는 특정 벤더나 프로젝트에 특화된 용어도 소개할 기회를 마련했다. 특정 벤더와 오픈 소스 프로젝트에 특화된 용어에 친숙해지면 NoSQL 데이터베이스 기반의 애플리케이션을 만드는 데 도움이 될 것이다.

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