ホームページ  >  記事  >  データベース  >  Redis ストレージ システムの Pika アーキテクチャの設計方法は何ですか?

Redis ストレージ システムの Pika アーキテクチャの設計方法は何ですか?

王林
王林転載
2023-05-29 20:07:171487ブラウズ

Pika は、360 インフラストラクチャ チームと DBA チームによって共同開発された、効率的、安定性、シンプルかつ信頼性の高いオープンソース NoSQL データベース製品です。 Redis プロトコルと完全な互換性があり、5 つのデータ構造 (string、hash、list、set、zset) をサポートし、データは RocksDB に永続化され、Redis メモリ保存方式と比較して、サーバー リソースの占有を大幅に削減でき、データのセキュリティと信頼性を強化します。スタンドアロンとクラスターの 2 つのモードで導入できます。 Pika プロジェクトは 2015 年に開始され、その後 Github でオープンソース化されました。現在 3,700 のスターと 35 人の寄稿者がいます。コミュニティには Pika を使用する多数のオンライン ビジネスがあります。

Redis の比較

ストレージ容量: Redis はメモリに保存するため、ハードウェア コストが高く、ダウンタイムによる回復の遅延が長くなります。Pika は RocksDB を借用してディスクに保存し、単一サーバーで収容できるデータ量ダウンタイムからの回復が数十倍速くなります。

スループット: Redis QPS の方が高く、単一サーバーの QPS は 100 万レベルですが、Pika QPS は比較的低く、単一サーバーの QPS は数十万で、Redis は Pika の 3 ~ 5 倍です。

アクセス遅延: Redis は 1 ミリ秒以内である必要がありますが、Pika の遅延はわずかに高く、3 ミリ秒以内です。

運用とメンテナンスの展開: Redis は、スタンドアロンのマスター/スレーブとクラスターの 2 つの方法をサポートし、Pika も 2 つの展開方法をサポートします。

該当するシナリオ

ビジネス シナリオのデータ量が比較的大きく (50 GB 以上)、データの信頼性要件が高い場合、Pika が問題を解決できます。

シナリオ 1: 大規模データ処理システムの中間結果ストレージ

シナリオ 2: 永続ストレージに Redis/Redis Cluster を使用するビジネス システム

シナリオ 3: 大規模分散 従来型システムのメタデータ ストレージ

アーキテクチャ設計

Pika は、構成ファイル内のインスタンス モード構成項目をクラシックとシャーディングに設定することで、クラシック モード (クラシック) を実行するか、分散を実行するかを選択できます。ピカのシャーディング。

  • #クラシック モード アーキテクチャ

Redis ストレージ システムの Pika アーキテクチャの設計方法は何ですか?##クラシック モード (クラシック): つまり、1 マスター N スレーブ同期モード, 1 つのマスター インスタンスはすべてのデータを保存し、N 個のスレーブ インスタンスはマスター インスタンスのデータを完全にミラーリングして同期し、各インスタンスは複数の DB をサポートします。 Pika の構成アイテム データベースでは、作成できる DB の最大数をデフォルトで 0 から設定できます。 Pika 上の DB の物理的な形式はファイル ディレクトリです。

#分散モード アーキテクチャ
##分散モード (シャーディング): シャーディング モードでは、ユーザーは保存されたデータ セットテーブルはテーブルと呼ばれ、各テーブルは複数のシャードに分割され、各シャードはスロットと呼ばれ、特定の KEY のデータがハッシュ アルゴリズムによって計算され、どのスロットに属するかが決まります。特定の戦略に従って、すべてのスロットとそのコピーをすべての Pika インスタンスに配布します。各 Pika インスタンスには、マスター スロットの一部とスレーブ スロットの一部があります。シャーディング モードでは、マスターとスレーブを分割するためにスロットが使用され、Pika インスタンスは使用されなくなります。 Pika 上のスロットの物理的な形式はファイル ディレクトリです。

以上がRedis ストレージ システムの Pika アーキテクチャの設計方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。