Snowflake Unistore(ユニストア)とは? ~他DWH製品のOLTP機能と比較~(vol.17)

  • 公開日:2024年01月15日(月)

Snowflake社は、2022年6月13日~16日に、アメリカのラスベガスで開催した「Snowflake Summit 2022」にて、データクラウド「Snowflake」の新機能を発表しました。
その中には、OLTP(On-Line Transaction Processing:オンライントランザクション処理)機能を搭載したUnistore(ユニストア)が含まれており、近日パブリックプレビュー予定となっています。

本ブログ記事では、Unistore(ユニストア)とは何なのか従来のOLAPと新たに利用可能となるOLTPとの違いも交えて解説します。また、他のDWHのOLTP機能と比較することで、SnowflakeのOLTP機能の特徴をご理解いただければと思います。

SnowflakeのOLTP、Unistore(ユニストア)とは?~OLTPとOLAPの違い~

Unistore(ユニストア)とは、トランザクションデータと分析データを単一のプラットフォームで統合統合して活用できるSnowflakeの新しいワークロードのことです。Unistore(ユニストア)は、新たに使用可能となったOLTP向けテーブルと従来のOLAP向けテーブルとのシームレスな連携を実現します。

Unistore(ユニストア)の主な特徴として、次の3点が挙げられます。

  1. トランザクションユースケースのためのHybrid Table(ハイブリッドテーブル)
    Unistore(ユニストア)は、Snowflake上で作成可能なHybrid Table(ハイブリッドテーブル)と呼ばれる行指向テーブルを有しており、オンライントランザクション処理に対応することが可能となりました。Hybrid Table(ハイブリッドテーブル)は、高速な単一行オペレーションをサポートするために、行ベースのストレージエンジンを使用します。また、主キー/外部キー/参照整合性制約/インデックスなどのトランザクション機能を使用することができます。Hybrid Table(ハイブリッドテーブル)を使用することで、ビジネスアプリケーションのトランザクションデータを直接Snowflakeに構築することが可能になります。
  2. トランザクションデータの直接分析
    トランザクションの発生ごとにアナリティクスを実行することで、強力なインサイトの取得ができます。また、実行可能なニアリアルタイムのインサイトを取得するため、既存のSnowflakeテーブルのデータやSnowflakeマーケットプレイスのデータ、他のチームから共有されたデータを統合します。
  3. すべてがデータクラウド上で管理が可能
    従来、OLAPが主な用途であったSnowflakeは、OLTPを使うことが不可能でした。そのため、Snowflake上でOLTPのデータを分析するためには、定期的に分析用のDWHへデータをコピー/移動する必要がありました。しかし、Unistore(ユニストア)の登場により、Snowflake上で①トランザクション処理を行うテーブル と ②データ分析を行うテーブル をテーブル単位で設定できるようになり、セキュアでシームレスな統合が可能となります。

Snowflakeで新たに利用可能となるOLTP向けテーブルと、従来の用途であったOLAP向けテーブルとの違いについて解説します。

  • OLTP(On-Line Transactional Processing)
    OLTPとは、データの挿入/削除/更新など、多数のトランザクションを同時に実行するデータ処理の一種を指し、主に取引頻度が高い、ビジネスアプリケーションなどで利用されています。
  • OLAP(On-Line Analytical Processing)
    OLAPとは、BIツールに属しており、データベース上に蓄積された大量のデータを多次元的に分析し、ユーザが求める結果を迅速に提供するためのものです。

OLTPとOLAPは、どちらも大量のデータを保存/処理するためのデータベース管理システムと言えます。ただし、データ管理の目的やアプローチは、OLTPとOLAPとで大きく異なります。
そこで、OLTPとOLAPの違いについて、目的/データの性質/パフォーマンス/クエリの性質 の4つの観点から解説します。

  1. 目的
    OLTPは、日常的な業務プロセスをサポートするために設計されており、データベースへのデータの挿入/更新/削除/検索などのトランザクション操作を効率的に処理します。
    主にリアルタイムまたは近いリアルタイムでのデータの正確な管理を目的としています。
    OLAPは、大量データを分析することでビジネスの傾向やパターンを理解し、意思決定を支援するためのクエリと分析を行うことを目的としています。多次元データモデルを使用してデータを組織し、集計/グループ化/フィルタリングなどの操作を高速に実行できるようにします。
  2. データの性質
    OLTPは、データの追加/更新/削除などのトランザクション操作を扱います。頻繁に変更されるデータに対応できるように設計されています。
    OLAPは、多次元的な構造を持ったデータを基に集計や分析を行います。
  3. パフォーマンス
    OLTPは、トランザクションの処理速度とデータの整合性に重点を置いています。データの正規化とトランザクションの排他制御が行われることが多いです。
    OLAPは、データの冗長性を許容し、複雑なクエリと分析を高速に実行することに特化しています。
  4. クエリの性質
    OLTPは、主にデータの挿入/更新/削除/検索といった簡潔なトランザクションクエリが実行されます。
    OLAPは、データの集計/グループ化/比較などの操作が頻繁に行われることを想定しています。

<OLTP と OLAPの違い>

  OLTP OLAP
目的 複数のトランザクション操作を効率的に処理できるため、リアルタイムでのデータの管理を目的としている 大量データを分析し、ビジネスの傾向を理解することで、意思決定を支援することを目的としている
データの性質 データは頻繁に変更される データは多次元的な構造を持つ
パフォーマンス

処理速度とデータの整合性に重点を置いており、
データの正規化とトランザクションの排他制御が行われることが多い

データの冗長性を許容し、複雑なクエリと分析を
高速に実行することに特化
している
クエリの性質 主にデータの挿入/更新/削除/検索といった
簡潔なトランザクションクエリが実行される
データの集計/グループ化/比較などの
操作が頻繁に行われることを想定している

簡潔に述べると、SnowflakeにUnistore(ユニストア)が追加されることにより、従来はできなかった次のようなことが可能となります。

  • ビジネスアプリケーションのトランザクションデータを直接Snowflakeに構築する
  • トランザクションデータと分析データを単一のプラットフォームで組み合わせて利用する
  • データを移動またはコピーする必要性を排除し、アーキテクチャを簡素化する

Snowflake以外にも、OLTP機能を有するDWH(データウェアハウス)製品は存在するのでしょうか?
次章では、Snowflakeとよく比較される主要なDWH(データウェアハウス)製品におけるOLTP機能の有無や違いについて解説します。

SnowflakeのUnistore(ユニストア)と他DWHのOLTP機能の比較

Snowflakeとよく比較される主要なDWH(データウェアハウス)製品3つ(Amazon Redshift、Azure Synapse Analytics、BigQuery)におけるOLTP機能について解説します。

  1. Amazon Redshift
    AWSでは、DWH(データウェアハウス)のOLTP機能として、OLTPデータをニアリアルタイムでOLAP分析できるようにする「Amazon Aurora zero ETL integration with Amazon Redshift」が、正式版としてリリースされています。
    「Amazon Aurora zero ETL integration with Amazon Redshift」は、トランザクションデータがRDBMSである「Amazon Aurora」に書き込まれてから数秒以内に、DWH(データウェアハウス)である「Amazon Redshift」で利用可能になります。
    *ユーザー側でETLの仕組みを構築する必要はありません。
  2. Azure Synapse Analytics
    現時点では、Microsoft Azure Synapse AnalyticsにはOLTP機能はありません。
  3. BigQuery
    現時点では、BigQueryにはOLTP機能はありません。

上記の通り、現時点では、正式版としてリリースされているDWH(データウェアハウス)のOLTP機能はAmazon Redshiftのみです。

では、SnowflakeのUnistore(ユニストア)とAmazon RedshiftのOLTP機能の特徴的な違いは何なのでしょうか?
主な違いは次の通りです。

  1. Snowflake
    Snowflakeでは、用途に応じて ①トランザクションテーブル と ②分析テーブル を構築可能です。これにより、データベースとデータウェアハウスを物理的に分ける必要なく、データ分析基盤を構築することが可能になります。
  2. Amazon Redshift
    AWSでは、DB(データベース)とDWH(データウェアハウス)が分かれていますが、ETL処理は自動で構築されます。AWSでは、DB(データベース)は「Amazon Aurora」、DWH(データウェアハウス)は「Amazon Redshift」に分かれていますが、ETL処理を構築せずとも、「Amazon Aurora」から「Amazon Redshift」へのデータ転送は可能です。

まとめ

ここまで、Snowflakeの新機能であるUnistore(ユニストア)について、従来のOLAPと新たに利用可能となるOLTPとの違いについて解説のうえ、他のDWH製品とも機能比較をして参りました。

  • Unistore(ユニストア)は、トランザクションデータと分析データを単一のプラットフォームで組み合わせて利用することが可能であり、新たに使用可能となったOLTP向けテーブルと従来のOLAP向けテーブルとのシームレスな連携を実現
  • Unistore(ユニストア)≒Hybrid Table(ハイブリッドテーブル)を使用することで、ビジネスアプリケーションのトランザクションデータを直接Snowflakeに構築することが可能
  • Snowflake社は、Unistore(ユニストア)を近日パブリックプレビュー予定
  • 現時点で、正式版としてリリースされている他DWHのOLTP機能はAWSのみであり、Unistore(ユニストア)は、データベースとデータウェアハウスを物理的に分ける必要がないため、セキュアでシームレスな統合が可能

新しく登場したUnistore(ユニストア)や他DWHのOLTP機能の特徴をご理解いただいたうえで、Snowflakeのご利用についてご検討いただければと思います。

弊社は、データマネジメントの専門家として、お客様のデータ一元管理やデータ活用における戦略策定、データドリブン経営の実現に向けた真の“使える”データマネジメント基盤構築のご支援をしております。
データ分析基盤の豊富な構築実績に基づくノウハウを体系化したサービスをご提供しておりますので、データ活用でお悩みの際は、是非、弊社までお声掛けください。

◆ お問い合わせページ:https://itsol.dentsusoken.com/snowflake/inquiry/

*本記事は、2023年12月1日時点の情報を基に作成しています。
 製品・サービスに関する詳しいお問い合わせは、電通総研のWebサイトからお問い合わせください。