検索
ニュース

PayPal、可用性の高いキーバリューストア「JunoDB」をオープンソースで公開データの暗号化でセキュリティの強化に期待

PayPalは、可用性の高いキーバリューストア「JunoDB」を公開した。JunoDBの最優先事項はセキュリティで、TLSのサポートとペイロードの暗号化により、ワイヤ上と静止状態の両方でデータを保護する。

Share
Tweet
LINE
Hatena

 PayPalは2023年5月17日(米国時間)、分散キーバリューストア「JunoDB」を発表し、オープンソースプロジェクトとしてGitHubで公開した。

 JunoDBの使用例は主に以下の通り。

データベースなどの呼び出しを減らす

 JunoDBは、数秒から数日の範囲で頻繁に変更されないデータを保存する一時的なキャッシュとして使われる。これにはユーザー設定やアカウント詳細、APIレスポンス、アクセストークンなどが含まれる。キャッシングにJunoDBを使用すると、全てのドメインで高価なデータベースやダウンストリームサービスへの呼び出しを減らすことができ、汎用(はんよう)性の高いソリューションとなる。

オペレーションの重複処理を排除

 JunoDBを使用することで、オペレーションの重複処理を排除することができる。例えば、再試行中に支払いを再処理したり、通知プラットフォームからメッセージを再送信したりしないようにするために使用できる。

カウンターを利用できる

 新しいJunoDBの使用例としてはカウンターというものがある。一例として、特定のリソースが利用できない場合にJunoDBを使用すると制限のあるカウンターを提供できる。

SoRのニーズに応える

 恒久的なSoR(System of Record)とは見なされないが、数年単位の長期的なSoRのニーズに限定してJunoDBは使用される。

Oracle処理のレプリケーション遅延に対処

 JunoDBのクラスタ間レプリケーションを使用することで、Oracle処理におけるレプリケーションの遅延に対処し、あらゆる場所でほぼ瞬時に一貫性のある読み取りが可能になる。この「レイテンシブリッジング技術」により、アカウント/ユーザーの作成と支払い処理におけるマルチデータセンターのアクティブ-アクティブ処理において、高い可用性や信頼性、読み取りスケーリングが保証される。

JunoDBのアーキテクチャ

 PayPalによると、JunoDBアーキテクチャは、シンプルさや拡張性、セキュリティ、適応性を念頭に設計された、信頼性と拡張性の高いソリューションだという。JunoDBは、プロキシベースの設計をベースにしており、リニアな水平接続のスケーリングができる。また、クライアントライブラリから複雑さを排除し、アプリケーションから複雑なロジックや設定を排除することで、開発プロセスを簡素化する。

 JunoDBは一貫性のあるハッシュを使用してデータを分割し、クラスタの拡張や縮小時のデータ移動を最小限に抑えるという。そして、ダウンタイムゼロを実現するため、JunoDBはデータセンター内およびデータセンター間のレプリケーションを使用し、クォーラムベースのプロトコルと2フェーズコミットによってデータの一貫性を保証している。

 最優先事項はセキュリティで、TLSのサポートとペイロードの暗号化により、データを保護する。プラガブルストレージエンジンの設計によって新しいストレージテクノロジーへのアップグレードが行えるため、JunoDBは適応性を維持し、変化するニーズや要件に合わせて長期的に進化することができるという。

可用性の確保

 高い可用性を維持することは、極めて重要である。しかし、予期せぬシステム停止は、ソフトウェアのバグ、ハードウェア障害(ディスクやネットワークコンポーネントの障害)や停電、あるいは人為的ミスなど、さまざまな理由で発生する可能性がある。このような課題を軽減するため、JunoDBではデータセンター内およびデータセンター間のデータレプリケーションとフェイルオーバー戦略を組み合わせることで、システムの可用性を高めている。

規模に応じたパフォーマンス

 JunoDBは、最も要求の厳しいワークロードを処理しながら、1桁ミリ秒のレスポンスタイムとシームレスなユーザーエクスペリエンスを維持し、スケールに応じたパフォーマンスを発揮する。さらにJunoDBは、アプリケーションのパフォーマンスを犠牲にすることなく、高いスループットと低いレイテンシを提供する。そのため、アプリケーションのスケーラビリティを気にすることなく、ビジネス上の問題解決に集中できるようになる。

高いセキュリティ

 JunoDBは、転送中と静止時の両方でデータを保護するように設計されている。送信中のデータセキュリティを維持するため、クライアントとプロキシ間および異なるデータセンターにあるプロキシ間でTLSを有効にしてデータを複製している。ペイロードの暗号化は、同じデータの多重暗号化を防ぐために、クライアントまたはプロキシレベル(ストレージサーバの外部)で実行される。

 暗号化はクライアント側で行われるのが理想的だが、クライアントで実行されない場合は、プロキシはメタデータフラグを通してこれを検出し、暗号化を実行する。ストレージサーバによって受信され、ストレージエンジンに保存されるデータは全て、静止時のセキュリティを維持するために暗号化される。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る