『bq_sushi tokyo #7』に登壇しました。 BigQueryのプロダクトマネージャーである Chad Jennings 氏と、リードエンジニアである Ahmed Ayad 氏がBQについて解説を行うという素晴らしいイベントでした。
スライド
「ゆるやかにBigQuery(データ基盤)を安定活用するプラクティス集」
Shunketsu Oh 氏との共同発表となります。私1人の成果ではなくチームの成果をあくまでも代表してお伝えしているだけです。 PyCon JP 2017でベストトークアワード優秀賞を受賞した発表(構築編)の続き(運用編)です。
主な内容
- 過去の発表の再掲
- データの民主化
- データ基盤のサービスレベル
- データ集計業務へのスタートアップ手法の適用
- システム保守運用Tips
技術志向のエンジニアからは「これはBQの発表なのか?」と言われそうですが「BQをビジネスに活用するとはこういうことだ!」と胸を張って返したいです。 と、あえて言わずにはいられないほど内心ビクビクしていたのですが、運営の@kumakumakkkさんや@satoluxxさんが場を盛り上げてくださって、心理的安全性が保たれた状態で話すことができました。
スライド抜粋
※新規発表となる システム保守運用Tips
のみ取り上げます。他トピックは発表スライドや過去エントリーを参照ください。
技術要素としては脱PythonでSQLに回帰したほうが移植性・保守性・処理パフォーマンスが向上するという話。
データは3層構造(データレイク、データウェアハウス、データマート)で管理するのが常套手段だが
- システムがデータを処理する流れ
- 人間が段階的に設計を進化させる開発プロセスの流れ
これらの流れの向きは違うという話。
機械学習をビジネス活用するに当たって「何か1つのすごい判断システム」が出来るのではなく
- あくまでも業務フローの一部を置き換えるものなので、手作業やシステム判断が混合した業務フローが出来る
- なおかつ業務フローの最初と最後で機械学習に食わせるデータや実現可能な性能要件が違う
ということに気付かずに非効率な開発をしてしまったという話。
実況抜粋
SQL設計手法とProlog
Prologという言語の存在を初めて知って調べてみました。
Prologは「事物(Object)」と事物間の「関係(relation)」に関する問題を解くために使われるプログラミング言語。 プログラムを「宣言的に」表現できる。他の言語では「手続き的に」表現している。 自然言語解析や、理解、推論などの人工知能の分野で有効。
確かにこれは今のプログラミング言語のパラダイムとは若干違いますね。 以下が私のチームで推奨しているSQLの設計方法となります。
このSQLの設計方法はどうやらPrologという言語の思想を再発明したものだと解釈するのが良さそうです。 やっぱり勉強会はフィードバックを貰うのが一番の勉強になるなぁ。
余談:ゆるキバン△
多岐に渡るトピックをどのような思考フレームワークに当てはめてアジェンダに落とし込むか悩んで迷走した末路がこれです。
「ゆるキバン△」の糞コラを出すか最後の最後まで迷ったのですが、版権の問題があるのと、公的な場でこういうネタはよろしくないだろうということで自主規制しました。
宣伝
一緒にやっていくチームメイトを絶賛募集中です。
- データ基盤の開発・運用におけるベストプラクティスを追求したいSREエンジニア
- データ活用による業務改善(RPA)で利益創出を目指したいアプリケーションエンジニア・機械学習エンジニア・UXデザイナー
- データ分析による意思決定でプロダクト開発を支えたいアナリスト・データサイエンティスト
- データ案件推進やデータ駆動文化の醸成を担いたいディレクター・プロデューサー
我こそはという方がいらっしゃいましたら、ぜひお気軽に@yuzutas0にお声掛けください。
- 作者: あfろ
- 出版社/メーカー: 芳文社
- 発売日: 2015/12/04
- メディア: Kindle版
- この商品を含むブログ (12件) を見る