第7回 Snowflake HorizonについてSnowflake柳瀬さんに色々聞いちゃう会(2024/3/6 SnowflakeJP デタマネ UserGroup)

前置き

こんにちは。

Snowflakeのデータマネジメントのユーザーグループ(通称デタマネ会)の小宮山です。普段はとあるアミューズメント企業でデータチームのマネージャーとしてお仕事をさせて頂いております。

第一回からおよそ半年を迎えた第七回である今回は、Snowflake公式からのご協力の元、セキュリティアーキテクトである柳瀬さんをお招きして、最近生まれた新しい概念であるSnowflake Horizonについて議論する会となりました。

当日は過去最高の盛り上がりを見せましたので、そんな状況も交えてレポートをお届けできればと思います。

Snowflake Horizonとは?

Snowflake Horizonとは、Snowflakeが提供するデータガバナンスに関するソリューション群を統合した機能です。
データガバナンスを取り巻く様々な機能はこれまでは個別に語られることが多かった印象ですが、それらをまとめた総称をかっこいい名前とともにドドンと打ち出したのがSnowflake Horizonというわけです。

Horizon。果てしなく続く地平線。無限に広がる青い空!

なんというかこう、すごくすごいかっこいいネーミングですね!

セキュリティアーキテクト 柳瀬さん

今回お招きした柳瀬さんはセキュリティアーキテクトというSnowflake内でも特殊な立ち位置についていらっしゃる方です。

Snowflake社の中でも特に専門知識を有した部署であるField CTO Officeに所属し、セキュリティ領域のスペシャリストです。

当日は柳瀬さんに対して事前に色々な質問をしておき、機能のデモを交えながら回答していただく第一部と、フリーに議論する第二部に分かれました。

第一部:柳瀬さんによる解説

データリネージ

データリネージはデータ同士の関連性を可視化する機能です。

dbtやtroccoなどのこの機能を提供しているSaaSは存在しますが、それがSnowflakeのコンソール上で実装されていることでツールが散らないというのが良い点であるとのこと。

現状はテーブルの相関性の可視化にとどまっていますが、今後はオブジェクト全体に広がっていくだろうとのこと。
すでにあるRoleの可視化と組み合わさったりしていくと非常に楽しそうですね。

監視や通知を組み合わせると楽しそうだなという質問がありましたが、現状は可視化を主目的としているので、そちらを目指したければ独自に実装する形になりそうです。それであってもこの機能は役に立ちそうですね。

ユニバーサル検索

ユニバーサル検索は自分のアカウントに紐づくオブジェクト以外の公式ドキュメントやマーケットプレイスのデータ全体を検索できるなんかこうすごくすごい検索機能です。すごい。

前述のリネージと合わせて、Snowsightにアクセスすることが前提である点について、利用したい場合には社員にSnowflakeユーザーを付与するしか無いのかという質問が参加者からありました。

これについてはYesという回答で、Snowsightに便利機能を集約していき、ユーザーもそれをフル活用するという世界観が前提とのことです。

データ品質モニタリング

データ品質モニタリングはデータの品質を定義する関数を作成し、それを定期的に監視することが出来る機能です。

ユーザーは以下のように、「正しいデータ」を定義するMETRICを作成し、そこから外れたデータの数を検知して通知をする、という感じの機能です。

現状は定義を外れた件数を返すのみで自動で修正するような機能はないのですが、データの入力が手入力だったりすると悲しいことが起きるので、それを監視してくれる機能は非常に有用ですね。

カスタム分類子

カスタム分類子はデータの中身が特定の条件を満たしているかを判定してくれる機能で、その「特定の条件」を自分で定義することができます。
また、条件を満たしたデータに自動的にタグを付与することができます。

この機能はタグベースのマスキングポリシーと組み合わせたときに真価を発揮します。

メールアドレスや電話番号などの個人情報を検知してタグをつけ、タグベースのマスキングポリシーで保護することで、個人情報の保護がいい感じにできます。

Trust Center

Trust CenterはSnowflakeのセキュリティのベストプラクティスを遵守しているか判定してくれる機能です。

自分のアカウントを見たときに真っ赤になっていないか恐怖で震えていますが、公式がこういった機能でベストプラクティスを提示してくれるのは大変ありがたいですね。

差分プライバシーポリシー

差分プライバシーポリシーはこの日一番注目を集めた機能で、個人情報につながるデータについてノイズを混ぜて値を返してくれるという一見すると謎の機能です。

ユーザーはテーブルに直接クエリを打つのではなく、ノイズが含まれた集計値を受け取る形になります。

ノイズと聞くとわかりにくいですが、要するに数値を若干ぼかして返すような形になります。

完全にデータを見せないのと、全て見せるのとの中間を取った形になり、統計や機械学習のレベルでのデータの活用は可能だが個人情報にはつながらないようにする、という感じでしょうか。

その他にも特定のロールからのクエリの回数を検知してしきい値を超えたら返さなくするといったことも可能です。

社内で使うというよりは社外と共有するときに使うイメージとのこと。
今後は企業間のデータ連携なども活発になっていくと思いますので、この機能が役立つ未来がそのうち来ることでしょう。

第二部:フリートーク

第二部としてはフリートークということで、紹介された機能などについて活発に議論が行われました。具体的には以下のような議題について活発な議論が行われました。

・シングルアカウント or マルチアカウント
・データメッシュ
・ゼロデータアカウント

データに関しての取り組みでは各社様々な都合により可能なシステム構成が異なるので完璧なベストプラクティスというものが定義できないので、そんな中でも指針になる構成を皆様探し求めていた印象です。

そしてその中で、フリートークの後半で特に大きな議論になったのが、以下のお話でした。

個人情報はデータ基盤に入れるか否か?

過去にはデータ基盤には個人情報を入れないことが主流だったと思います。筆者自身もそういうものだと思っていましたから、個人情報をデータ基盤に入れること自体に大きな抵抗がありますし、極力避ける方針を取ります。

企業の偉い人などは個人情報の流出のリスクを理解していますから、そもそも個人情報を入れることを一切認めないという企業も多いと聞きます。

ただ、データの活用方法が多様化した昨今ではその考えを変えていかなくてはいけないのではないかという疑問が浮かびます。

現代においては個人にパーソナライズされたサービスを提供することは必須と言えるレベルになっています。パーソナライズに利用するデータとして個人情報を扱えれば、より良いサービスが提供できるわけですが、これは競争力をつけるためには個人情報を使う必要があることに近しい意味を持ちます。

また、データから個人を特定する方法や特定できてしまうケースが多岐に渡ります。個人情報をデータ基盤に入れられないという状況は活用できるデータの量を著しく制限することになってしまいます。

この状況だからこそ、データエンジニアは個人情報をデータ基盤に入れない前提の考え方から、入れた上でしっかり守る技術を身に着けなければならないというようの考え方をシフトしていく必要があるのではないか、ということですね。

この考え方を変えていくのは他ならないデータエンジニアたちの責任であると言えます。

正しい知識をもって個人情報を含む全てのデータを安全に扱う機能やスキルが今後のデータ基盤には求められることでしょう。

まとめ

今回はSnowflake Horizonをテーマにセキュリティに関しての機能の話を聞き、最後には非常に深いテーマの議論が行われる非常に熱い会になりました。

当初予定していた時間が終わっても多くの人が残って議論していたことからも、データガバナンスに関しての関心は非常に高いことが伺えました。

データ活用についての世の中の流れが今後どうなっていくかはわかりませんが、正しい知識をつけてその流れに備えていきたいですね。

そして、新しい時代の流れに応える機能をSnowflake Horizonは備えていますという、そんなお話でございました。

次回のテーマはデータメッシュ(仮)

次回は日程については協議中ですが、こちらも最近流行りの概念であるデータメッシュについて切り込んでいく計画をしています。
データメッシュは今回のフリートークでも話題に出たのですが、今回話すには少々重すぎるので、次回はまるごとデータメッシュについて議論しようというわけですね。

このブログを読んで興味が湧いた方などいらっしゃいましたら、X(旧Twitter)にて、@kommy_jpまでお気軽にお声おかけください。

また、デタマネ会やSnowflakeユーザーグループに興味が湧いた方は、是非コミュニティのSlackに参加してください。こちらから行けます。

https://usergroups.snowflake.com/snowvillage/

本日はこのあたりで。
それじゃあ、ばいばい!!


この記事が気に入ったらサポートをしてみませんか?