더북(TheBook)

키는 값에 대한 참조 정보로 주소와 유사하다. 1232 NE River St.는 특정 장소에 있는 건물에 대한 참조 정보로, 이를 통해 집배원과 택배 서비스 기사들은 특정 빌딩을 찾아 편지나 물건을 배달한다. 1232 NE River St.라는 문자열이 실제 빌딩은 아니지만 해당 빌딩을 찾을 방법은 제공한다. 키-값 데이터베이스에서 키는 값이라기보다는 값을 찾고 조작하기 위한 수단을 의미한다.

키는 사용하는 키-값 데이터베이스 종류에 따라 그 형식이 다르다. 최소한 하나의 키는 Cust9876이나 Patient:A384J:Allergies처럼 문자열로 명시한다. Redis(www.redis.to) 같은 키-값 데이터베이스는 더 복잡한 데이터 구조를 키로 지원한다. Redis 2.8.13 버전에서 키에 사용할 수 있는 데이터 타입은 다음과 같다.

문자열

리스트

집합

정렬 집합

해시

비트 배열

Note Redis 개발자들은 키-값 데이터 저장 구조 대신 ‘데이터 구조 서버’라는 용어를 사용한다. 더 자세한 내용은 http://redis.io/topics/data-types-intro에서 확인할 수 있다.

리스트list는 정렬된 문자열의 묶음이다. 집합set은 정렬되지 않은 고유한 항목을 묶어놓은 것이다. 정렬 집합sorted set은 특정 순서로 정렬된 고유한 항목을 묶어놓은 것이다. 해시hash는 키-값 특성을 가진 데이터 구조로 문자열 하나를 다른 문자열과 매핑한다. 비트 배열bit array은 이진 정수 배열로 다양한 비트 배열 연산을 사용해 각 개별 비트를 조작할 수 있다.

▶ 이 주제에 관해 더 자세히 알고 싶다면 이 장의 4.3절에 있는 해시 함수를 참조하기 바란다.

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