[新機能]あのSnowflake Hybrid Tablesが遂に日本上陸!!

HTAP(Hybrid Transaction Analytical Processing) の有力な一手となるか、注目の機能
2024.03.11

はじめに

yokatsukiです。

日本時間2024年3月6日、待望のSnowflake Hybrid TablesがAWS東京リージョン環境でパブリックプレビュー(PuPr)になりました!!

Snowflake Hybrid Tablesとは

Snowflake Hybrid Tables(以下Hybrid Tables)とは、一言で表すと「OLTPに適したデータ格納形式を持つテーブル」の事です。OLTPに適したHybrid Tablesと従来の大規模集計が得意なSnowflake Tablesを組み合わせることで、OLAPもOLTPも両方高速に処理できるデータ基盤を構築することが可能になります(このことを、Snowflakeでは「Unistore」と呼んでいます)

Snowflake Unistore Image

Hybrid Tablesは、Snowflake Summit 2022にて発表され、現在は一部のAWSリージョンのアカウントでのみ利用可能なプライベートプレビューの状態にあります。

AWS東京リージョンでHybrid Tablesを作成する

検証環境

以下のSnowflakeアカウントで行いました。

  • リージョン: AWS Asia Pacific ap-northeast-1(AWS東京リージョン)
  • エディション: Enterprise

Hybrid Table作成

公式Docに簡単な動作確認のSQLが記載されているので、それを実行してみます。

テーブルの作成構文はCREATE HYBRID TABLEとなります。

-- Create hybrid table
CREATE OR REPLACE HYBRID TABLE icecream (
  id NUMBER PRIMARY KEY AUTOINCREMENT START 1 INCREMENT 1,
  col1 VARCHAR NOT NULL,
  col2 VARCHAR NOT NULL
);

実行結果です。1秒弱掛かりました。

データをINSERTしてみます。

-- Insert data into hybrid table
INSERT INTO icecream VALUES(1, 'A1', 'B1');
INSERT INTO icecream VALUES(2, 'A2', 'B2');
INSERT INTO icecream VALUES(3, 'A3', 'B3');
INSERT INTO icecream VALUES(4, 'A4', 'B4');

実行結果です。1.4秒掛かりました。

1行更新してみます。

-- Update data in hybrid table
UPDATE icecream SET col2 = 'B3-updated' WHERE id = 3;

109ミリ秒で更新できました。

1行削除してみます。

-- Delete data from hybrid table
DELETE FROM icecream WHERE id = 4;

1.1秒掛かりました。

データを検索します。

-- Select data from hybrid table
SELECT * FROM icecream;

431ミリ秒でした。

おわりに

AWS東京リージョンでHybrid Tablesの作成ができることを確認しました。プレビューとは言え、準備のための申請などは特に必要としていませんので、皆さんも是非お試しください!

性能や運用のベストプラクティスについて気になると思いますが、こちらは今後調査しながら解明していきたいと思います。性能について確認された先人がいらっしゃいますので、まずはこちらをご参考になさって下さい。

私は今後、Hybrid Tablesが普及することで、Snowflake環境一つでOLAP+OLTP=HTAP(Hybrid Transaction Analytical Processing) が実現できる大きな一歩になると思っています。HTAPにつきましては、私が以下の動画で説明していますのでご参考になれば幸いです。

それでは、また。