OLAP(オンライン分析処理)[オンライン分析処理]
起源
- データベースの概念は、もともと「Aプログラミング言語」(APL)という本から派生した1962ケネス・アイバーソンが初めてそれを公開し、数式処理操作と多次元変数、IBMによってその後、APL言語。
- そして、エドガー・F・コッドの父は、リレーショナルデータモデル「の有名な理論のデータベース提案し、大規模な共有のためのデータのAリレーショナル・モデルデータバンク」をデータベースの後の開発のための基礎を築くために。
- 最初エクスプレスOLAP製品は、30年以上の繁栄と発展など、Oracleによる買収後、1975年に出てくる、そして最終的に後継者のOracle 9iので置き換えます。過去何年も、基本的な概念とOLAPデータモデルが変更されません。
- OLAPデータベースは、この用語が記事で1993年にエドガー・F・コッドの父である「ユーザーアナリストにOLAP(オンライン分析処理)を提供:アンIT・マンデート」を提案し、彼はOLAP製品に続いて、OLAP製品の12の原則を総括しました次々と徐々に、今日のパターンを形成します。
コアの概念
- 次元
- 外形寸法(寸法):このような時、場所、年齢や性別などの事、上の人々の視点、単一の視点の概念。
- 次元レベル(ディメンションのレバー)の3つのレベルの四半期、月、時間などのディメンションの概念に基づいてさらに破壊が、年間分けることができ表します。
- 次元メンバー(ディメンションのメンバー):無次元値細分原子を表します。
- 測定(測定):このディメンション・メンバーにその値。
オペレーティング
滴下(ドリルダウン):寸法は階層的である、ディメンションに落下する第二のデータ情報の内容が急速に外観に4,5下回る次の層に分割集約されたデータを、次のレベルを表します6月では、詳細なデータ。
(アップドリル)ドリル:より高い集約データコンバージェンス層に戻す逆の動作を、滴下。
スライス(スライス):立体BEディメンションによってセグメント化されるようスライスを理解することができる、セグメンテーションを実行する範囲(間隔)によって切断されます。
回転(ピボット)は別の角度からのデータを分析し、行と列の次元を切り替えます。
- 次元
分類
MOLAP(多次元OLAP)
OLAP起源最初に形成する:多次元配列OLAP(マルチ次元アレイ)メモリ・モデル、OLAPに相当するいくつかの方法。
特長:
- 多次元配列がある事前計算データ(事前計算)、事前計算(立方体)の後に、結果を必要とします。
利点:
- 重合結果キューブは非常に速く、すべてのディメンション、すべてのクエリが含まれています。
- ディスク容量の結果が小さいデータの相対関係データベースによって占められます。
短所:
大きなオーバーヘッド空間と時間。
- 急激寸法と計算時間の増加に関連度(度)を計算すると、時間の更新キューブは↑↑、加えて、事前計算されたデータの使用の急速な拡大をもたらすであろう。
クエリの柔軟性が比較的低いです。
- 三次元モデルは、コンテンツ分析は、これらの指定された寸法に限定され、事前に設計する必要がある、寸法を再計算する必要が増加しました。
ROLAP(リレーショナルOLAP)
- データを格納するリレーショナル・モデルに基づいて、ファクトテーブル(ファクトテーブル)と一定の関係によって設計ディメンションテーブル(ディメンションテーブル)の一般的な要件は、それが事前に計算された標準SQLクエリのためにデータの瞬時異なる寸法必要ができるように必要としません。
- 利点
- 多次元モデルのための多次元モデル、MOLAP数のスケーラビリティが遅いのカウントに期待され、大きなスペースを占めています。
- テキストで説明したように、より良い、非集計ファクトに適しています。
- 行ベースのストレージは、データは著作権管理を行うことが容易です。
- 短所
- それが瞬時に計算されているので、MOLAPクエリの応答時間は、一般的に長い事前に計算を超えています。
HOLAP(ハイブリッド)
- 業界は何の合意された定義がない、それは混合使用のMOLAPとROLAPタイプです。
- ROLAP、より便利で柔軟な形式で格納されたデータの詳細。
- データは、効率的な分析に適しMOLAPの高重合形態で提供しました。
- 会社の目的は、異なるOLAP機能を使用して、さまざまなシナリオに応じHOLAPを使用します。
工業製品
- MOLAP製品のCognosパワープレイ、Oracle DatabaseのOLAPオプション、MicroStrategyのは、Microsoft Analysis Servicesの、Essbaseの、TM1、Jedox、icCubeと麒麟など
- ROLAP製品のVertica、アマゾン赤方偏移は、Googleドレメル、HuluのNesto、プレスト、ドルイド、インパラ、Greenplumは、HAWQとドリスのように。
国内の開発状況
- BATおよび他のメーカーに加えて、自習OLAP製品、その他の小さなインターネット企業は、一般的にオープンソースを受け入れるだろう、麒麟は、プレストは、インパラ、ドルイドとGreenplumは、その他のオープンソースのOLAP技術がビジネス分析クエリを達成するために使用しています。
OLTP(オンライントランザクション処理)[オンライントランザクション処理]
説明
- 非常に高いトランザクションシステムを表し、一般的に小さな事柄に可用性の高いオンライン・システムだけでなく、小さなクエリベースです。
- このようなシステムでは、トランザクションが秒あたりに処理単一データベースは、多くの場合、数百、あるいは数千以上のSelect文、数千、あるいは数十秒あたり何千ものの実行額です。
- 典型的なOLTPシステムなどeBayの米国事業のデータベースとして、電子商取引システム、銀行・証券は、典型的なOLTPデータベースです。
場所最も発生しやすいボトルネック
CPU
CPUのパフォーマンスのボトルネックは、多くの場合、論理的に文は、その後、単一の速度が実行されますが、実行の非常に多くされている場合、単一の論理的な文は、実行回数の読み取りを乗じ、合計読み取りロジックに等しくなり、総計算機能やプロセスを読みます、それはまた、ロジックの偉大な量を読み取るために発生することがあります。
設計と最適化方法の方法は、単一の読み取り文ロジックを減らす、または実行のその数を減らすことです。
そのようなそのような復号頻繁な使用のような自己定義関数、などのいくつかの計算機能は、CPUの多くの時間を消費し、システムの負荷の増大をもたらします
設計手法や最適化の方法、回避計算に必要右、計算結果をテーブルとして保存されている優れた方法です。
ディスク
- OLTP環境では、物理ディスクが読み取られるため、容量を運ぶことは、一般的に単一のブロックを読んで、この数は、リードされ、一般的にDBファイルシーケンシャルリードしている、能力を処理し、そのディスクIOPS(入力/出力操作毎秒)に依存します頻繁に。
- あなたの場合、頻繁にディスクサブシステムは、その大きなパフォーマンスの問題のIOPSを運ぶことができないときに発生します。
方法の一般的な設計と最適化:
キャッシュ
- キャッシュの決定は、ディスクサブシステムからデータを取得した文の多くを必要としません。
B-treeインデックス技術
- 実施計画でも安定しているが、バインド変数を使用してくださいだから、できるだけ簡単なように、インデックスの使用、声明の中で、基本的なパーティショニング技術、MVを使用せずに、分散トランザクションを最小限に抑えるために、関連するテーブルを最小限にするために解析する文を減らし、並列技術とビットマップインデックス。
- バッチ更新は、輻輳を回避する際に高いため、並行性のため、すぐにバッチを提出します。
OLTPシステムは非常に頻繁に変化する、SQL文が非常に頻繁にシステムを提出したデータのブロックです。
データ・ブロックについては、これまで再利用を達成するために、可変結合SQL技術として使用して、SQLのために、メモリに格納されたデータブロックのうち、可能な限り、それによって大幅に向上、物理I / Oと繰り返しSQLの解析を減少させるべきですデータベースのパフォーマンス。
パフォーマンスに影響を与えるバインド変数に加えて、ホット速い(ホット・ブロック)があるかもしれません
- ブロックは、同時に複数のユーザに読み取られると、Oracleは、一貫性を維持するために、ユーザによってラッチシリアライゼーションオペレーションを使用することが必要です。
- ユーザーは、ラッチを取得すると、他のユーザーはより明白にするために待っている、ユーザーより多くのデータブロックを得るために待つことができます。
- これは速い熱の問題です。そのような熱は、エンドブロックをロールバックすることができる、高速のデータブロックであってもよいです。
データ・ブロック・インデックスは、そのロールバック・データ・ブロックのための逆再分布データを作成する目的を達成することが考えられる場合は、当該データブロックの場合は、通常、データベース内のデータの不均一な分布につながる、いくつかを追加するために、より適切なものとすることができますこの競合を避けるためにロールバックします。