> 데이터 베이스 > Redis > Redis 스토리지 시스템의 Pika 아키텍처를 설계하는 방법은 무엇입니까?

Redis 스토리지 시스템의 Pika 아키텍처를 설계하는 방법은 무엇입니까?

王林
풀어 주다: 2023-05-29 20:07:17
앞으로
1564명이 탐색했습니다.

Pika는 360 인프라 팀과 DBA 팀이 공동 개발한 효율적이고 안정적이며 간단하고 신뢰할 수 있는 오픈 소스 NoSQL 데이터베이스 제품입니다. Redis 프로토콜과 완벽하게 호환되며 5가지 데이터 구조(string, hash, list, set, zset)를 지원합니다. 데이터는 Redis 메모리 저장 방식에 비해 서버 리소스 점유를 크게 줄일 수 있습니다. 데이터 보안을 강화합니다. 독립 실행형과 클러스터의 두 가지 모드로 배포할 수 있습니다. Pika 프로젝트는 2015년에 시작되었으며 이후 Github에서 오픈소스로 공개되었습니다. 현재 3,700명의 스타와 35명의 기여자가 커뮤니티에 Pika를 사용하고 있습니다.

Redis 비교

저장 용량: Redis는 메모리에 저장하고 하드웨어 비용이 높으며 가동 중지 시간 복구 지연이 높습니다. Pika는 RocksDB를 빌려 디스크에 저장하며 단일 서버가 수용하는 데이터 양은 Redis의 수십 배입니다. , 다운타임 복구 속도가 빠릅니다.

처리량: Redis QPS는 더 높고 단일 서버는 백만 수준의 QPS를 가지고 있습니다. Pika는 상대적으로 낮은 QPS를 가지고 있으며 단일 서버는 수십만 개의 QPS를 가지고 있으며 Redis는 Pika의 3~5배입니다.

액세스 대기 시간: Redis는 1ms 이내여야 하며 Pika 대기 시간은 3ms 이내로 약간 더 높습니다.

운영 및 유지 관리 배포: Redis는 독립형 마스터-슬레이브 및 클러스터의 두 가지 배포 방법을 지원합니다.

적용 가능한 시나리오

비즈니스 시나리오 데이터 볼륨이 상대적으로 크고(>50GB) 데이터 신뢰성 요구 사항이 높은 경우 Pika가 문제를 해결할 수 있습니다.

시나리오 1: 대규모 데이터 처리 시스템을 위한 중간 결과 저장

시나리오 2: 영구 저장을 위해 Redis/Redis 클러스터를 사용하는 비즈니스 시스템

시나리오 3: 대규모 분산 시스템을 위한 메타데이터 저장

아키텍처 설계

Pika 구성 파일의 인스턴스 모드 구성 항목을 classic 및 sharding으로 설정하여 Pika를 클래식 모드(Classic) 또는 분산 모드(Sharding)로 실행할 수 있습니다.

  • 클래식 모드 아키텍처

Redis 스토리지 시스템의 Pika 아키텍처를 설계하는 방법은 무엇입니까?

클래식 모드(Classic): 즉, 1개의 마스터 N 슬레이브 동기화 모드, 1개의 마스터 인스턴스가 모든 데이터를 저장하고, N개의 슬레이브 인스턴스가 마스터의 데이터를 완전히 미러링하고 동기화합니다. 인스턴스는 여러 DB를 지원합니다. Pika의 구성 항목 데이터베이스를 사용하면 기본적으로 0부터 시작하여 생성할 수 있는 최대 DB 수를 설정할 수 있습니다. Pika에서 DB의 물리적 형태는 파일 디렉터리입니다.

  • 분산 모드 아키텍처

Redis 스토리지 시스템의 Pika 아키텍처를 설계하는 방법은 무엇입니까?

분산 모드(샤딩): 샤딩 모드에서는 사용자가 저장한 데이터 모음을 테이블이라고 하며, 각 테이블을 여러 개의 샤드로 나누어 슬롯이라고 합니다. , 특정 KEY의 데이터를 해시 알고리즘으로 계산하여 해당 KEY가 어느 Slot에 속해 있는지 확인합니다. 특정 전략에 따라 모든 슬롯과 해당 복사본을 모든 Pika 인스턴스에 배포합니다. 각 Pika 인스턴스에는 마스터 슬롯의 일부와 슬레이브 슬롯의 일부가 있습니다. Sharding 모드에서는 Slot을 사용하여 마스터와 슬레이브를 나누며, Pika 인스턴스는 더 이상 사용되지 않습니다. Pika의 슬롯의 물리적 형태는 파일 디렉터리입니다.

위 내용은 Redis 스토리지 시스템의 Pika 아키텍처를 설계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿