何百万ものIoTデータを取り込み、迅速で優れた意思決定を実現したAbra Control
本記事は、The Distributed SQL Blog にて2023年11月6日に公開された “Abra Controls Effortlessly Ingests Millions of IoT Data Points for Faster, Better Decision-Making” を翻訳および一部訳注を追加しております。最新情報は英語版の記事を参照してください。
Abra Controlsは、カナダと米国の石油・ガス会社にサービスを提供するソフトウェアとSaaSの会社です。同社は、リアルタイムのワイヤレスおよびポータブル・ソリューションによる水圧破砕作業の最適化を専門としています。オフセット坑井モニタリングにおけるリーダーシップと専門知識で知られる同社のシステムは、リアルタイムのデータストリーミングと技術者による迅速なデプロイメントのために設計されています。現場での作業時間が短縮され、ペイロードも小さくなります。
石油・ガス産業におけるオフセット坑井モニタリングとは、計画中または新規坑井の近くにある既存坑井の性能を追跡・モニタリングするプロセスである。これは、新設坑井や既存坑井に対する潜在的なリスクを特定し、軽減するために行われる。
Abra Controlのシステムは、圧力、温度、流量、ケーシングの完全性など、多くのIoTデバイスやセンサーからさまざまな情報を収集します。すべてのデータは(リアルタイムで)収集され、迅速に分析され、世界中のオペレーターのモバイル機器に(これもリアルタイムで)提供される必要があります。
このSaaSプラットフォームを通じて、Abra Controlsはユーザーに以下を提供することを目指しています:
- リアルタイム・レポーティング:重要なイベントに即座に反応し、リアルタイムでデータをストリームする。
- データ分析:様々な方法でデータを集計し、(数時間ではなく)数秒でアクセスできるようにすることで、関係者が迅速かつ十分な情報に基づいた意思決定を行えるようにします。
- いつでもどこでもアクセス:世界中のどこからでも、モバイル機器から必要なデータに確実かつ確実にアクセスできます。
基盤となるIoTストリーミング・アプリケーションをサポートするため、Abra Controls社は、管理が容易で、顧客が期待する回復力を提供するデータベース・ソリューションを求めていました。そこで選ばれたのが、当社のフルマネージドDBaaSソリューションであるYugabyteDB Managedでした。
クラウドネイティブな、地理分散アプリの技術要件
SaaS プラットフォームの利用が拡大するにつれ、Abra Controlは、標準の PostgreSQL からコアデータベースをアップグレードして、拡張性と耐障害性を向上させる必要があることに気づきました。彼らの優先事項は、アップグレード中のリスクと運用コストを最小限に抑えつつ、継続的な管理を軽減することでした。
以下が、Abra Controlの選定要件でした:
- デプロイメント:シングルリージョン、複数のアベイラビリティゾー
- ️主なデータベース要件:PostgreSQLとの互換性と高可用性の2つ。
・ Abra ControlsにはPostgreSQL上で稼働する既存のアプリケーションスタックがあり、アプリケーションの再設計を最小限に抑えたいと考えていました。高度な機能をサポートするPostgreSQLランタイム互換のデータベースが必要でした。
・高可用性がデータベースのアップグレードの主な原動力であったため、複雑さや運用上のオーバーヘッドを最小限に抑えてデータを保護できる、弾力性が組み込まれたデータベースが必要でした。 - 使用クラウド:Google Cloud
- ️ワークロードの特徴:IoTデバイスからの書き込み中心データストリーミング
- ️スループット:毎日数百万点のデータ、毎秒1,700件以上のトランザクションをサポート
- ️APIインターフェース:YSQL(PostgreSQL)とYCQL(Cassandra)
- ️その他のデータベース要件
・ 水平スケーラビリティ
・ 最小限の運用オーバーヘッド
・ 複数のAPI — PostgreSQLとCassandra
高可用性を備えたPostgreSQL
これらの要件に基づき、Abra ControlsはアプリケーションをシングルノードのPostgreSQLインスタンスからGoogle Cloud上のYugabyteDB Managedのシングルリージョン、マルチゾーン・デプロイメントに移行しました。同社はまず、3つのアベイラビリティ・ゾーンにまたがる3ノードのクラスターを導入しました。データはノード間で同期的にレプリケートされ、ノードレベルとゾーンレベルの両方の保護が提供されました。
それでは、アーキテクチャの3つの重要な要素を確認しましょう。
1.マルチゾーン高可用性
Abra Controls社は、SaaSプラットフォームにシングルリージョン、マルチゾーンのデプロイメントを選択しました。マルチゾーンのサポートとレプリケーション係数3(RF3)により、データの可用性や顧客のリアルタイムデータへのアクセスに影響を与えることなく、ノードやゾーンの停止からデータを保護することができます。
2.高い書き込みスループット
Abra Controlsにとって、スループットとパフォーマンスも重要でした。同社のアプリケーションは、従来型のイベントおよびデータ・ストリーミング・システムを採用していたからです。データベースへの読み込みと書き込みのレイテンシーを低く抑えながら、毎秒1700件以上のトランザクションをサポートする必要がありました。彼らのデータセットは500GBをはるかに超えていました(そして増え続けています)。
YugabyteDB Managedは、複数のソースからリアルタイムでデータを取り込みます。保存されたデータは(必要に応じて)迅速に分析され、あらゆるモニタリング・アプリケーションにほぼリアルタイムで提供されます。
3.PostgreSQLとのランタイムレベルの互換性
Abra ControlsはPostgreSQLのコア機能で満足できませんでしたが、同社のアプリケーションはすべてPostgreSQLで動作するように設計されていました。同社がYugabyteDB Managedを選択した理由は、トリガー、ストアドプロシージャ、関数のサポートを含む強力なPostgreSQL互換性とともに、不足していた可用性とパフォーマンスを提供してくれるからです。
このランタイム互換性により、アプリケーションを変更することなく、あるいは最小限の変更でアプリケーションをリフト&シフトすることが可能になりました。
まとめ
Abra Controlsは、標準的なPostgreSQLのコア機能を超えて成長したアーリーステージの企業の典型です。複雑なソリューションに投資するよりも、PostgreSQL互換のDBaaSを選択することで、データベース管理よりもソフトウェアやユーザへの付加価値サービスの提供に集中することができました。
YugabyteDBのPostgreSQLとの強力な互換性により、アプリケーションを最新のプラットフォームにシームレスに移行することができました。
YugabyteDB ManagedおよびAbra Controlsが活用している機能については、以下のリソースをご覧ください:
- 毎週木曜日のデモに参加して、ジオ・パーティショニングの実例をご覧ください。
- YugabyteDB Managedのフル機能が使用できる無料トライアルにサインアップして、ジオ・パーティショニングをお試しください。
- YugabyteDBを使用したグローバル・アプリケーションの構築方法については、ドキュメントおよびブログをご覧ください。