더북(TheBook)

메모리와 디스크 키-값 데이터베이스: 자전거에서 오토바이로

캐시는 데이터베이스 질의를 자주 수행하는 애플리케이션의 성능을 향상하기에 좋다. 키-값 데이터 저장 구조는 디스크나 플래시 장치, 장기기억 저장 장치에 데이터를 영구적으로 저장할 때 더 유용하다. 또한, 영구적인 데이터베이스 스토리지와 더불어 빠른 캐시 성능을 제공한다.

키-값 데이터베이스는 데이터를 정리해 저장하는 데 있어 최소한의 제약만 가한다. 관련 속성 그룹에 대해 고려해야 하는 게 아니라면 테이블을 사용할 필요가 없다.

Note 키-값 데이터베이스의 필수 설계 원칙 중 하나는 ‘값은 키라는 고유 식별자를 가져야 한다’는 점이다. 키는 키-값 데이터베이스에 정의된 이름공간에서 고유해야 한다. 이름공간은 버킷, 데이터베이스, 키-값 쌍의 컬렉션을 가리키는 다른 용어로 불리기도 한다(그림 3-4).

▲ 그림 3-4 키-값 데이터베이스에서 키는 이름공간에서 고유해야 한다


개발자는 테이블이나 네트워크 같은 더 복잡한 데이터 구조에 데이터를 넣는 것보다 데이터의 저장과 검색의 용이성이 더 중요하다고 판단할 때 키-값 데이터베이스를 사용하는 경향이 있다.

Note 키-값 데이터베이스를 사용하면 네트워크나 테이블 같은 데이터 구조를 손쉽게 구현할 수 있다. 개발자는 테이블 이름, 주요 키 값, 속성 이름이 포함된 키-명명 규칙을 사용하여 속성값을 저장하기 위한 키를 생성한다. 다음 예를 보자.


customer:1982737:firstName

customer:1982737:lastName

customer:1982737:shippingAddress

customer:1982737:shippingCity

customer:1982737:shippingState

customer:1982737:shippingZip

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