「Pravega」基本情報
概要
Pravega(プラベガ)とは、オープンソースの分散ストレージサービスです。連続した無制限のデータに対してストレージ抽象化を行う、分散コンピューティングコーディネーションフレームワークです。
基本説明
Pravegaは、「ストレージプリミティブ」であり、「メッセージングメカニズム」であり、「分散コンピューティングコーディネーションフレームワーク」です。
「優れたパフォーマンス」「厳密な順序」「強力な一貫性」「耐久性」「柔軟性」を備えたストリームストレージです。クリティカルなストレージシステムの基盤となる機能を提供します。
Pravegaは、「トランザクション機能」「動的スケーリング」などの機能をサポートするエンタープライズグレードのストレージシステムとして設計されています。
「IoTデバイスからの大量データストリーミング処理」「大量データバッチ処理」「大規模データ分析」などに活用できます。
主な特徴
正確な配信処理
サーバ、クライアント、ネットワークなどで障害が発生した場合でも、各イベントが正確に1回のみ配信されるセマンティクスを提供します。
この機能により、クリティカルなストリーム処理アプリケーションを容易に開発できます。
自動スケーリング
Pravegaは、データ取り込み速度の急激な変化に対応するために、静的パーティショニングを使用するシステムとは異なり、個々のデータストリームに対して自動的にスケーリングを行います。
データの取り込みレートに応じて、それぞれのストリーム内のセグメント数を自動的に変化させます。取り込みデータレートが増加した場合は、セグメントを追加し、ストリーム容量を増加させます。逆に、データレートが低下すると、ストリームのセグメントをマージして、適切なストリーム容量に軽減させます。
Pravegaを使用する各種アプリケーションは、Pravegaのストリーム容量増減に応じて、ストリームを消費するジョブインスタンス数を増減させることで対応できます。
分散コンピューティングプリミティブ
Pravegaは、「プロセス間メッセージング」や「ディレクター選出」などの、分散コンピューティングサービスのためのデータストレージメカニズム機能を提供します。
高スループット
Pravegaは、書き込みレイテンシをミリ秒レベルにまで短縮し、数千の同時クライアントからの高スループットの読み書きを処理するためにシームレスに拡張できます。
大規模IoTプラットフォームのストリーミングストレージ基盤として活用できます。
データ保持性
Pravegaは、ストリーム内のデータを永続的に保持します。
ストレージ効率
Pravegaでは、パイプラインのすべてのステップにおいて、バッチ/リアルタイム/アプリケーションを組み合わせて、データを複製することなく、ストレージ効率が高いデータ処理パイプラインを構築できます。
整合性保証(トランザクションサポート)
Pravegaは、書き込み操作がクライアントに認識されるまで、データを保持し、保護する耐久性と一貫性を提供します。
同じルーティングキーを持つイベントは、書き込まれた順序で常に読み取られる一貫性が保証されます。
開発者は、トランザクション機能を使用して、一連のイベントが順序どおりにストリームに書き込まれるアプリケーションを構築できます。
アプリケーションは、トランザクションに対して、コミットまたはアボートの選択を行えます。トランザクションがコミットされると、トランザクション内のデータは順序を維持してストリームに追加されます。
Pravega API
Pravega APIを使用すると、アプリケーションはストリーム上にトランザクションを作成し、トランザクションにデータを書き込めます。
「保存されている履歴イベント」と「リアルタイムイベント」に対して、同一の仕組みでアクセスできます。
ユースケース
データパイプライン構築
Pravegaの正確に一度のセマンティクスにより、開発者は、正確でタイムリーな結果を持つアプリケーション用データパイプラインを構築できます
Pravegaを使用することで、開発者は、バッチとリアルタイムの両方を同時に満たす1つのアプリケーションを構築できます。複雑で維持が困難なデュアルインフラストラクチャを排除できます。
分散アプリケーション構築
Pravegaは、「強い一貫性」と「同時実行性」により、あらゆる種類の分散コンピューティングソリューションを構築するために使用できます。
分散環境運用コーディネーションエンジン「Apache Zookeeper」などのミドルウェアに依存せずに、マイクロサービスアプリケーションのための分散コンピューティング基盤として利用できます。
Pravegaの「State Synchronizer API」を使用すると、複数のプロセス間で同期共有状態を構築できます。マイクロサービスは、Pravegaをデータベースとして使用し、データベースのオーバーヘッドなしでデータを共有できます。
IoTプラットフォーム
Pravegaの「小規模イベントと大規模イベントの両方を一貫して処理」「大量のセンサーデバイスからのデータスケーラビリティ」「耐久性と低レイテンシのストレージ」などの機能により、大規模IoTプラットフォームとして活用できます。
「商業規模の風力発電管理」や「スマートグリッド制御」などのリアルタイム監視(分析)に利用できます。
オンラインマルチプレイゲームプラットフォーム
Pravegaを使用すると、スケーラブルな読み書き並列処理機能により、数百万人の同時接続プレイヤーをサポートできるオンラインマルチプレイゲームプラットフォームを構築できます。
接続されているすべてのデバイスに対して、リアルタイムで、確実に1回のみ、各プレーヤーの「動き」「相互作用」「イベント」などが発生するように対応できます。
同様製品
関連するソフトウェアとして、次のようなものがあります。
オープンソース製品:「Apache Kafka」など。
オフィシャルサイト
オフィシャルサイト
→Pravega.io(Storage Reimagined for a Streaming World)
ライセンス情報
Pravegaのライセンスは「Apache License 2.0」です。
詳細について、こちらを参照ください。
→GitHub →pravega →LICENSE
ダウンロード
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。