차례:
- 스토리지 엔진 변경
- 고속 스토리지 계층화에 캐싱 기능을 제공하는 이유는 LinkedIn이 특정 고성능 사용 사례에 대해 Voldemort를 사용하는 이유입니다.
- Harry Potter
비디오: Microsoft Azure OpenDev—June 2017 2024
관계형 데이터베이스에 저장된 데이터에 키 - 값 스타일 고속 액세스를 제공하려는 경우가 있습니다. 이 데이터베이스는 Berkeley DB (Java Edition for Voldemort) 또는 MySQL 일 수 있습니다.
데이터에 대한 액세스와 같은 키 - 값을 제공하려면 이러한 다른 데이터베이스 중 하나에 직접 키 - 값 저장소를 쌓아야합니다. 기본적으로 저장소 용 파일 시스템과 관계형 데이터베이스에서 데이터를 복사하기위한 처리 파이프 라인의 조합이 아니라 저장소 계층으로 다른 데이터베이스를 사용합니다.
이 프로세스는 저장 용으로 전통적인 관계형 데이터베이스를 사용하는 동안 고속 키 - 값 저장소를 제공하는 것을 단순화합니다.
스토리지 엔진 변경
서로 다른 작업 부하에는 서로 다른 스토리지 엔진 및 성능 특성이 필요합니다. Aerospike는 높은 섭취량에 좋습니다. Redis는 많은 수의 읽기에 유용합니다. 각각은 특정 유스 케이스를 중심으로 구축됩니다.
볼드 모트는 다른 접근법을 취합니다. Voldemort는 키 - 값 저장소를 별도의 데이터 관리 계층으로 취급하지 않고 키 - 값 저장소를 API로 처리하고 메모리 내 캐싱 계층을 추가합니다. 즉, 가장 의미가있는 백엔드에 연결할 수 있습니다 당신의 특별한 필요에 따라.
이 기능을 사용자 정의 데이터 유형과 결합하면 키 - 값 저장소의 간단한 저장소 / 검색 API를 사용하여 다른 백엔드 저장소의 정보를 효과적으로 되찾고 직접 캐시 할 수 있습니다.
메모리에 데이터 캐싱
Voldemort에는 내장 메모리 캐시가있어 저장소 엔진의 부하가 줄어들고 쿼리 성능이 향상됩니다. Redis 또는 Oracle의 Coherence Java 애플리케이션 데이터 캐싱 제품과 같은 별도의 캐싱 계층을 사용할 필요가 없습니다.
고속 스토리지 계층화에 캐싱 기능을 제공하는 이유는 LinkedIn이 특정 고성능 사용 사례에 대해 Voldemort를 사용하는 이유입니다.
Voldemort를 사용하면 정확한 데이터 요구 사항을위한 스토리지 엔진과 고속 엔진 내 메모리 캐시를 사용하여 엔진 부하를 줄일 수 있습니다.또한 스토리지 엔진 상단에 간단한 키 - 값 저장소 저장 / 검색 의미 체계가 있습니다.
볼드 모트 평가
Harry Potter
책에서 주님 볼드 모트 (Voldemort)는 악의에 찬 머글러를 위해 사용했지만 선과 악의 마술을 많이했다. Voldemort 데이터베이스는 방대한 양의 데이터를 저장할 수 있지만 데이터 마술사가 모든 곳에서 사용할 수 있습니다! 볼드모트는 여전히 개발중인 제품입니다. 많은 조각이 여전히 누락되어 있으므로 예상 할 수있는 다양한 저장소 엔진을 지원하지 않습니다. Voldemort의 개발 커뮤니티는 Voldemort가 대부분의 C 또는 C ++ 기반 데이터베이스와의 통합을 위해 Java Native Interface (JNI) 커넥터를 필요로하는 Java 프로그래밍 언어로 구축 되었기 때문에 가능합니다. 볼드 모트는 직렬화 프레임 워크와 잘 통합되어 있습니다. 지원되는 프레임 워크에는 Java 직렬화, Avro, Thrift 및 프로토콜 버퍼가 포함됩니다. 즉, 제공되는 API 래퍼가 각 프로그래밍 언어의 친숙한 직렬화 방법과 일치하여 응용 프로그램을 직관적으로 개발할 수 있습니다.
볼드 모트는 다른 시스템과 마찬가지로 일관성을 처리하지 않습니다. 볼드 모트 (Voldemort)는
읽기 복구 (read repair)
접근 방법을 사용합니다.이 방법은 쓰기 시간에 일관성을 유지하는 것이 아니라 동일한 레코드에 대한 일관되지 않은 버전 번호가 읽기 시간에 고정되어 있습니다. 2 차 색인 작성이나 질의 지원도 없습니다. Voldemort는 해당 유스 케이스에 대처할 수 있도록 기본 저장소 엔진의 기능을 사용할 것으로 기대합니다. 또한 Voldemort에는 네이티브 데이터베이스 트리거 또는 경고 또는 이벤트 처리 프레임 워크가 없습니다. 고 가용성, 파티션 허용, Java에서 실행 및 다른 저장 장치 백엔드를 사용하는 키 - 값 저장소가 필요한 경우 Voldemort가 도움이 될 수 있습니다.