FiNCの分析基盤の概要

Fb91796c7916b1eb32bf64123876310e?s=47 Yoshimi Kondo
April 26, 2017
3.8k

 FiNCの分析基盤の概要

Fb91796c7916b1eb32bf64123876310e?s=128

Yoshimi Kondo

April 26, 2017
Tweet

Transcript

  1. FiNC ෼ੳج൫ͷ֓ཁ σʔλ෼ੳج൫Night #2 Yoshimi Kondo FiNC Data Engineer 2017/04/26

  2. ࣗݾ঺հ 2 ͍· FiNC σʔλΤϯδχΞ&ΞφϦετ ͜Ε·Ͱ RailsΤϯδχΞ(1೥൒) iOSΤϯδχΞ(1೥൒) σʔλج൫पΓͷΤϯδχΞ(൒೥)

  3. FiNCͷαʔϏε঺հ 3 ݕٕࠪज़΍ઐ໳ՈɾଞۀքωοτϫʔΫΛ׆༻͠ɺݸਓ΍๏ਓͷ݈߁Λࢧԉ QPXFSFECZ ຖ৯ʹαϥμΛͭ ͚Δ ఏܞ ళฮ޲͚ ๏ਓ޲͚ "*ύʔιφϧίʔνΞϓϦʢ'J/$ʣ

    ΢ΣϧωεϔϧεέΞϓϥοτϑΥʔϜ  'J/$Ϟʔϧʢ&$ʣ ϔϧεέΞʹಛԽͨ͠ΦϯϥΠϯετΞ ݕࠪࣄۀ Ҩ఻ࢠݕࠪɾ݂ӷɾετϨενΣοΫ౳ Ұൠ޲͚ ΦϯϥΠϯϫʔΫε ϔϧεέΞઐ໳Ո΍ΞεϦʔτͷΫϥ΢υιʔγϯά 'J/$Ոఉڭࢣ ಛఆอ݈ࢦಋɾݮྔɾӫཆӡಈࢦಋͷεϚϗԕִࢦಋ
  4. FiNCʹ͓͚Δ෼ੳνʔϜͷϛογϣϯɾྖҬ

  5. FiNCʹ͓͚Δ෼ੳج൫ͷϛογϣϯ 5 ࠷దͳҙࢥܾఆΛ࠷଎Ͱಋ͚ΔͨΊͷ෼ੳج൫Λͭ͘Δ

  6. Α͍෼ੳج൫ͬͯͳΜͩΖ͏

  7. 7 Α͍෼ੳج൫ͷཧ૝ͱ͸ ΞϓϦઃܭʹׯব͠ͳ͍ ෛՙɾόάগͳ͍ ܽଛ͕ͳ͍ Ճ޻/σϦόϦͷ஗Ԇ͕গͳ͍ ͙͢ʹݕূ݁Ռ͕ݟΕΔ ਺ࣈͷཁҼ͕Θ͔Δ ※Πϝʔδ ͙͢ʹ՝୊ಛఆ͕

    Ͱ͖Δ
  8. 8 Α͍෼ੳج൫ͷཧ૝ͱ͸ ͙͢ʹ՝୊ಛఆ͕ Ͱ͖Δ ΞϓϦઃܭʹׯব͠ͳ͍ ෛՙɾόάগͳ͍ ܽଛ͕ͳ͍ Ճ޻/σϦόϦͷ஗Ԇ͕গͳ͍ ͙͢ʹݕূ݁Ռ͕ݟΕΔ ਺ࣈͷཁҼ͕Θ͔Δ

    ࠷దͳKPI͕ઃఆ͞ΕͯΔ औΔ΂͖਺ࣈ͕໌Β͔ ͲͷΑ͏ͳUX͕ ΞϓϦͷίΞʹͳΔ͔
  9. 9 Α͍෼ੳج൫ͷཧ૝ͱ͸ ج൫બఆɺϩάઃܭ͸ ͬͪ͜ଆΛݟͭΊΔ ͱ͜Ζ͔Β ͪ͜Βଆͷઃܭ͸ ͋͘·Ͱ݁Ռ࿦

  10. FiNCͷ৔߹

  11. FiNCͷ෼ੳχʔζ 11 Ϣʔβʔͷݸʑͷύʔιφϧσʔλʹ߹Θͤͨ Ϣʔβʔମݧͷఏڙ SNSܥλΠϜϥΠϯɾϑΟʔυͳͲͷ࠷దԽݕূ ಈըͳͲͷϝσΟΞར༻ঢ়گ ݸʑͷϢʔβʔσʔλ x Ϣʔβʔମݧϩά طଘͷΞϓϦ෼ੳπʔϧͰ͸ରԠ͖͠Εͣɺ

    ࣗ෼ͨͪͰઃܭͨ͠ϩάऩूج൫Λͭ͘Δ͜ͱʹ
  12. ࠓͷ෼ੳج൫શମ૾

  13. σʔλج൫ͷ၆ᛌਤ 13

  14. ϩάͷऩूج൫

  15. ϩάऩूج൫ 15 BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4 4 API Access

    Custom Event TFSWFSBQQ Ϣʔβʔͷߦಈϩάͱͯ͠ɺAPIΞΫηεͰ͸ิ׬͖͠Εͳ͍ߦಈΛ෼ੳ͢Δχʔζ͕ੜ·Εͨ →ޙ͔ΒCustomEventͱͯ͠firehoseʹྲྀ͠ࠐΉΑ͏ʹͳͬͨʢͳ͓ࠓ΋APIΞΫηεϩά΋ར༻ʣ ΞϓϦέʔγϣϯଆͷσʔλϕʔε͸ɺDMSͰRedshiftʹྲྀ͠ࠐΜͰ͍Δ AccessLog APIॲཧ
  16. ϩάऩूج൫ 16 BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4 4 ৯ࣄΛه࿥ͨ͠ʂ ϨγϐಈըΛ࠶ੜͨ͠ʂ

    TFSWFSBQQ ྫɿಈը࠶ੜϩάͱ৯ࣄه࿥ػೳར༻ ΞϓϦέʔγϣϯϩδοΫʹؔΘΔσʔλ→αʔόʔαΠυΞϓϦέʔγϣϯͷRDS্ʹอଘ ෼ੳ͚ͩʹ͔͠࢖Θͳ͍σʔλ→෼ੳ༻framework(firehose)͔Βอଘ →શͯΛ෼ੳϩάʹྲྀ͢ͷ͠ΜͲ͍&෼ੳ༻ϩάͷ੹຿ΛΞϓϦέʔγϣϯʹ࣋ͪࠐΈͨ͘ͳ͍ͨΊ ৯ࣄΛه࿥͢Δલʹ ϨγϐಈըΛ࠶ੜͨ͠ʂ AccessLog
  17. ϩάऩूج൫ 17 ΞϓϦ಺ΞΫςΟϏςΟϩάͷ࣮૷ޱͱͯ͠ɺ෼ੳ༻frameworkԽʢfirehoseͷSDKΛ಺แʣ αʔόʔ(web/API)ΞΫηεϩάͷ࣮૷ޱͱͯ͠ɺࣾ಺ઐ༻rails gemΛ༻ҙͯ͠ಋೖΛָʹ BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4

    4 API Access Custom Event TFSWFSBQQ
  18. ϩάͷूܭج൫

  19. ϩάूܭج൫ 19 ੜϩάΛͦͷ··ͭͬ͜Μͩςʔϒϧ͕ͻ͠Ί͘εΩʔϚ firehose͔Βͷϩάςʔϒϧ APIΞΫηεϩάςʔϒϧ ֤αʔόʔΞϓϦέʔγϣϯ͔ΒҾͬு͖ͬͯͨεΩʔϚ ϥΠϑϩάܥςʔϒϧͱ͔ ϑΥϩʔͱ͔͍͍Ͷͱ͔ ޿ࠂπʔϧͳͲ֎෦αʔϏε͔ΒҾͬு͖ͬͯͨεΩʔϚ ྲྀೖܦ࿏ͱ͔

    ޿ࠂΫϦΤΠςΟϒͱ͔ Ϣʔβʔ͝ͱ/ػೳ͝ͱʹαϚͬͨϏϡʔ(ςʔϒϧ)ͷεΩʔϚ σϞάϥ৘ใxΞΫςΟϏςΟ ޿ࠂ৘ใxΞΫςΟϏςΟ DailyͷϢʔβʔߋ৽σʔλ ੜϩάܥεΩʔϚ ूܭؔ਺ͰKPIʹ͍ۙܗͰ·ͱΊͨςʔϒϧͨͪͷεΩʔϚ DAU/RR/ActivationRate ֤ػೳར༻཰ूܭ ਓؾίϯςϯπ ͍ΘΏΔ෼ੳ༻εΩʔϚ ͻͱͭͷRedshift clusterʹू໿
  20. ϩάूܭج൫ 20 ੜϩάΛͦͷ··ͭͬ͜Μͩςʔϒϧ͕ͻ͠Ί͘εΩʔϚ firehose͔Βͷϩάςʔϒϧ APIΞΫηεϩάςʔϒϧ ϥΠϑϩάܥςʔϒϧͱ͔ ϑΥϩʔͱ͔͍͍Ͷͱ͔ ޿ࠂπʔϧͳͲ֎෦αʔϏε͔ΒҾͬு͖ͬͯͨεΩʔϚ ྲྀೖܦ࿏ͱ͔ ޿ࠂΫϦΤΠςΟϒͱ͔

    ੜϩάܥεΩʔϚ ෼ੳ༻εΩʔϚͷݩσʔλ σʔλΛਂ௥͍͍ͨ࣌͠ʹɺ σʔλΞφϦετ΍ ΫΤϦΛୟ͖͍ͨΤϯδχΞ͕ ੜϩάܥͷεΩʔϚΛ࢖͏ ೉қ౓ ͋Δఔ౓ͷΞϓϦϩδοΫ΍ SQLͷ஌͕ࣝͦΕͳΓඞཁ ֤αʔόʔΞϓϦέʔγϣϯ͔ΒҾͬு͖ͬͯͨεΩʔϚ
  21. ϩάूܭج൫ 21 σϞάϥ৘ใxΞΫςΟϏςΟ ޿ࠂ৘ใxΞΫςΟϏςΟ DailyͷϢʔβʔߋ৽σʔλ ूܭؔ਺ͰKPIʹ͍ۙܗͰ·ͱΊͨςʔϒϧͨͪͷεΩʔϚ DAU/RR/ActivationRate ֤ػೳར༻཰ूܭ ਓؾίϯςϯπ ͍ΘΏΔ෼ੳ༻εΩʔϚ

    KPIͷ೺Ѳ΍ جຊతͳσʔλ෼ੳ͸ ෼ੳ༻εΩʔϚͰ࿫͏ ೉қ౓ ΤΫηϧΛ࢖͑ΔਓͰ͋Ε͹ σʔλΤΫεϙʔτΛͯ͠ ͓͓Αͦͷ෼ੳ͕Մೳ
 
 SQLͷ෍ڭ΋େࣄɺͰ΋ΤΫηϧͰͰ͖Δ͜ͱ΋ଟ͍ͷͰɺ ෼ੳ༻ͷσʔλςʔϒϧΛ༻ҙͨ͠΄͏͕ ίεύ͕ྑ͍͜ͱ΋ଟ͍Ͱ͢ ※αΠζେ͖͗͢ͳ͍Α͏ɺΤΫεϙʔτͷ৚݅ൣғ͸ཁࢦఆ Ϣʔβʔ͝ͱ/ػೳ͝ͱʹαϚͬͨϏϡʔ(ςʔϒϧ)ͷεΩʔϚ
  22. ϏδϡΞϥΠθʔγϣϯ

  23. ϏδϡΞϥΠθʔγϣϯ 23 redash͕γϯϓϧͰศར - ΞυϗοΫͳΫΤϦ - ୯ҰͷKPI΢Υον - ؆қͳμογϡϘʔυ redashͱͷಉظػೳΛ׆༻

    - Ϩϙʔτͱͯ͠·ͱΊ͍ͨ࣌ - ෳ਺ͷKPIΛҰؾʹฒ΂ͯݟ͍ͨ࣌ ͖Ε͍ͳUIͷμογϡϘʔυ΋େࣄ!Ͱ΋ ·ͣ͸ݟΔ΂͖਺ࣈ͕ݟΕ͍ͯΔ͜ͱ͕ॏཁ
  24. ࠷ۙؾʹͳ͍ͬͯΔ͜ͱ

  25. ࠷ۙؾʹͳ͍ͬͯΔ͜ͱ 25 ※TechRepublicΑΓҾ༻ Facebook Automated Insights Fabric Analytics Dashboard KPIͷมԽΛ؂ࢹɺ

    ࣗಈͰϨϙʔτ͍ͨ͠
  26. Thank you!