PayPal、可用性の高いキーバリューストア「JunoDB」をオープンソースで公開:データの暗号化でセキュリティの強化に期待
PayPalは、可用性の高いキーバリューストア「JunoDB」を公開した。JunoDBの最優先事項はセキュリティで、TLSのサポートとペイロードの暗号化により、ワイヤ上と静止状態の両方でデータを保護する。
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.
関連記事
- 2021年のDBMS市場――非リレーショナルDBMS専業ベンダーの5年間の動向とともに振り返る
2021年のデータベース管理システム(DBMS)市場は、全売上高(約800億ドル)の80.6%を上位5社が占めた。今回は、残りの20%弱(約160億ドル)のパイを取り合うベンダーのうち、非リレーショナルDBMS専業ベンダーについて見ていこう。 - あれれ、SQL回帰? 複数のデータモデルに対応していく「NoSQLデータベース」の今
単に「NoSQL」といっても、キーバリュー型やグラフ型などデータモデルは多種多様です。さらに最近では複数のデータモデルに対応した「マルチモデル」のNoSQLデータベースが登場してきました。今回はこのトレンドに沿って登場した2つのNoSQLデータベースを比較します。 - Oracle、自律型データベース「Oracle Autonomous Data Warehouse」でマルチクラウド対応などを強化
日本オラクルが自律型データベース「Oracle Autonomous Data Warehouse」の新機能、機能拡張について記者発表会を開催。マルチクラウド対応やコラボレーションのしやすさなどを強化した。