バッチ処理

OLTPとは?OLAPやDWHとの違いをわかりやすく解説

データ処理の基本として、あるいは主流として挙げられるのが“OLTP(OnLine Transaction Processing)”です。
また、OLAP(OnLine Analytical Processing)やDWH(Data WareHouse)といった処理方法やデータ管理方法もありますね。

正直、非エンジニアの方からすれば「何がどう違うの?」といったところでしょう。
しかしそんなことも言っていられないのが事実。

ビッグデータ時代に突入してからというもの、専門家以外でも当たり前のようにデータ分析や処理が任されるようになってきています。
本稿を読まれている方の中にも会社の上長からいきなり「データ分析担当よろしく」と言われた方がいらっしゃるのではないでしょうか。

「そんなこと言われていない」という方でも、今後データ分析や処理に関わるシーンは必ず訪れます。

そこで今回は、OLTP・OLAP・DWHそれぞれの意味を理解し違いをはっきりとさせていきましょう。

OLTP(OnLine Transaction Processing)とは

日本語では「オンライントランザクション処理」と呼ばれ、データ処理方法の一つですがそもそも“トランザクション”とは何でしょうか?

そもそもトランザクションとは

トランザクションとはもともと「商取引」といった意味のある言葉であり、ソフトウェアの分野においては「一体不可分な処理単位」として使用されています。

掘りさげて説明すると、商取引と一口にいっても一度の取引の中でも様々なプロセスが発生します。

製造業なら発注を受け原材料を仕入れて加工・製造し製品を納品。そして締め日に売掛金を回収する。
これが一つの商取引なので、この一連の流れをトランザクションと言います。

ソフトウェアにおいても要量は同じであり、データを処理する際は「ただ処理をする」とういのではなくそこには互いが関連・依存している様々プロセスが発生しているのです。

データは目に見えるものではないので分かりづらいかもしれませんが、上記の商取引のような一連の流れがデータ処理にもあると考えると理解しやすいかと思います。

そしてトランザクションを処理するのがいわゆる「トランザクション処理」です。

オンラインとはどういう意味?

オンライントランザクション処理におけるオンラインとは“インターネットに接続された”という意味合いとは少し異なります。

ここで言うオンラインとはいわば「リアルタイムで処理しているかどうか?」です。

つまり、インターネットに接続されていなくてもネットワークで接続されたクライアント(ユーザーPC)とホストコンピュータ(サーバなど)の間でのデータ処理がリアルタイムなら、それすなわちオンラインとなります。

ここまでの解説で既に理解している方も多いかもしれませんが、総合的に言うとOLTP(オンライントランザクション処理)とは「クライアントからの要求を受けたコンピュータがリアルタイムでトランザクション処理を行い、特定のレスポンスを返す」というデータ処理方法です。

ちなみに特定のレスポンスとは追加/更新/削除/変更といった動作を指します。

OLTPを用いているシステムとして代表的なのが、銀行やコンビニのATMシステムです。
ATMシステムではユーザーの「いくら引き出したい」または「いくら振り込みたい」という要求に対し、即座にレスポンス(現金引き渡しや振り込み処理)を返します。

このようにリアルタイムでユーザーの要求に応えるのがOLTPなのです。

バッチ処理について

オンライン(リアルタイム)でトランザクション処理を行うOLTPに対し、バッチ処理という処理方法が存在します。
こちらは即座にレスポンスを返す処理ではなく、一定量(もしくは一定期間)データがまとまった段階で処理を行うというものです。

例えば即座にレスポンスする必要のないデータやシステムを圧迫するほど膨大なデータ群などに対し、日中システムが稼働していない夜間や休日に処理を行います
こういった処理を「夜間バッチ」や「休日バッチ」と呼び、言葉くらいは聞いたことがあるかもしれません。

OLTPがATMシステムなら、バッチ処理は銀行の勘定系システムです。
給与振り込みや企業間取引など即レスポンスは必要ないものの、膨大かつ一括での処理が必要なデータを取り扱います。

バッチ処理について詳しい解説はこちらを参考にしてください。

OLAP(OnLine Analytical Processing)とは

OLTPと混同されがちなOLAPですが、「オンライン分析処理」と言われ“データ処理の手法”といよりも“データ分析の手法”に近い概念及びシステムとなります。
「OLAP分析ツール」というソフトウェアの名前を耳にしたことがある方も多いと思いますが、まさにこのOLAPです。

簡単に解説すると、データーベースに蓄積された膨大なデータに対し、複雑な(多次元的な)集計・分析を行い素早くレスポンスを返すソフトウェアとなります。
ここでもオンラインはリアルタイムと言い換えていいでしょう。

OLAPはRDB(リレーショナルデータベース)に蓄積された膨大なデータから独自に多次元的なテーブルを生成し、これを基準にユーザーが要求する複雑な分析処理を行います。

このためOLAPはデータサイエンティストといった専門家向けのものではなく、どちらかというとデータ分析初心者~中級者向けのソフトウェアと言えますね。

また、専門の技術者がいなくても操作できるよう、GUI(※1)を採用していたり分析結果をグラフや表でわかりやすく表示できる機能を持つものが多くリリースさえています。

※1:GUIとは「Graphical User Interface」の略であり、画面上に表示されたアイコンなどをマウスやタッチパッドで操作するインターフェース。これに対しコマンドベースのインターフェースをCUIと言う。

OLAPはビジネスインテリジェンスの一部

ビジネスインテリジェンスとはいわば、“企業内外に蓄積される膨大なデータ群に対し支援システムを活用し、データ分析の専門家ではない経営者または社員が事業に有用な情報を導き出すために独自にデータの蓄積/抽出/加工/分析/レポートを行うこと”です。

短くギュッとまとめたので少々わかりづらくなってしまったかもしれません。
ビジネスインテリジェンスに関することはこちらで詳しく解説しているので参考にしてください。

実はOLAPはこのビジネスインテリジェンスの一部であり、包括的なBIツールで提供されていることが多いソフトウェアなのです。

DWH(Data WareHouse)とは

直訳すると「データ倉庫」という意味を持つDWHですが、基幹系システムから生成されるデータを“時系列で”管理するためのデータベース。あるいはそのデータベースを構築・運用するためのソフトウェアを指します。

単なるデータベースとは異なり、DWHには以下のような4つの特性があります。

1.サブジェクト指向

例えば販売データを通常のデータベースに蓄積する際、「販売日」「顧客名」「顧客住所」「品番」「カラー品番」などを“販売データ”として格納します。
一方DWHではサブジェクト(主題)ごとにデータを格納するため、“販売データ”としてではなく「顧客」「商品」「取引」といった項目に落とし込んで格納されるのです。

2.統合する

DWHは各基幹系システムからデータを単に統合するだけでなく、同じ意味を持つようなデータを抽象化することで重複データをなくします。
このため膨大なデータを最小限のストレージで格納することが可能です。

3.削除・更新をしない

基幹系システムでは必要なデータさえあれば業務を進行することができるので、不要になったデータは基本的に削除されます。
しかしDWHではデータの削除も・更新もされません。

これはDWHが先に紹介したビジネスインテリジェンスの一部として捉えられており、取引データの履歴なども分析対象となるからです。

4.時系列であること

DWHでは基幹系システムから発生するデータを常に「いつ発生したものなのか?」と時系列で格納していきます。
もちろん新しいデータが入ってきたからといって、古いデータに上書きするということもありません。

従ってデータが無限に増え続けることになるため、いずれストレージを圧迫します。

このため3年や5年といったデータのライフサイクルを設定し、増え続けないよう設計することが重要です。

まとめ

いかがでしょうか?今回の解説でOLTP・OLAP・DWHについての理解を深めて頂けたのであれば幸いです。

OLTPの項目で解説したバッチ処理ですが、基本的に企業にはどちらの処理も必要不可欠となります。
オンライン処理のみで全てのシステムを稼働する「バッチレスシステム」を推進している企業も存在しますが、これは限られた企業の話です。

一部を除いて大手企業や中小企業では必ずOLTPとバッチ処理の両方が必要であり、かつどちらの処理も迅速性があるものでなければなりません。

インテリジェント・モデルが提供する「ODIP(オーディップ)」では、オンライン処理としての側面と大規模バッチシステムとしての側面を持ち合わせており、多くの企業のデータ処理を支えています。

ビッグデータ時代とも言われている現代ビジネスにおいて、膨大な量のデータを適切に処理していくためにはこういったソリューションの導入が必要不可欠でしょう。

「ODIP」による品質向上とコスト削減効果とは

「ODIP」による品質向上とコスト削減効果とは
株式会社レイヤーズ・コンサルティング様は、超高速開発ツール「ODIP(オーディップ)」を用いて、大規模バッチシステムの再構築を成功させました。大規模システムにおける超高速開発ツールの適用事例は少ないですが、同社は、どのようにプロジェクトを成功に導いたのでしょうか。

本資料ではプロジェクトを成功に導いたポイントと成果をご紹介します。

ダウンロード

ODIP Enterprise Solution
3つのポイントでわかるプロジェクトが回る開発体制の作り方「人月の神話」から見た、ソフトウェア開発管理 ~超高速開発ツールは“銀の弾”になるのか~