コンピューティング
パフォーマンス
シンプルに面白かったです。器用に計画されるのだなと。以前これにハマっていてその時適用されていたら解決していたのかもしれない。compiler staticではなくadaptive…のくだり興味深い。。
久々の投稿。auto clustering、Materialized View、Search Optimizationの仕組み、コストら各々の使いどころが書かれている。クエリの傾向の論点が分かりやすい。組み合わせるという考え方はかなり新鮮だった。
Warehouseの内部構造について深く丁寧に書かれている。公式ドキュメントに書かれていない事情や行間を知ることができた。長くて重いが読む価値がある。(読むのに1週間かかった…)これはブログに書こうと思う。
(Superchargeというほどでもないけれど)Micro partitionsの構造からクラスタリングの効き方が詳し目に説明されていた。CLUSTERING_INFORMATIONのaverage_overlapsとaverage_depthを直感的に理解できないな..。説明が多くて助かる。INSERT OVERWRITE INTOを初めて知った。
インジェスト
継続的インジェストのまとめと新動向。結構理解が混乱していたので興味深い。Snowpipe streamingに対してTriggered Task(PrPr)の優位性が言われている。(kafkaだけど)不便なところが便利になっているみたい。
どのようなシナリオで各ingestion方式を選択するべきかwhen to useのベスプラがまとめてある。各方式の客観的な性質を説明する公式と比較して「こういうケースはこうしよう」の分量が多くて参考になる。他の方式も俯瞰してまとめられていてむちゃくちゃ参考になった。良記事。
コストガバナンス
興味深い。以前これにハマって会社で記事書いた。BIのバックエンドで発生する”bursty”なクエリの分析。大:小の比率は約7:1、小クエリでキューが逼迫して2台目クラスタが無駄になるやつ(分析ツールへの誘導になってる)
比較する必要があって読んでみた。SnowpipeとLambdaを使ったカスタムパイプラインの手順、レイテンシ、コストの比較がされている。ある仮定のもとではSnowpipeが安いそう。near-realtime性はLambdaが良いそう。
ストレージ
データレイク
HiveとApache Icebergの比較がbriefに書かれてて10分くらいで入口に立てた感じ。Data Lakeの統合でも出てきたけど脱サイロ化のニュアンスがあるんだな。外部テーブルの亜種みたいな。
Dynamic Table
Dynamic tableがSource tableの変化に対してどう作用するか具体的に説明されていた。SINK側のクエリ結果と実レコードに差異があるときに更新されると表現されてる。ポーリングせずにどう評価するのか気になるな。
ストレージコスト最適化
micro-partitionはimmutableでテーブルの変更を契機に追加されていくというストレージの仕組みが丁寧に説明されていた。なぜTimeTravelが可能なのかとか頻繁な変更がコスト増のスパイクに繋がる理由とかモニタリングの方法とか、むちゃくちゃ学びのある記事だった。
セキュリティ・ガバナンス
権限
function roleとaccess roleの2層で権限設計するパターン。何度か実際に使ってみたけど全てのaccess roleにswitch role出来てしまうのが使い辛かった。セカンダリロールを設定するとしてもaccess roleは明示的にuseさせない仕組みがあれば。。
開発
Git統合
Git統合(PrPr)の書き方読んでみました。具体的。Workflowの改善がトピックなのだなとか。本体の機能が増えれば(小規模限定かもしれないが)本体だけで対応できる可能性が増えるということかなと。
イベントテーブル
今更ながらEvent tables。やはりアカウント単位なところが気になるけど検証本番環境をAPT(Account Per Tenant)で分離して各環境で実行する機能の種類が少ないなら意外に問題にならないのかも。
Alert・Notification
AlertとNotificationについてのWhen to use、How to use。Deep diveと言うほど深くない気がするけれど、使用事例自体が珍しい界隈において貴重な体験になった。似たシナリオでどう考えるべきか材料が増えた気がする。これにAPI Integrationも追加されるのか。
ML・LLM・AI関連
Snowpark
Snowparkの役割と主要な特徴、COVID-19を題材としたロジスティック回帰モデルの学習と推論などについて。少なくともSnowparkが汎用データ処理の目的で用意されていないことは理解しないとなと。
Snowpark ML toolkitを使ってみた、という記事を写経してみた。dbtのpython modelの使い方から始まりSnowpark MLのハンズオンのようになっていて通しでやると理解した気になる。データ量とパフォーマンスの関係について、こういう感覚なんだなと思った。
OpenAI
未知の領域の開拓。Snowpark MLの今、みたいな話を読んでみた。Modelとそのdependenciesをアセットとして扱いたいとか、accuracy毎に過去を辿りたいとか、何故そういうことをしたいのか、がよく分かる記事だった。これは試しにやってみるかな。
Document AIの横で作られていた「自然言語をIFとする汎用的なドキュメント理解」の性能や課題を計測するデータセット “DUGE”の話。別で難しい話だなと思いながら読んでいた。さらに日本語の壁があるだろうし、「課金」ではなく日本人が要素技術を積まないと出来ない話。