メインコンテンツへジャンプ

オンライン トランザクション処理 (OLTP) とは

OLTP (オンライン トランザクション処理) は、大量の短いトランザクションを低レイテンシーで効率的に処理できるデータ処理の一種です。OLTP の中核は、データを迅速に保存および取得するように設計されている点にあります。主に、少量のデータの挿入、更新、削除などのトランザクションを含む、日常の重要な運用ワークロードに重点を置いています。例としては、銀行預金の記録、航空券の予約、オンライン購入の処理などが挙げられます。

Databricks についてさらに詳しく

OLTPシステムの主な特徴

OLTPは速度、信頼性、同時実行性に最適化されており、多くのユーザーがエラーやデータの競合なく同時にトランザクションを実行できること、そして組織がいつでも情報にアクセスできることを保証します。

これらのシステムは、大量のリアルタイムのビジネストランザクションにわたって、データの正確性と一貫性を維持する必要があります。OLTPシステムは通常、有効で完全なトランザクションのみが保存されるようにしてデータ完全性を維持するために、ACID(原子性、一貫性、分離性、耐久性)特性を強制するリレーショナルデータベースに依存しています。OLTPシステムはまた、制約、Trigger、検証チェック、参照整合性ルールを使用してデータ完全性を保護し、組織の意思決定のための強固な基盤を提供します。最新のOLTPエンジンでは、要件に応じて分散キーバリューストアやドキュメントストアも使用される場合があります。

同時実行制御 (複数のユーザーが競合やデータ異常なしに、正しい順序で同時にデータにアクセスし、変更できるようにすること) も OLTP の鍵となります。システムはロック アルゴリズムを使用して、2 人のユーザーが同じデータを同時に変更できないようにし、すべてのトランザクションが正しい順序で実行されるようにします。効果的な同時実行制御により、OLTPシステムは、トランザクション負荷が高い状況でも、高可用性、応答性、信頼性を実現できます。

OLTPシステムは高throughputで動作する必要があり、これは大量のトランザクションを迅速かつ効率的に処理できることを意味します。同時に、システムが大量の並列リアルタイム業務オペレーションを処理する際に遅延を避けるため、低レイテンシー、つまり処理の遅延が最小限である必要もあります。

主要コンポーネント

OLTPは、ミッションクリティカルなビジネスアプリケーション向けに、迅速、正確、かつスケーラブルなトランザクション処理を促進するために連携する多数のコンポーネントに依存しています。これらには以下が含まれます。

  • データベース: OLTP は通常、高速なパフォーマンスを提供するように設計されたリレーショナル データベースに依存します。これにより、同時実行性と ACID コンプライアンスが確保され、データの正確性、常時利用可能性、容易なアクセス性が保証されます。リレーショナル データベースは、データを相互に関連するテーブルに整理し、各情報は一度だけ保存されます。これにより、冗長性がなくなり、頻繁な小さな更新を効率的に処理できます。データはどのアプリケーションでも使用できるため、信頼できる唯一のソース (Single Source of Truth) が確保されます。
  • クエリーエンジン: これはデータベースの上層に位置し、ACID原則に準拠してオペレーションの実行を管理します。トランザクションロギング、同時実行制御、コミットやロールバックのオペレーションといったタスクを調整します。
  • サポートインフラストラクチャ:これには、通信、データアクセス、パフォーマンスの最適化を促進するアプリケーションサーバー、ミドルウェア、ネットワークインターフェース、ストレージシステムが含まれます。

一般的なトランザクションフロー

OLTP は、整合性とユーザーの信頼を維持しながら、1 秒間に数千のトランザクションを処理するように設計されたいくつかのステップを使用して、トランザクションを実行します。

  1. データ入力: ユーザーはクライアント アプリケーションを介して購入、支払い、更新などのアクションを開始し、トランザクション リクエストを生成します。
  2. トランザクション リクエストの送信: リクエストはアプリケーション サーバーに送信され、ビジネス ロジックを適用してデータベース操作を決定します。
  3. トランザクション処理: サーバーは OLTP データベース上で、挿入、更新、削除、選択などの操作を実行します。
  4. コミットまたはロールバック:すべての操作が成功した場合、システムはトランザクションをコミットし、変更を永続的に保存します。いずれかのステップが失敗した場合、システムはすべてのアクションをロールバックして、データベースを以前の状態に復元します。一度コミットされると、変更は永続的です。
  5. 出力とロギング:システムはユーザーに確認(例えば、レシートやメッセージの形式)を返し、トランザクションをログに記録します。
  6. 下流のデータ処理: トランザクション ログとテーブルは、抽出、変換、読み込み (ETL) プロセスなどの下流のデータパイプラインのソースとして機能します。これらは、OLTP システムからデータを、レポート作成、アナリティクス、machine learningアプリケーション用のデータウェアハウス、データレイク、リアルタイム ストリーミング システムなどの分析プラットフォームまたは処理プラットフォームに転送します。

パフォーマンスに関する考慮事項

OLTP が重要なトランザクションでユーザーが期待する速度と安定性を提供するには、高いパフォーマンスが不可欠です。OLTP システムのパフォーマンスを最適化するために、さまざまな手法が使用されます。これらの戦略には以下が含まれます。

  • インデックス作成: これにより、システムはレコードをすばやく見つけて、データ取得を高速化できます。
  • パーティショニング:パーティショニングは、パフォーマンス、スケーラビリティ、管理性を向上させるために、大きなテーブルをより小さな部分に分割します。
  • 接続プーリング: 新しいデータベース接続を作成するのではなく、既存の接続を再利用することで効率が向上します。
  • キャッシュ:この手法では、頻繁にアクセスされるデータがメモリに一時的に保存され、操作が高速化されます。
  • スケーリング:垂直スケーリング(CPU、RAM、より高速なストレージなどの物理リソースを追加)や水平スケーリング(複数のマシンにワークロードを分散)などの戦略が、増大するトランザクション量を管理するために使用されます。

これらの方法は、トランザクション量が多い場合でも、OLTPデータベースが信頼性とミリ秒単位の低い応答時間を提供することを保証するために使用されます。これにより、ユーザーは高速でスムーズなパフォーマンスを得られ、組織はコストを抑えながら必要に応じて需要に合わせて拡張できます。

OLTP の実世界の例

OLTP は、業界を問わず、多数の主要なビジネス機能にとって不可欠です。例は次のとおりです。

  • Eコマースの注文処理
  • ATMでの現金引き出しや資金移動などの銀行取引
  • 電子決済処理
  • 市場取引などの金融サービス
  • チケットや予約のオンライン予約
  • 顧客サービスのやり取り
  • 対話型AIエージェントやチャットボットのセッション/状態ストレージ
  • 医療記録の管理
  • 製造メンテナンス
  • デバイスまたは IoT の状態追跡

データエコシステムにおけるOLTP

OLTP システムは、リアルタイムの日々の業務を管理およびキャプチャするためのデータ エコシステムのフロントライン レイヤーです。OLTP データベースには、これらのトランザクションによって生成された最新の粒度の高いデータが格納されます。このデータは後で抽出、変換、読み込みが行われ、データレイク、データウェアハウス、アナリティクスプラットフォームなどの下流のシステムに送られます。そこで集約および分析されて、意思決定をサポートします。

OLTPとOLAP

多くの企業は、オンライン分析処理(OLAP)と並行してOLTPを使用しています。両方のシステムは、大量のデータの管理と分析に不可欠ですが、それぞれ異なる種類のタスクに合わせて設計されており、機能も異なります。OLTPがライブオペレーションのためにトランザクションデータをリアルタイムで効率的かつ確実に保存および更新することに重点を置いているのに対し、OLAPはデータを結合およびグループ化して、さまざまな観点から分析してデータに関する知見を得られるようにします。

OLTPとOLAPが互いに補完し合う仕組み

組織は、包括的なビジネス インテリジェンスのために、OLAP と OLTP の両方のデータ処理を使用することがよくあります。OLTP は、注文処理、在庫更新、顧客アカウント管理などのワークロードにおけるライブ トランザクションとリアルタイム更新用に設計されています。OLAP は、レポート作成、傾向の特定、複雑なデータ分析などのタスクを含む、履歴データまたは集約データのインサイトをサポートします。OLAP システムは、より複雑な分析のために、複数の OLTP システムのソースデータを使用できます。

ワークロード パターン

OLTPは書き込み負荷の高いワークロード向けに設計されており、速度とデータ完全性を維持しながら、大量の小規模な並列トランザクションの処理に重点を置いています。対照的に、OLAPシステムは集計や分析などの読み取り負荷の高い操作向けに設計されています。これらは、データを変更するのではなく、ユーザーが大量のデータに対して複雑なクエリーを迅速かつ効率的に実行できるように最適化されています。

OLTP ソリューションの選択と最適化

OLTPソリューションを選択する際、組織はトランザクションの種類と量、データ構造、パフォーマンス要件、スケーラビリティ、リアルタイムの応答性に関するニーズなどの側面を含め、システムが独自の運用ニーズをどの程度満たしているかを検討する必要があります。適切なソリューションは、組織の長期的なデータ戦略、ユースケース、リソースと整合します。

評価基準

OLTP ソリューションを選択する際の重要な要素の 1 つは、SQL データベースと NoSQL データベースのどちらかを選択することです。Postgres (データベースの主要なオープンソース標準)、MySQL、Oracle などの SQL データベースは、データ完全性をサポートする厳格な ACID コンプライアンスに優れています。また、構造化データに対して、トランザクションの信頼性と複雑なクエリ機能を提供します。NoSQL データベースは、非構造化データに対して、より高いスケーラビリティ、速度、柔軟性を提供します。

OLTP ソリューションのその他の主要な評価基準は次のとおりです。

  • スケーラビリティ:システムは、並列ワークロードの下でさまざまなトランザクション量を処理するために、即座にスケールアップまたはスケールダウンできる能力を持つ必要があります。
  • 一貫性:ソリューションは、パフォーマンスを犠牲にすることなく一貫性を維持できる必要があります。
  • ミッションクリティカルなワークロードへの適合性: ソリューションは必要不可欠な機能をサポートする必要があります。たとえば、e コマース、医療、金融システムなどの分野では、トランザクションの正確性とアップタイムが運用に不可欠です。
  • セキュリティ: 機密性の高い顧客のトランザクション データを保護するには、強力なセキュリティが不可欠です。
  • コスト: 組織は、ライセンス、インフラストラクチャ、管理など、総所有コストを考慮に入れる必要があります。
  • 統合:従来のアーキテクチャでは、オペレーショナルデータベースと分析システムは完全にサイロ化されています。Lakebaseアーキテクチャは、OLTPデータベースをレイクハウスにネイティブ統合し、オペレーショナルデータワークフローを簡素化します。

最適化のヒント

OLTPシステムを最適化するには、チームは効率、応答性、データ完全性を最大化することに重点を置く必要があります。これを達成するために使用できる戦略はいくつかあります。以下に例を示します。

  • 小規模なトランザクション: トランザクションを小規模かつ高速に保つことで、特定の時点でロックされるデータ量が最小限に抑えられ、並列ユーザー間の競合が減少します。
  • インデックスのチューニング: 適切に設計されたインデックスにより、クエリーのパフォーマンスを大幅に高速化できます。
  • キャッシュ: 頻繁にアクセスされるデータをメモリに保存すると、クエリーの応答時間を短縮できます。
  • リードレプリカ:これらは、トランザクションのスループットを低下させることなく、クエリーの負荷をさらに分散させます。
  • ロード バランシング: ワークロードを複数のサーバーに分散させることでボトルネックを防ぎ、クエリーを迅速に処理できます。

まとめ

OLTP は運用データ処理のバックボーンであり、ミッションクリティカルなトランザクションを促進し、それらのトランザクションからデータをキャプチャして、さらなる分析と知見を促進します。OLTP システムの役割とそのコア機能を理解することは、組織が独自のワークロードに合わせてシステムを最適化し、データを最大限に活用するための鍵となります。

OLTP の Databricks への統合

Lakebaseは、Databricks Data Intelligence Platformに直接組み込まれた、フルマネージドのPostgres OLTPデータベースエンジンです。Lakebaseは、serverlessのオートスケール、スケールトゥゼロ、データベースのブランチング、インスタントリストアなどの機能によってOLTPをlakehouseにもたらし、その一方で標準のPostgresツールとの互換性とPostgres拡張機能のサポートを維持します。一般的なユースケースは次のとおりです。

  • 高速で信頼性の高い運用ストレージを必要とするスタンドアロン アプリケーションの構築
  • 追加のパイプラインなしで、レイクハウスからアプリケーションに分析データを直接提供
  • 製品の推奨や顧客のセグメンテーションなどの用途で、アプリケーションに機能とモデルをサービングする
  • 会話型チャットボットおよびエージェント型アプリケーションのセッションとアプリケーションの状態の維持

Databricksプラットフォームにネイティブ統合されたOLTPデータベースを使用すると、単一のプラットフォーム上でオペレーショナルデータ、分析、AI、アプリ、ガバナンスを統合することで、アプリケーションの複雑さが軽減され、管理が簡素化され、AI機能が拡張されます。

    用語集に戻る