Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

btech lab. #2_onji

5 views

Published on

b→tech lab. #2 LT資料
「メール配信基盤 95%時間短縮への挑戦」
陰地 康太

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

btech lab. #2_onji

  1. 1. メール配信基盤 95%時間短縮への挑戦
  2. 2. 陰地 康太 京都大学卒。 2018年4月フロムスクラッチ入社後は Technology Development Co. b→dash2.0 開発チームに所属。 1日あたり平均1600万件配信を実施する メール・LINE・SMS・プッシュ通知の クロスチャネル配信基盤をメインに担当 し開発から保守運用までをほぼ1人で実 施する。
  3. 3. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  4. 4. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  5. 5. 統合取得 活用 DWH 基幹システム Bizデータ Webデータ 顧客 データ 売上 データ 商品 データ サイト 回遊情報 流入先 情報 ・27歳 ・男性 ・先月入会 ・営業の本をECで検索 メール配信 分析(レポート) レコメンド
  6. 6. 統合取得 活用 DWH 基幹システム Bizデータ Webデータ 顧客 データ 売上 データ 商品 データ サイト 回遊情報 流入先 情報 ・27歳 ・男性 ・先月入会 ・営業の本をECで検索 メール配信 分析(レポート) レコメンド
  7. 7. 統合取得 活用 DWH 基幹システム Bizデータ Webデータ 顧客 データ 売上 データ 商品 データ サイト 回遊情報 流入先 情報 ・27歳 ・男性 ・先月入会 ・営業の本をECで検索 メール配信 分析(レポート) レコメンド シナリオ配信基盤
  8. 8. 選択したセグメントから 配信対象を抽出
  9. 9. 別のセグメントを条件に T/Fで分岐
  10. 10. Trueの顧客にはメール Falseの顧客にはLINE
  11. 11. 1日間の待機を挟んで
  12. 12. 配信した結果に応じて 次の施策を実施
  13. 13. 配信した結果に応じて 次の施策を実施 より顧客の興味関心が 高まったタイミングで アプローチすることが可能
  14. 14. One to One の施策を 顧客の購買意欲が高まった時に 打つことができる
  15. 15. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  16. 16. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  17. 17. 配信処理における課題
  18. 18. 配信処理における課題 顧客ステータスの 詳細な記録が必要
  19. 19. Member ID Task ID Status Created at
  20. 20. Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00
  21. 21. Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00
  22. 22. Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15
  23. 23. Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30
  24. 24. 精緻なシナリオの実現に 顧客ステータスの詳細な記録が必要
  25. 25. 精緻なシナリオの実現に 顧客ステータスの詳細な記録が必要 ↓ DBの書き込み回数の増加
  26. 26. 精緻なシナリオの実現に 顧客ステータスの詳細な記録が必要 ↓ DBの書き込み回数の増加 ↓ 処理時間の増加
  27. 27. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  28. 28. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  29. 29. 解決策 テーブル構成の変更
  30. 30. Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30
  31. 31. Task ID Status Mem IDs Created atMember ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30
  32. 32. Task ID Status Mem IDs Created atMember ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30 顧客IDを 配列を圧縮する形で 1カラムに押し込む
  33. 33. Task ID Status Mem IDs Created atMember ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30
  34. 34. Task ID Status Mem IDs Created at 1 抽出 1,2,3 2018/11/21 12:00 2 TRUE 1 2018/11/21 12:15 2 FALSE 1,2 2018/11/21 12:15 3 成功 1 2018/11/21 12:30 4 成功 2 2018/11/21 12:30 4 失敗 3 2018/11/21 12:30 Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30
  35. 35. Task ID Status Mem IDs Created at 1 抽出 1,2,3 2018/11/21 12:00 2 TRUE 1 2018/11/21 12:15 2 FALSE 1,2 2018/11/21 12:15 3 成功 1 2018/11/21 12:30 4 成功 2 2018/11/21 12:30 4 失敗 3 2018/11/21 12:30 Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30 DBへの書き込み回数を 大幅削減
  36. 36. Task ID Status Mem IDs Created at 1 抽出 1,2,3 2018/11/21 12:00 2 TRUE 1 2018/11/21 12:15 2 FALSE 1,2 2018/11/21 12:15 3 成功 1 2018/11/21 12:30 4 成功 2 2018/11/21 12:30 4 失敗 3 2018/11/21 12:30 Member ID Task ID Status Created at 11111 1 抽出 2018/11/21 12:00 22222 1 抽出 2018/11/21 12:00 33333 1 抽出 2018/11/21 12:00 11111 2 TRUE 2018/11/21 12:15 22222 2 FALSE 2018/11/21 12:15 33333 2 FALSE 2018/11/21 12:15 11111 3 成功 2018/11/21 12:30 22222 4 成功 2018/11/21 12:30 33333 4 失敗 2018/11/21 12:30 この方式にしたことで
  37. 37. 1万件のレコードで先程のシナリオを打つ と、、、
  38. 38. 1万件のレコードで先程のシナリオを打つ と、、、 Member ID Task ID Status Created at 60,000 records
  39. 39. 1万件のレコードで先程のシナリオを打つ と、、、 Member ID Task ID Status Created at Task ID Status Mem IDs Created at 60,000 records 15 records
  40. 40. 1万件のレコードで先程のシナリオを打つ と、、、 Member ID Task ID Status Created at Task ID Status Mem IDs Created at 60,000 records 15 records これまで40分 かかっていた配信が
  41. 41. 1万件のレコードで先程のシナリオを打つ と、、、 Member ID Task ID Status Created at Task ID Status Mem IDs Created at 60,000 records 15 records たった2分で 配信完了
  42. 42. 3 1 4 b→dashの配信基盤の概要 解決策 配信基盤の課題 エピローグ 2 Ajenda
  43. 43. 今回の改修は コアな部分にフォーカスすると 大した修正には見えないかと思いますが
  44. 44. 遅延やミスが即刻ビジネスインパクトに繋がる 配信基盤の改修であること
  45. 45. また
  46. 46. リリースから約1年が経過したタイミングで 常時1000シナリオが稼働している中での
  47. 47. アプリケーションの肝となるテーブルの定義変更と それに伴うテーブル構成の変更であったこと
  48. 48. 相当パワーのかかる改修でした
  49. 49. そのリリースからも 約半年が経ちますが
  50. 50. この改修に起因する 大きなトラブルが起きていない
  51. 51. これが1番の成果だと思っています
  52. 52. その裏側では 綿密なコードレビューやシステムテストが あったのですが、
  53. 53. どうやって実現したのか? その秘密は 後半で!

×