넷플릭스의 키-값 데이터 추상화 레이어 소개 노트

넷플릭스의 키-값 데이터 추상화 레이어 소개

넷플릭스의 키-값 데이터 추상화 계층 (KV DAL)은 데이터 접근을 단순화하고 인프라의 신뢰성을 향상시키는 기본적인 추상화 서비스입니다. 이는 개발자에게 일관된 인터페이스를 제공하며, 이는 데이터베이스의 종류에 관계없이 동일합니다.KV 추상화는 두 단계의 맵 아키텍처를 사용하여 단순하고 복잡한 데이터 모델을 모두 지원합니다. 다양한 사용 사례에 맞게 4개의 기본 CRUD API (PutItems, GetItems, DeleteItems)와 복잡한 MutateItems 및 ScanItems API를 제공합니다.네임스페이스는 데이터가 저장되는 위치와 방법을 정의하며, 논리적 및 물리적 분리를 제공합니다. 이는 다양한 성능, 내구성 및 일관성 요구에 따라 다른 사용 사례를 가장 적합한 저장 시스템으로 라우팅할 수 있도록 합니다.PutItems 및 DeleteItems API는 데이터 무결성을 보장하고 작업 순서를 올바르게 유지하기 위해 멱등성 토큰을 사용합니다. 클라이언트에서 생성한 단조 증가 토큰이 신뢰성을 위해 선호됩니다.대용량 blob을 처리하기 위해 KV 추상화는 청킹을 사용합니다. 이 기술은 대용량 데이터를 작은 청크로 나누어 적절한 메타데이터와 함께 스테이징 및 커밋합니다.페이징은 대용량 데이터 세트를 관리하는 데 중요한 기능입니다. GetItems API는 다음 페이지 토큰을 사용하여 페이징을 지원하여 여러 요청에 걸쳐 효율적인 데이터 검색을 보장합니다.삭제된 데이터를 나타내는 투명석은 성능에 영향을 미칠 수 있습니다. KV는 레코드 및 범위 삭제를 최적화하여 단일 투명석을 생성하여 부하 피크를 줄이고 일관된 성능을 유지합니다.아이템 수준 삭제는 TTL 기반 삭제와 지터를 사용하여 처리됩니다. 이 기술은 저장 엔진의 복잡성을 숨기고 삭제가 읽기 페이징에 미치는 영향을 최소화합니다.멱등성과 청킹은 꼬리 지연 시간을 처리하고 예측 가능한 저지연 성능을 보장하는 데 필수적입니다. 이러한 설계 철학은 넷플릭스의 글로벌 운영에 필요한 신뢰성과 성능에 기여합니다.