web-dev-qa-db-ja.com

何ですか OLTP そしてOLAP。それらの違いは何ですか?

実際に彼らはどういう意味ですか?私がそれらについて見つけたすべての記事は私に考えを与えない、または私の知識はそれを理解するには不十分すぎる。

誰かが私がこれを最初から学ぶことができるいくつかのリソースを私に与えるでしょうか。

235

ここではより良い解決策を見つけるでしょう OLTP対OLAP

  • _ oltp _ (オンライントランザクション処理)は特定のシステムの操作に関係しています。 OLTPは、多数の短いオンライントランザクション(INSERT、UPDATE、DELETE)を特徴としています。 OLTPシステムは、マルチアクセス環境でのデータの整合性と1秒あたりのトランザクション数で測定される有効性を維持しながら、非常に高速なクエリ処理に重点を置いています。 OLTP databaseには詳細なデータと現在のデータがあり、トランザクションデータベースの格納に使用されるスキーマはエンティティモデルです(通常3NF)。これには、企業データベース内の電子メールの更新など、個々のレコードにアクセスするクエリが含まれます。

  • _ olap _ (オンライン分析処理)は、履歴データまたはアーカイブデータを扱います。 OLAPは、比較的少ないトランザクション量を特徴としています。クエリは非常に複雑で集約が必要になることがよくあります。 OLAPシステムの場合、応答時間は有効性の尺度です。 OLAPアプリケーションは、データマイニング技術で広く使用されています。 OLAP databaseには、多次元スキーマ(通常はスタースキーマ)に格納された集計履歴データがあります。いつかクエリは昨年あなたの会社の利益だったもののように管理レコード内の大量のデータにアクセスする必要があります。

294
Nagaraj S

非常に短い答え:

データベースごとに用途が異なります。私はデータベースの専門家ではありません。経験則:

  • 分析を行っている場合(例:履歴データの集計)、OLAPを使用してください。
  • あなたが取引をしているならば(例えば、eコマースカートの注文を追加/削除する)、OLTPを使用してください

短い答え:

2つのシナリオ例を考えてみましょう。

シナリオ1:

あなたはオンラインストア/ウェブサイトを構築しています、そしてあなたはできるようになりたいです。

  • ユーザーデータ、パスワード、以前のトランザクションを保存する.
  • 実際の商品を保管する、それらに関連する価格

特定のユーザーのデータを見つけ、名前を変更することができます。基本的にユーザーデータに対してINSERT、UPDATE、DELETE操作を実行します。製品などと同じ.

あなたは取引をすることができることを望みます、おそらくユーザーが製品を買うことを含みます(それは関係です)。それならOLTPがおそらくぴったりです。

シナリオ2:

あなたはオンラインストア/ウェブサイトを持っています、そしてあなたは以下のようなものを計算したいです。

  • 「すべてのユーザーに支払う合計金額」
  • 「最も売れている製品は何ですか」

これは分析/ビジネスインテリジェンスの分野に分類されるため、OLAPがおそらくより適しています。

「どのように/何を/どのくらい知っているのがいいだろう」という観点で考えるなら...そしてそれは1つ以上の種類のすべての "オブジェクト"を含みます(例:すべてのユーザーとほとんどの製品合計使用量)、OLAPがおそらくより適しています。

長い答え:

もちろん物事はそれほど単純ではありません。そのため、最初にOLTPOLAPのような小さなタグを配置する必要があります。各データベースは最終的に独立して評価されるべきです。

それでは、OLAPとOLTPの根本的な違いは何でしょうか。

データベースはどこかにデータを格納する必要があります。データが格納される方法が、データベースの使用方法に大きく影響することは驚くべきことではありません。データは通常ハードドライブに保存されます。ハードドライブを本当に広い範囲の紙として考えてみましょう。そこでは、読み書きができます。効率的かつ高速になるように、読み取りと書き込みを整理する方法は2つあります。

片道 は、電話帳のような本を作ることです。本の各ページには、特定のユーザーに関する情報が格納されています。これでいいですね、特定のユーザーの情報を簡単に見つけることができます!ただページに飛びなさい!必要に応じて、最初に特別なページを用意して、ユーザーがどのページかを知らせることもできます。しかし、その一方で、たとえば、すべてのユーザーがどのくらいの金額を費やしたのかを調べたい場合は、すべてのページを読む必要があります。本全体!それは行ベースのブック/データベース(OLTP)になります。冒頭のオプションのページはインデックスです。

もう一つの方法 大きな紙を使うには会計帳を作ることです。私は会計士ではありませんが、「支出」、「購入」のページがあると想像してみましょう。これで、「総収入を教えてください」などのクエリをすばやく実行できるようになります。 "ページ)。 「売れ筋上位10製品を教えてください」など、より複雑なことを要求することもできますが、それでも許容範囲内のパフォーマンスが得られます。しかし今、それが特定のユーザーのための支出を見つけることがどれほど痛いだろうかを考えてください。あなたは全員の支出の全リストを調べ、その特定のユーザーのものをフィルターにかけ、それからそれらを合計しなければならないでしょう。これは基本的に「本全体をもう一度読む」ことになります。それは列ベースのデータベース(OLAP)でしょう。

つまり、

  • OLTPデータベースは、多くの小さなトランザクションを実行するために使用されることを意図しており、通常「単一の真実の源」としての役割を果たします。

  • 一方、OLAPデータベースは、分析、データマイニング、クエリの削減に適していますが、通常はサイズが大きくなります(より多くのデータを処理します)。

それはもちろんそれよりもう少し複雑で、それはデータベースがどのように異なるかの2万フィートの概観です、しかしそれは私が頭字語の海で迷子にされないことを可能にします。

頭字語と言えば:

  • OLTP =オンライントランザクション処理
  • OLAP =オンライン分析処理

もう少し詳しく読むと、ここに私の答えを大いに刺激した関連リンクがいくつかあります。

172
nha

違いはかなり簡単です。

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

OLTPは、トランザクション指向のアプリケーションを容易にし、管理する情報システムの一種です。 OLTPは、システムがユーザーの要求に即座に応答する処理を指すのにも使用されています。オンライントランザクション処理アプリケーションは、高スループットであり、データベース管理において挿入または更新集中型です。 OLTPシステムの例としては、注文入力、小売販売、および金融取引システムがあります。

OLAP(オンライン分析処理)

OLAPは、リレーショナルデータベース、レポート作成、データマイニングなど、幅広いビジネスインテリジェンスの一部です。 OLAPの一般的なアプリケーションには、販売、マーケティング、管理レポート、ビジネスプロセス管理(BPM)、予算作成と予測、財務報告などの分野のビジネスレポートがあります。

詳細を見る OLTPとOLAP

21

OLTP-:oltpは、今日の日々のデータ情報を管理するために使用されるオンライントランザクション処理を表します。 OLAP-:データの過去の履歴を保持するために使用され、主にデータ分析に使用されるオンライン分析処理を表します。これは、ウェアハウスとも呼ばれます。

6
rakesh singh