メインコンテンツまでスキップ
メインコンテンツまでスキップ

OLAPとは何ですか?

OLAPは、オンライン分析処理を意味します。これは技術的およびビジネスの2つの視点から考えられる広範な用語ですが、非常に広いレベルでは、これらの言葉を逆に読むことができます。

処理 : 一部のソースデータが処理され…

分析 : …それによっていくつかの分析レポートや洞察が生成され…

オンライン : …リアルタイムで。

ビジネスの視点から見たOLAP

近年、ビジネス関係者はデータの価値を認識し始めました。盲目的に意思決定を行う企業は、競争に後れを取ることが多くなります。成功した企業のデータ主導のアプローチは、ビジネス意思決定に役立ちそうなすべてのデータを収集し、それをタイムリーに分析するためのメカニズムが必要です。ここでOLAPデータベース管理システム(DBMS)が登場します。

ビジネスの観点からOLAPは、企業が継続的に運営活動を計画、分析、報告できるようにし、効率を最大化し、経費を削減し、最終的には市場シェアを征服することを可能にします。これは、社内システムで行うことも、ウェブ/モバイル分析サービスやCRMサービスなどのSaaSプロバイダーに外注することもできます。OLAPは多くのBIアプリケーション(ビジネスインテリジェンス)の背後にある技術です。

ClickHouseはOLAPデータベース管理システムであり、ドメイン特化型データを分析するためのこれらのSaaSソリューションのバックエンドとして頻繁に使用されます。ただし、一部の企業は依然として第三者プロバイダーとデータを共有することをためらっており、社内データウェアハウスのシナリオも有効です。

技術的な視点から見たOLAP

すべてのデータベース管理システムは、OLAP(オンライン 分析 処理)とOLTP(オンライン トランザクション 処理)の2つのグループに分類できます。前者は大規模な歴史データに基づいたレポートの作成に焦点を当てており、頻繁には実施されません。一方、後者は通常、トランザクションの継続的なストリームを処理し、データの現在の状態を常に変更します。

実際にはOLAPとOLTPはカテゴリーではなく、より一種のスペクトルです。ほとんどの実際のシステムは通常その一方に焦点を当てていますが、反対の種類のワークロードも望まれる場合にはいくつかのソリューションや代替策を提供します。この状況は、企業が統合された複数のストレージシステムを運用することを余儀なくされることが多く、それほど大きな問題ではありませんが、システムが増えることで維持管理コストがより高くなります。したがって、近年のトレンドはHTAP(ハイブリッドトランザクショナル/分析処理)であり、両方のワークロードが単一のデータベース管理システムによって均等に処理されます。

DBMSが純粋なOLAPまたは純粋なOLTPとしてスタートした場合でも、競争に追いつくためにHTAPの方向に進むことを余儀なくされます。ClickHouseも例外ではなく、最初は可能な限り高速なOLAPシステムとして設計されており、現在でも完全なトランザクションサポートはありませんが、データの更新や削除を行うために、一貫した読み書きや変異のような機能を追加する必要がありました。

OLAPシステムとOLTPシステムの基本的なトレードオフは次のとおりです。

  • 分析レポートを効率的に構築するためには、カラムを別々に読み取れることが重要です。そのため、ほとんどのOLAPデータベースは列指向です。
  • 一方で、カラムを別々に保存すると、行に対する操作、例えば追加またはインプレースの変更のコストが、カラムの数に比例して増加します(システムがイベントのすべての詳細を収集しようとする場合、これは非常に大きくなる可能性があります)。したがって、ほとんどのOLTPシステムは行ごとにデータを保存します。