키-값 데이터베이스는 레코드가 일련의 키(식별자) 및 값(식별자 값)으로 저장되는 NoSQL 비관계형 스토리지 전략입니다. 키-값 쌍은 간단한 숫자 또는 문자열일 수 있으며, 값은 이미지 또는 지리 공간 데이터와 같은 객체일 수 있습니다. 빠른 응답이 필요한 대용량 애플리케이션은 핵심 가치 데이터베이스의 이점을 누릴 수 있습니다.
핵심 가치 매장이란?
관계형 데이터베이스는 데이터를 테이블에 저장하지만 키-값 관계는 일련의 키와 값입니다. 키는 데이터베이스에서 올바른 값을 쿼리하는 데 사용되는 고유 식별자입니다. 예를 들어, 제품의 가격은 키로 “가격”을, 가치로 “12.00”을 저장할 수 있습니다. 일부 애플리케이션은 메타데이터에 키-값 저장소를 사용하며, 이는 대규모 관계형 또는 기타 비관계형 데이터베이스의 추가 정보를 쿼리하는 데 사용될 수 있습니다.
일련의 키-값 쌍을 저장하면 쿼리가 더 빨라지므로, 빠른 응답이 필요하고 수백만 명의 사용자를 지원하는 애플리케이션이 키-값 데이터베이스를 사용하면 혜택을 누릴 수 있습니다. 또한, 키-가치 스토리지는 기업이 추가적인 대규모 데이터 사일로에 연결하기 위해 간단한 메타데이터를 저장해야 할 때 유용합니다. 일부 기업은 수백만 개의 요청이 데이터베이스에 도달하는 간단한 데이터 세트에 키-값 쌍을 사용하지만 쿼리당 몇 개의 값만 반환해야 합니다.
핵심 가치 매장 활용
소규모 데이터 세트를 쿼리하는 애플리케이션은 키-가치 저장소의 속도에서 혜택을 얻을 수 있습니다. 예를 들어, 수백만 명의 사용자가 소셜 미디어 피드를 사용하고 있다고 가정해 봅시다. 사용자는 지속적으로 피드를 새로 고치고, 애플리케이션에 피드의 상위 5개 스레드가 표시됩니다. 최신 게시물과 게시물에 대한 링크가 있는 키-값 쌍을 저장할 수 있습니다.
또한 실시간 애플리케이션은 핵심 가치 매장의 혜택을 누릴 수 있습니다. 키 값 저장소는 데이터를 빠르게 반환하기 때문에 티커 또는 초 단위 업데이트가 있는 애플리케이션이 데이터를 사용합니다. 예를 들어, 특정 주식의 최신 값을 표시하는 주식 티커는 매초마다 디스플레이 업데이트를 요구합니다. 이러한 쿼리에는 키-값 데이터베이스를 사용할 수 있습니다.
핵심 가치 데이터베이스의 예
핵심 가치 매장과 관계형 데이터베이스 비교
기존 관계형 데이터베이스는 기존 애플리케이션에서 여전히 그 목적을 가지고 있습니다. 관계형 데이터베이스는 값을 테이블과 같은 전략으로 저장합니다. 단일 레코드에는 여러 개의 열이 있으며 각 열에는 할당된 값이 있습니다. 개발자는 각 레코드에 고유한 식별자를 할당하여 정보를 올바른 레코드와 연결할 수 있습니다. 예를 들어, 고유한 고객 식별자는 고객의 이름과 주소를 연결합니다. 이 예제의 이름과 주소는 두 개의 열이며, 고유 식별자, 이름 및 주소를 포함한 고객의 정보는 단일 레코드입니다.
키 값 저장소는 단일 고유 식별자 키를 값과 연결합니다. 값은 단순한 숫자나 문자열 이상일 수 있습니다. 키 값 저장소는 단일 키 식별자에 객체를 할당할 수 있으므로 개발자는 기본 데이터로 제한되지 않습니다. 키의 조합을 사용하여 특정 데이터를 검색할 수도 있습니다.
올바른 핵심 가치 스토어 선택하기
키 값 스토어를 사용하는 애플리케이션은 빠른 응답이 필요하므로, 인메모리 캐싱을 제공하는 데이터베이스를 찾아봅니다. 자주 사용되는 데이터는 메모리에 캐시될 수 있습니다. 즉, 데이터베이스 엔진이 디스크의 데이터를 검색하고 검색한 다음 요청 애플리케이션으로 전송할 필요가 없습니다. 키 값 저장소는 지속적으로 빠른 읽기 및 쓰기 작업을 수행하기 때문에 캐싱은 성능에 최적화되어 있습니다.
대규모 데이터 스토리지 요구 사항은 데이터 분할 및 배포의 이점을 누릴 수 있습니다. 수평 분포를 통해 관리자는 데이터베이스 클러스터에 노드를 추가하여 성능을 개선할 수 있습니다. 해싱 및 샤딩을 포함한 여러 가지 파티셔닝 전략을 사용할 수 있습니다. 인프라와 관리자 선호도에 맞는 전략을 선택하세요.
핵심 가치 매장 구현을 위한 모범 사례
온-프레미스 또는 클라우드에서 키-가치 스토어를 구현하기로 결정하든, 성능을 유지하기 위해 몇 가지 모범 사례를 따라야 합니다. 처음에는 성능 문제를 알아차리지 못할 수도 있지만, 데이터베이스가 증가하고 애플리케이션 사용자의 수가 증가하면 종종 문제가 발생합니다. 몇 가지 모범 사례:
위의 예에서는 성과를 위해 모범 사례가 필요합니다. 성능은 실시간 애플리케이션을 지원할 수 있도록 핵심 가치 데이터베이스에 매우 중요합니다. 데이터를 캐싱하면 성능도 향상되므로 지원하는 데이터베이스 엔진을 선택하십시오.
결론
키-값 쌍으로 저장할 수 있는 데이터를 요청하는 대용량 애플리케이션이 있는 경우, 키-값 저장소가 가장 적합할 수 있습니다. 이러한 데이터베이스에서 속도는 중요한 요소이므로 메모리에 데이터를 캐시하고 분산 해싱 또는 샤딩 방법을 제공하는 것을 선택하십시오. 온-프레미스 또는 클라우드 데이터베이스로 작업할 수 있지만, 퓨어스토리지는 비즈니스에 적합한 스토리지 솔루션을 퓨어스토리지 제공합니다.