高度な地理分散でヘルスケア・コラボレーションを再定義
本記事は、The Distributed SQL Blog にて2023年11月2日に公開された “Redefining Healthcare Collaboration With Advanced Geo-Distribution” を翻訳および一部訳注を追加しております。最新情報は英語版の記事を参照してください。
ヘルスケアの未来へようこそ!残念ながら社名を公開することはできませんが、疾病予防システムの構築に専念している先駆的なヘルステック・ソフトウェア企業を紹介します。この企業は、保険会社が特定の病気に対して総合的な支援を提供できるようにするアプリケーションを構築しています。彼らの目標は、テクノロジーの専門家、保険業者、医療専門家を結びつけることで医療に革命を起こすことです。
このアプリケーションは、包括的なアセスメントからパーソナライズされた疾病スコアを患者に提供します。このデータ駆動型手法により、その人の疾病リスクをより深く理解し、実用的な洞察を得ることができます。
医師にとっては、この新しいプラットフォームにより、データ検証のための最先端技術へのアクセスが可能となります。また、最新の治療ガイドラインや知識に関するグローバルなコラボレーションを促進します。これらを組み合わせることで、医療従事者はすべての患者に最高水準のケアを提供することができ、治療の旅において最良の結果を得ることができるようになるのです。
このアプリケーションを通じて、ヘルステック企業はユーザーに次のようなサービスを提供します:
- 治療コラボレーション:患者を分析し治療するためのグローバルなコラボレーション
- モバイル・アクセス:患者はオンラインで検査結果にアクセスし、健康状態を管理できる
- 業務の効率化:プラットフォーム・メンバーのリアルタイムのステータス更新とプロセス・チェック
新しいアプリケーションの技術要件
ヘルステック企業の地理分散アプリケーションは、医師や医療従事者の機密データを保護しながら、国や地域を越えてシームレスに動作する必要があります。また、運用コストを最小限に抑えるため、アプリケーションはパブリック・クラウドで展開する必要がありました。
同社による選定の指針となった要件は以下です:
- デプロイメント:複数リージョン。アーキテクチャーは現在、世界8地域にまたがり、さらに拡大予定。各リージョンには3ノードを配置。
- 主なデータベース要件:行レベルのジオパーティショニングとコンプライアンスのためのデータの保管場所の固定。医師が患者データセット全体のデータをシームレスにクエリできるようにしながら、患者データがそれぞれの国内に保持されることを保証するため、同社は複数リージョンにまたがる単一のテーブルを展開したいと考えていた。リージョンごとに個別のPostgreSQLインスタンスを管理したくなかった。
- 使用クラウド:Google Cloud
- クラウドのインスタンスタイプ: n1-standard-4
- ワークロードの特徴:読み込みが多い
- スループット: 125 YSQL ops/s、合計 450 TServer ops/s
- 追加のデータベース要件
1. コンプライアンス要件を満たしながら、リージョン間で複数のデータベースインスタンスをサポート
2. リージョン間で手動で統合することなく、データを自動的に分散
3. 1つの統一データベースでユーザーアクセスを簡素化(リージョンごとにログインする必要がない)
4. 低レイテンシーでの読み書きを実現し、エンドユーザーエクスペリエンスを最適化
5. 需要の拡大に合わせてオンデマンドで拡張し、新しいリージョンへの拡張を簡素化
YugabyteDB Managedでの地理分散アプリケーションの構築
上記の要件に基づき、ヘルステック企業は地理分散アプリケーションをYugabyteDB Managedに導入しました。YugabyteDB Managedは、当社のフルマネージドDBaaS (データベース・アズ・ア・サービス)です。
上述したように、データベース・クラスターのデプロイは世界8リージョンにまたがり、各リージョンに3つのノードがあります。このアプリケーションは、3つの大陸、すなわち北米、ヨーロッパ、アジアにまたがる単一の分散データベースを使用しています。
各リージョンに3つのノードを配置することで、レプリケーション係数3のクラスター構成が可能になります。データはリージョン内の3つのゾーン間で同期的にレプリケートされます。ノードやゾーンに障害が発生しても、データの損失はなく、アプリケーションのパフォーマンスへの影響もほとんどありません。
それでは、最終アーキテクチャの4つの重要な要素を見てみましょう。
1. 行レベルのジオ・パーティショニング
彼らの選択したアーキテクチャには、特定のリージョン内に配置されたパーティションテーブルが含まれています:
- 読み取りと書き込みの待ち時間を最小化し、シームレスなユーザー・エクスペリエンスを提供する。
- 地域のコンプライアンス標準に確実に準拠する。
このアプリケーションは、YugabyteDB Managedの行レベルのジオ・パーティショニング機能を使用しており、テーブルは “region“カラムでパーティショニングされています。このヘルステック企業は、各リージョンで独立したデータベースを作成する代わりに、単一のジオ・パーティション・テーブルを作成して、データ管理の合理化と運用コストの削減を実現しました。
単一のグローバルデータベースを使用することで、データセット全体にわたってクエリーを実行し、スキーマの変更を簡単に実施することができます。その結果、グローバルに分散された単一のデータベースを通じて、堅牢なデータ保管場所のセーフガードを維持しながら、各リージョンに散らばる医師に統一されたポータルを提供できるようになりました。
この「データレジデンシー」のアプローチは、センシティブなデータを安全に扱い、コンプライアンス要件を満たすことで、患者と医師の信頼を強化するのに役立ちました。
2.フォロワーリードとYB-TServerのキャッシング
このヘルステック企業は、フォロワーリードとYB-TServerのキャッシング機能を活用し、パフォーマンスを向上させました。レプリカを使用するリージョンでフォロワーリードを使用することで、グローバルテーブルの読み取りレイテンシが短縮されました。これにより、世界中のユーザーに応答性の高いエクスペリエンスを提供することができました。
3. ローカライズされたパーティション・テーブル
非パーティションテーブルに加え、このヘルステック企業はアプリケーションの一部にローカライズされたパーティションテーブルも活用しました。テーブルをパーティショニングすることで、より小さく管理しやすいテーブルに分割し、パフォーマンスとコンプライアンス(特定の場所に固定した場合)を向上させることができます。パーティショニングされたテーブルは、元のテーブルと見た目も動作も変わらないため、通常、アプリケーションはパーティショニングされたことを意識せず実行することができます。
4. 高い可用性
このヘルステック企業は、アベイラビリティ・ゾーンやノード・レベルの障害に耐えられるレプリケーション係数3(RF3)を導入することで、高可用性(HA)とシステムの冗長性を確保しました。
グローバル・テーブルスペースには、レプリケーション係数5(RF5)を設定し、各リージョンにグローバル・テーブル用のシャード・レプリカを確保しました。この設定により、将来の成長に必要なパフォーマンスとスケーラビリティが確保されました。
まとめ
速いペースで進化するヘルステックの世界において、この事例は適切なデータベースソリューション選択による、テクノロジーの革新的な力を示しました。YugabyteDB Managedをパートナーとして、このヘルステック企業は明るい未来を築き、最も必要とされるところに希望と回復力を提供しています。
YugabyteDB Managedの詳細および本ケーススタディで取り上げた機能については、以下のリソースをご覧ください:
- 毎週木曜日のデモに参加して、ジオ・パーティショニングの実例をご覧ください。
- YugabyteDB Managedの全機能が使用できる無料トライアルにサインアップして、ジオ・パーティショニングをお試しください。
- YugabyteDBのドキュメントやブログをご覧いただき、YugabyteDBでグローバル・アプリケーションを構築する方法をご確認ください。