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.
サービスのスケール化のための
検索システム改善
ピクスタ株式会社 星直史
16545027 Photo by Fast&Slow
自己紹介
2017年1月より、開発部のマネージャーに就任。
開発部の方針策定や、組織作りに取り組んでいる。
星直史
@NaoshiHoshi
ピクスタ株式会社
エンジニア マネージャー
Rails歴7年
AWS歴7年
自己紹介
Serverless
Framework
Redash
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
PIXTAのご紹介
2,860万点以上
多言語対応
NEW!!
人物カテゴリ結果
日本 海外(欧米)
海外対応
野菜・食材カテゴリ結果
日本 海外(欧米)
海外対応
ロケール別のスコアリング
海外対応
200点
20点
検索順位の算出
海外対応
東京 中国 ヨーロッパ
素材
A
素材
B
素材
C
素材Aの地域 素材Bの地域 素材Cの地域
0km
検索した人からの距離
3000km
検索した人からの距離
20,000km
検索した人からの距離
東京
検索した人...
CloudSearchの活用
海外対応
(200 * pow(0.98, ((haversin(36.204824000, 138.252924000, location.latitude, location.longitude) / 50))...
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
Tokenizeとは?
国内対応
国内検索においては、日本語のタグ情報を検索ヒットの条件としている
=> bigramで分かち書きに。デフォルトのkuromojiトークナイズでは
きゃ => 動詞
べつ => 名詞
きゃべつが Tokenize...
Tokenizeの対応
国内対応
表記揺れの対応
国内対応
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
Partition* 10
Replication * 3
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
● 課金項目
● 使用料内訳
料金体系
● 課金項目
● 使用料内訳
料金体系
● 検索インスタンス数
● ドキュメントバッチアップロード
● IndexDocumentsリクエスト
● データ転送
課金項目
● 課金項目
● 使用料内訳
料金体系
使用料内訳
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
● インスタンス数は何によって決まるか
● インスタンス数を減らすには
原因と対策
● インスタンス数は何によって決まるか
● インスタンス数を減らすには
原因と対策
● スケーリングによって決定する
○ トラフィック
○ 総データ量
検索インスタンス
● インスタンス数は何によって決まるか
● インスタンス数を減らすには
原因と対策
インスタンス数を減らす
インスタンス数を減らす
● フィールドそのものを消す
インスタンス数を減らす
● フィールドそのものを消す
インスタンス数を減らす
● フィールドそのものを消す
● 不要なOptionを消す
不要なOptionを消す
不要なOptionを消す
不要なOptionを消す
● PIXTAにおける海外対応(地域別加点)
● シノニム / トークナイズ対応
今日話すこと
国際化対応
● 料金体系
● 原因と対策
● コスト削減効果
コスト削減
コスト削減効果
コスト削減効果
Partition* 10
Replication * 3
Before
Partition* 10
Replication * 3
Partition* 2
Replication * 3
Before After
まとめ
料金体系
原因と対策
コスト削減結果
才能をつなぎ、
世界をポジティブにする
We're hiring!
7336449 Photo by Sunny studio
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
Upcoming SlideShare
Loading in …5
×

サービスのスケール化のための検索システム改善

1,088 views

Published on

エンジニアの力でサービス・組織をスケール化させるには?〜Web現場MeetUP #2 〜
で発表した資料です。
ピクスタで活用しているAWS CloudSearchの裏側を紹介します。

Published in: Technology
  • Be the first to comment

サービスのスケール化のための検索システム改善

  1. 1. サービスのスケール化のための 検索システム改善 ピクスタ株式会社 星直史 16545027 Photo by Fast&Slow
  2. 2. 自己紹介 2017年1月より、開発部のマネージャーに就任。 開発部の方針策定や、組織作りに取り組んでいる。 星直史 @NaoshiHoshi ピクスタ株式会社 エンジニア マネージャー Rails歴7年 AWS歴7年
  3. 3. 自己紹介 Serverless Framework Redash
  4. 4. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  5. 5. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  6. 6. PIXTAのご紹介 2,860万点以上
  7. 7. 多言語対応 NEW!!
  8. 8. 人物カテゴリ結果 日本 海外(欧米) 海外対応
  9. 9. 野菜・食材カテゴリ結果 日本 海外(欧米) 海外対応
  10. 10. ロケール別のスコアリング 海外対応 200点 20点
  11. 11. 検索順位の算出 海外対応 東京 中国 ヨーロッパ 素材 A 素材 B 素材 C 素材Aの地域 素材Bの地域 素材Cの地域 0km 検索した人からの距離 3000km 検索した人からの距離 20,000km 検索した人からの距離 東京 検索した人の地域 IPを元に緯度経度を算出 => =>
  12. 12. CloudSearchの活用 海外対応 (200 * pow(0.98, ((haversin(36.204824000, 138.252924000, location.latitude, location.longitude) / 50))))
  13. 13. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  14. 14. Tokenizeとは? 国内対応 国内検索においては、日本語のタグ情報を検索ヒットの条件としている => bigramで分かち書きに。デフォルトのkuromojiトークナイズでは きゃ => 動詞 べつ => 名詞 きゃべつが Tokenizeされてしまう。
  15. 15. Tokenizeの対応 国内対応
  16. 16. 表記揺れの対応 国内対応
  17. 17. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  18. 18. Partition* 10 Replication * 3
  19. 19. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  20. 20. ● 課金項目 ● 使用料内訳 料金体系
  21. 21. ● 課金項目 ● 使用料内訳 料金体系
  22. 22. ● 検索インスタンス数 ● ドキュメントバッチアップロード ● IndexDocumentsリクエスト ● データ転送 課金項目
  23. 23. ● 課金項目 ● 使用料内訳 料金体系
  24. 24. 使用料内訳
  25. 25. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  26. 26. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  27. 27. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  28. 28. ● スケーリングによって決定する ○ トラフィック ○ 総データ量 検索インスタンス
  29. 29. ● インスタンス数は何によって決まるか ● インスタンス数を減らすには 原因と対策
  30. 30. インスタンス数を減らす
  31. 31. インスタンス数を減らす ● フィールドそのものを消す
  32. 32. インスタンス数を減らす ● フィールドそのものを消す
  33. 33. インスタンス数を減らす ● フィールドそのものを消す ● 不要なOptionを消す
  34. 34. 不要なOptionを消す
  35. 35. 不要なOptionを消す
  36. 36. 不要なOptionを消す
  37. 37. ● PIXTAにおける海外対応(地域別加点) ● シノニム / トークナイズ対応 今日話すこと 国際化対応 ● 料金体系 ● 原因と対策 ● コスト削減効果 コスト削減
  38. 38. コスト削減効果
  39. 39. コスト削減効果
  40. 40. Partition* 10 Replication * 3 Before
  41. 41. Partition* 10 Replication * 3 Partition* 2 Replication * 3 Before After
  42. 42. まとめ 料金体系 原因と対策 コスト削減結果
  43. 43. 才能をつなぎ、 世界をポジティブにする We're hiring! 7336449 Photo by Sunny studio

×