Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いまからでも遅くない!Apache Kafkaの概要

Avatar for Y.Ota Y.Ota
May 29, 2024
330

いまからでも遅くない!Apache Kafkaの概要

ストリーミングデータを扱うことができる分散メッセージシステムである「Apache Kafka」
本セッションではKafkaの概要とKafkaアーキテクチャにおける主要コンポーネントについて解説していきます。

Avatar for Y.Ota

Y.Ota

May 29, 2024

Transcript

  1. nΰʔϧ • "QBDIF ,BGLBͷجຊΛཧղ • *#.&WFOU4USFBNTʢ঎༻൛,BGLBʣΛࢼߦ nର৅ऀ • "QBDIF,BGLBͬͯԿʁͱ͍͏ํ •

    "QBDIF ,BGLBͬͯ࠷ۙฉ͚͘Ͳɺத਎͸Α͘஌Βͳ͍ͱ͍͏ํ n஫ҙ఺ • "QBDIF,BGLBΛ৮ͬͨ͜ͱ͕͋Δํ΍಺༰ཧղ͍ͯ͠Δํʹ͸গ͠ୀ ۶ͳ಺༰ʹͳΔ͔΋͠Ε·ͤΜ ͸͡Ίʹ
  2. ,BGLBͷܦҢ ܦҢ ར༻࣮੷ • ೥ʹ-JOLFE*O͕։ൃ • Ϣʔβͷ8FCαΠτͰͷΞΫςΟϏςΟʢϖʔδϏϡʔɺݕࡧɺ޿ࠂͳ ͲʣΛτϥοΩϯά͍ͨ͠ • ,BGLBͷޠݯɿ։ൃऀͷ޷͖ͩͬͨখઆՈʢ'SBO[,BGLBʣ

    • ॻ͖ࠐΈʹಛԽͨ͠γεςϜͷͨΊɺখઆՈ͔Βഈआͨ͠ͱͷ͜ͱ • ೥ʹΦʔϓϯιʔεԽ • 'PSUVOFاۀͷҎ্͕࢖༻ • ࢖༻͍ͯ͠ΔاۀɿIUUQTLBGLBBQBDIFPSHQPXFSFECZ • /FUGMJY • Ϣʔβʔͷ൪૊ࢹௌσʔλΛ΋ͱʹϦΞϧλΠϜͰϨίϝϯυఏڙ͢Δͷ ʹద༻͍ͯ͠Δ • 6CFS • ϢʔβʔͷλΫγʔ΍ཱྀߦσʔλΛϦΞϧλΠϜʹऩू͠ŊधཁΛܭࢉ༧ ଌ͠ŊՁ֨ઃఆΛϦΞϧλΠϜʹܭࢉ͍ͯ͠Δ
  3. • ӡ༻؂ࢹσʔλ΍ϩάΛऩू͢Δͷʹར༻ • ෼ࢄͨ͠ΞϓϦέʔγϣϯ΍ෳ਺σόΠε͔ΒͷΦϖϨʔγϣϯσʔλͷ౷ܭ৘ใΛܧଓత ʹू໿͢Δ • େن໛ͳϝοηʔδॲཧΞϓϦέʔγϣϯͷϝοηʔδϒϩʔΧʔͱͯ͠ར༻ • طଘͷϝοηʔδϒϩʔΧʔͰ͸Ͱ͖ͳ͔ͬͨߴεϧʔϓοτɺ෼ࢄ؅ཧɺϨϓϦέʔγϣ ϯʹΑΓɺϑΥʔϧττϨϥϯεͳ଱ٱੑΛ࣮ݱ

    ,BGLBͷϢʔεέʔε 8FCαΠτߦಈ௥੻ ϝοηʔδγεςϜ ϝτϦΫεϩάू໿ ετϦʔϜॲཧ σʔλ ΠϯςάϨʔγϣϯ • ϢʔβΞΫςΟϏςΟτϥοΩϯάͷσʔλΛϦΞϧλΠϜͰύϒϦογϡαϒεΫϥΠϒ ͢ΔͨΊʹར༻ • -JOLFE*O͕։ൃͨ͠ܦҢͰ΋͋Δ • ϦΞϧλΠϜͰΠϕϯτʹ൓Ԡ͢ΔετϦʔϜॲཧΞϓϦέʔγϣϯʹར༻ • ,BGLB4USFBNTͱ͍͏ετϦʔϜॲཧ༻ͷϥΠϒϥϦ͕ར༻Մೳ • Πϕϯτ΍ετϦʔϜσʔλΛΩϟϓνϟ͠ɺผͷσʔλγεςϜʹૹ෇͢ΔσʔλύΠϓ ϥΠϯͱͯ͠ར༻
  4. ,BGLB$MVTUFS ,BGLBͷΞʔΩςΫνϟʔ 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB

    453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  5. • #SPLFS • ,BGLB͕Քಇ͢Δαʔόͷ͜ͱ • ϝοηʔδΛड৴ɾૹ৴͢ΔαʔϏεɾதܧ໾ • ϝοηʔδʢ-PHʣΛอଘ͢Δ • $MVTUFS

    • ͭҎ্ͷ#SPLFSͷू߹Λࢦ͢ #SPLFSͱ$MVTUFS ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  6. "QBDIF ;PPLFFQFS ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3

    ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS • "QBDIF ;PPLFFQFS • ClusterΛ؅ཧ͢ΔͨΊͷ΋ͷ • ෼ࢄΞϓϦέʔγϣϯͷ࿈ܞͱ؅ཧʹ࢖༻Ͱ͖ΔதԝूதܕαʔϏε • ໾ׂ • ΫϥελϚωδϝϯτɿ#SPLFS΍5PQJDʹؔ͢ΔϝλσʔλΛॴ࣋ • ࢮ׆؅ཧ • "$-ʢΞΫηε੍ޚϦετʣͷ؅ཧ • ;PP,FFQFSഇࢭͷํ޲ੑ • ;PP,FFQFS͸ "QBDIF,BGLB͔Βඇਪ঑ͱ͞Ε͍ͯΔʢ࠷৽͸ɿ ೥݄ݱࡏʣɻ,BGLBͰ͸;PP,FFQFSΛ࡟আ͢Δ༧ఆ • ,BGLBͱ;PP,FFQFSͷߏ੒͕ผʑͰ؅ཧͮ͠Β͍ • ,BGLB$MVTUFS͕ࣗ཯తʹ؅ཧΛ͓͜ͳ͏,3BGUϞʔυ΁Ҡߦ͍ͯ͘͠
  7. • 5PQJD • ϝοηʔδσʔλͷΧςΰϦछྨ • ࠷΋͍ۙ֓೦ͱͯ͠͸ɺσʔλϕʔεςʔϒϧ·ͨ͸ϑΝΠϧγεςϜ಺ͷ ϑΥϧμʔ • 5PQJDͷྫ •

    ϩάऩूγεςϜɿBQQMJDBUJPOMPHT FSSPSMPHT BDDFTTMPHT • 5PQJDΛࣝผ͢Δͷ͸OBNF • 1BSUJUJPO • 5PQJDΛ͞Βʹ෼ׂͨ͠΋ͷ • 5PQJDʹૹ৴͞Εͨϝοηʔδ͸Ŋ1BSUJUJPOʹऩΊΒΕŊ֤1BSUJUJPOͷϝοηʔδ ͸ॱং෇͚͞ΕΔ • ॱং෇͚͞Εͨ*%͸0GGTFUͱݺ͹Ε͍ͯΔ 5PQJDͱ1BSUJUJPO ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  8. • 1SPEVDFS • ৽͍͠ϝοηʔδΛ࡞੒͢Δ • ಛఆͷ5PQJDͷ1BSUJUJPOʹରͯ͠ϝοηʔδΛૹ৴ • $POTVNFS • ϝοηʔδΛऔಘ͢Δ

    • 1BSUJUJPO͔Β0GGTFUͷ௿͍ϝοηʔδΛॱ൪ʹಡΈऔΔ • $POTVNFS(SPVQ • ෳ਺ͷ$POTVNFSΛάϧʔϓԽ͢ΔͨΊͷ֓೦ • $POTVNFS(SPVQ͸ɺ,BGLB5PQJDʹର͢ΔফඅΛௐ੔͠ɺෛՙ෼ࢄͯ͠ॲཧΛ ͓͜ͳ͏͜ͱ͕Մೳ • ֤1BSUJUJPOͷϝοηʔδ͕ॱ൪ʹॲཧ͞ΕΔΑ͏ʹɺ1BSUJUJPO͸άϧʔϓ಺ͷ ͭͷ$POTVNFSͷΈʹׂΓ౰ͯΒΕΔ 1SPEVDFSͱ$POTVNFS ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  9. • ,BGLB$POOFDUPS • ֎෦σʔλιʔεΛ౷߹͢ΔͨΊʹ࢖༻͞ΕΔϑϨʔϜϫʔΫ • 1SPEVDFSଆΛ4PVSDFɺ$POTVNFSଆΛ4JOLͱݺͿ • ઀ଓͰ͖Δओཁ੡඼ • ϦϨʔγϣφϧσʔλϕʔε

    0SBDMFɺ42-4FSWFSɺ%Cɺ1PTUHSFTɺ.Z42- • /P42-σʔλϕʔε &MBTUJDTFBSDIɺ.POHP%#ɺ$BTTBOESB • Ϋϥ΢υΦϒδΣΫτετΞ "NB[PO4ɺ"[VSF#MPC4UPSBHFɺ(PPHMF $MPVE4UPSBHF • ϝοηʔδΩϡʔ *#..2ɺ3BCCJU.2ɺ"DUJWF.2 • Ϋϥ΢υσʔλ΢ΣΞϋ΢ε 4OPXGMBLFɺ(PPHMF#JH2VFSZɺ"NB[PO 3FETIJGU ,BGLB$POOFDUPS ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  10. • ,BGLB4USFBNT • ετϦʔϜॲཧΞϓϦέʔγϣϯΛ؆୯ʹ։ൃ͢ΔͨΊͷϥΠϒϥϦΛఏڙ • 5PQJDͷσʔλΛॲཧɾ෼ੳ͢ΔΞϓϦέʔγϣϯͷߏஙΛ༰қʹ͢Δ • ྫ͑͹ • ϩάͷղੳΛ͢ΔࡍʹԼهͷΑ͏ͳ࣮૷͕ߟ͑ΒΕΔ

    • ϩάͷϑΟϧλϦϯά • ෆཁͳϩάΛϑΟϧλϦϯά͠ɺॏཁͳΤϥʔϝοηʔδ΍ܯࠂϝοηʔδͷΈΛநग़ • ΞάϦήʔγϣϯ • Ұఆظؒʢྫ͑͹෼ؒʣͷΤϥʔϩάͷ਺Λूܭ • Ξϥʔτൃߦ • Τϥʔ਺͕ᮢ஋Λ௒͑ͨ৔߹ʹΞϥʔτΛൃߦ ,BGLB4USFBNT ,BGLB$MVTUFS 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB 453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  11. ,BGLB$MVTUFS ,BGLBͷΞʔΩςΫνϟʔ 130%6$&3 #SPLFS #SPLFS #SPLFS ,BGLB $0//&$503 $0/46.&3 ,BGLB

    453&".4 "QQ "QQ "QQ "QQ "QQ "QQ &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN &YUFSOBM4ZTUFN "QQ "QQ "QQ 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO 501*$ 1BSUJUJPO 1BSUJUJPO 1BSUJUJPO ;PPLFFQFS
  12. • ѻ͏σʔλྔʹԠͯ͡ɺγεςϜΛ֦ுʢεέʔϧΞ΢τʣ͕༰қ • σʔλΛෳ਺αʔόʹෳ੡ʢϨϓϦέʔγϣϯʣ͢Δ͜ͱ͕Մೳ • ඵؒ਺ඦສ݅ॲཧ͢Δߴ͍ॲཧೳྗΛ΋ͭ ᶃ෼ࢄγεςϜʹΑΔ֦ுੑɾՄ༻ੑΛఏڙ • ड͚औͬͨϝοηʔδΛσΟεΫʹӬଓԽ͢Δ͜ͱ͕Մೳ •

    ,BGLBଆͰϝοηʔδϩάΛอ͍࣋ͯ͠ΔͨΊɺաڈͷσʔλΛḪͬͯ࠶औಘͰ͖Δ ᶄ Ұ؏ੑͷ͋ΔෆมͳϝοηʔδΛ࣮֬ʹ഑෍ • ϝοηʔδ͕ਖ਼͘͠ૹ৴ɾड৴͞Εͨ͜ͱΛ֬ೝ͢Δػೳ΍ɺࣦഊͨ࣌͠ͷϦτϥΠػ ೳ͕උΘ͓ͬͯΓɺϝοηʔδͷ࣮֬ͳૹड৴͕Մೳ ᶅ ૹୡอূʹΑΔϝοηʔδϩετͷ๷ࢭ • ༷ʑͳϓϩάϥϜݴޠͰར༻ՄೳͳϥΠϒϥϦ͕ఏڙ • ,BGLB$POOFDUʹΑΓ༷ʑͳσʔλιʔεͱ઀ଓՄೳ ᶆ ๛෋ͳίωΫλʔʹΑΓ؆қʹ઀ଓՄೳ ,BGLBͷಛ௃
  13. ᶃ෼ࢄγεςϜʹΑΔ֦ுੑɾՄ༻ੑΛఏڙ #SPLFS #SPLFS #SPLFS 501*$ 1BSUJUJPO -FBEFS 3FQMJDB 1BSUJUJPO 'PMMPXFS

    3FQMJDB 1BSUJUJPO 'PMMPXFS 3FQMJDB 501*$ 1BSUJUJPO 'PMMPXFS 3FQMJDB 1BSUJUJPO -FBEFS 3FQMJDB 1BSUJUJPO 'PMMPXFS 3FQMJDB 501*$ 1BSUJUJPO 'PMMPXFS 3FQMJDB 1BSUJUJPO 'PMMPXFS 3FQMJDB 1BSUJUJPO -FBEFS 3FQMJDB • 1BSUJUJPO͸3FQMJDBΛ࡞੒͠ɺͦΕͧΕҧ͏#SPLFSʹ഑ ஔ͞ΕΔ • 3FQMJDB͞Εͨ1BSUJUJPOʹ͸ҎԼͷ໾ׂ͕ܾΊΒΕΔ • -FBEFS3FQMJDB • ඞͣ1BSUJUJPOʹଘࡏɻϝοηʔδͷૹड৴Λ 1SPEVDFS$POTVNFSͱ௚઀ߦ͏ • 'PMMPXFS3FQMJDB • -FBEFS3FQMJDBͱৗʹಉظ͠ো֐ʹඋ͑Δ • ϝοηʔδͷૹड৴͸ߦΘͳ͍ • ֦ுੑɿεέʔϧΞ΢τ͕Մೳ • #SPLFSΛ૿΍ͨ͠৔߹ɺ3FQMJDBΛۉ౳ʹ࠶഑ஔ͢Δ • 1BSUJUJPOͷ໾ׂ΋ۉ౳ʹͳΓɺ#SPLFSͷ໾ׂ͕෼ࢄ͞ΕΔ ͨΊɺੑೳ͕޲্͢Δ • Մ༻ੑɿো֐ൃੜ࣌ͷσʔλฆࣦΛ๷͙ • 3FQMJDB͕͋ΔͨΊɺ͋Δ#SPLFSʹো֐͕ൃੜͯ͠΋σʔλ ͸ࣦΘΕͳ͍ • -FBEFS͕഑ஔ͞Ε͍ͯΔ#SPLFSͰো֐͕ൃੜͯ͠΋ɺ ผͷ #SPLFSʹ഑ஔ͞Ε͍ͯΔ'PMMPXFS͕͙͢ʹ-FBEFSͱͯ͠ͷ ໾ׂΛҾ͖ܧ͙ʢϦʔμʔϨϓϦΧͷબग़ʣͨΊɺσʔλ ͷड৴ɾૹ৴Λ໰୊ͳ͘ଓ͚Δ͜ͱ͕Ͱ͖Δ
  14. ᶄҰ؏ੑͷ͋ΔෆมͳϝοηʔδΛ࣮֬ʹ഑෍ • ड͚औͬͨϝοηʔδ͸#SPLFSͷσΟεΫʹॻ͖ࠐ·Εɺ,BGLBʹϩάͱͯ͠อଘ͞ΕΔ • σΟεΫ༰ྔʹԠͯ͡ɺաڈσʔλΛ௕ظؒอଘՄೳ • $POTVNFS͕ϝοηʔδΛऔಘ͢ΔࡍʹσΟεΫ͔ΒಡΈग़͠ϝοηʔδΛૹΔ • $POTVNFS͕σʔλΛෳ਺ճಡΈऔΔ͜ͱ͕Մೳ •

    ॱং෇͚ͯϝοηʔδΛ഑෍Մೳ • 1BSUJUJPO্ͷϝοηʔδ͸0GGTFUͱݺ͹ΕΔ൪߸Ͱฒ΂ΒΕΔ • $POTVNFS0GGTFU؅ཧʹΑΓɺ0GGTFUΛࢦఆͯ͠ಛఆͷσʔλΛॲཧ͢Δ͜ͱ͕Մೳ #SPLFS 501*$ 1BSUJUJPO PGGTFU  PGGTFU  PGGTFU  PGGTFU  PGGTFU  ɾɾɾ
  15. ᶅૹୡอূʹΑΔϝοηʔδϩετͷ๷ࢭ • ,BGLB͸ɺϝοηʔδૹୡอূΛఏڙ • Լه͔ͭΒબ୒ͯ͠ઃఆ͢Δ͜ͱ͕ՄೳͰ͋Δ Ϩϕϧ ֓ཁ આ໌ "UNPTUPODF ճ͸ૹୡΛࢼΈΔ

    ௿ϨΠςϯγʔͰॏෳϦεΫ͕௿͍ ϝοηʔδ͸ࣦΘΕΔՄೳੑ͕͋Γɺ࠶഑ૹ͞Εͳ͍ "U-FBTU0ODF গͳ͘ͱ΋ճ͸ૹୡ͢Δ ϝοηʔδ͕ࣦΘΕΔ͜ͱ͸ͳ͍͕ɺॏෳ͕͋Δ͔΋͠Εͳ͍ &YBDUMZ0ODF ਖ਼֬ʹճ͚ͩૹୡ͢Δ ϝοηʔδ͕ࣦΘΕΔ͜ͱ͸ͳ͘ɺॏෳ΋͋Γ·ͤΜ ߴ͍ॲཧෛՙͰγεςϜͷ࣮૷΋ෳࡶ
  16. ᶆ๛෋ͳίωΫλʔʹΑΓ؆қʹ઀ଓՄೳ • ,BGLB͸ɺ༷ʑͳݴޠʹ౉Δ๛෋ͳ "1*Λఏڙ͍ͯ͠Δ "1*छྨ આ໌ "ENJO"1* ,BGLBϦιʔεʢ5PQJDɺ#SPLFSͳͲʣΛ؅ཧͰ͖Δ 1SPEVDFS"1* ,BGLBΫϥελʔ಺ͷ5PQJDʹσʔλΛૹ৴Ͱ͖Δ

    $POTVNFS"1* ,BGLBΫϥελʔ಺ͷ5PQJD͔ΒσʔλΛಡΈऔΔ͜ͱ͕Ͱ͖Δ 4USFBNT"1* 5PQJDؒͰͷΠϕϯτͷऔΓࠐΈɺม׵ɺ͓Αͼੜ੒Λ༰қʹߦ͏ͨΊͷߴਫ४ͷε τϦʔϜॲཧΛఏڙͰ͖Δ $POOFDU"1* σʔλϕʔεͳͲͷ֎෦γεςϜͱͷؒͰΠϕϯτΛετϦʔϛϯά͢ΔͨΊʹɺ ࠶ར༻Մೳͳ౷߹ΛՄೳʹ͢ΔϑϨʔϜϫʔΫΛఏڙͰ͖Δ
  17. • ͲͪΒ΋lϝοηʔδzަ׵ͷ࢓૊ΈΛఏڙ͢Δ͕֤ʑ͕ಘҙͱ͢Δϝοηʔδͷ ༻్͸ҟͳΔ .2ͱ,BGLBͷҧ͍ *#..2 ಛఆͷ૬खʹରͯ͠ɺ ͜Ε͔Βߦͬͯཉ͍͠ॲཧཁٻΛද͢ ʢৼࠐཁٻɺߪೖཁٻɺঝೝґཔɾɾʣ طʹى͖ͨෆมͷࣄ࣮Λද͢ Ѽઌ΍ར༻ํ๏΋૝ఆ͞Εͳ͍

    ʢৼࠐ׬ྃɺϘλϯͷΫϦοΫɺো֐ͷൃੜɾɾ ॲཧ ʮ"͞ΜʹສԁΛৼࠐΜͰ͍ͩ͘͞ʯ ίϚϯυ Πϕϯτ ʮ"͞Μͷޱ࠲ʹສԁ͕ৼࠐ·Ε·ͨ͠ʯ ΠϕϯτυϦϒϯΞϓϦέʔγϣϯʹ͸Πϕϯτϝοηʔδ͕ಘҙͳ,BGLB͕࠷ద
  18. .2ͱ,BGLBͷҧ͍ .2ɿ࣮֬ʹ࣮ߦ͕͞Εͯ΄͍͠ॲཧཁٻ ݸผɾ۩ମతͳѼઌʹର͢Δ ϝοηʔδͷૹ৴ شൃੑ ཁٻɾԠ౴ ো֐෮چɾಉظ఺ॲཧͷͨ Ίͷδϟʔφϧɾϩά σʔλͷ੔߹ੑͷͨΊ ॲཧ͞Εͨϝοηʔδ͸ফ͑Δ

    ,BGLBɿൃੜͨ͠ෆมͷࣄ࣮ΛγεςϜΛ·͕ͨͬͯ׆༻ ෆՄมσʔλ ཤྺσʔλ ू഑৴ ݸผͷѼઌ͸ ࢦఆ͞Εͳ͍ શͯͷड৴ऀ͕ ڞ௨ͷࣄ࣮Λڞ༗ ཤྺσʔλΛ ܁Γฦ͠ಡΊΔ ॲཧͷ৴པੑ
  19. • ;PPLFFQFSͷػೳΛஈ֊తʹഇࢭ͓ͯ͠Γɺ৽͘͠ʮ,3BGUʯΛఏڙ͍ͯ͠Δ • Ϋϥελʔͷ৽͍͠*%Λੜ੒͢Δ • PQUIPNFCSFXCJOLBGLBTUPSBHFSBOEPNVVJE • ϥϯμϜͳ஋͕ฦ౴͞ΕΔ ྫɿ#-2*T5@RMN#G,T0L2 •

    ετϨʔδσΟϨΫτϦΛϑΥʔϚοτ͢Δ • PQUIPNFCSFXCJOLBGLBTUPSBHFGPSNBUUVVJED PQUIPNFCSFXFUDLBGLBLSBGUTFSWFSQSPQFSUJFT • ,SBGUͰ,BGLBΛىಈ͢Δ • PQUIPNFCSFXCJOLBGLBTFSWFSTUBSU PQUIPNFCSFXFUDLBGLBLSBGUTFSWFSQSPQFSUJFT ʢࢀߟʣ,3BGUͰͷ,BGLBىಈ
  20. • 5PQJDͷૢ࡞ • ࡞੒ • LBGLBUPQJDTCPPUTUSBQTFSWFSMPDBMIPTUUPQJDGJSTU@UPQJDDSFBUF • 5PQJDϦετ֬ೝ • LBGLBUPQJDTCPPUTUSBQTFSWFSMPDBMIPTUMJTU

    • 1BSUJUJPOࢦఆ • LBGLBUPQJDTCPPUTUSBQTFSWFSMPDBMIPTUUPQJDTFDPOE@UPQJD DSFBUFQBSUJUJPOT • ৄࡉ֬ೝ • LBGLBUPQJDTCPPUTUSBQTFSWFSMPDBMIPTUEFTDSJCF • ࡟আ • LBGLBUPQJDTCPPUTUSBQTFSWFSMPDBMIPTUUPQJDTFDPOOE@UPQJD EFMFUF ,BGLBͷجຊతͳૢ࡞
  21. • ΠϕϯτΛ5PQJDʹॻ͖ࠐΉ • LBGLBDPOTPMFQSPEVDFSCPPUTUSBQTFSWFSMPDBMIPTUUPQJD GJSTU@UPQJD • )FMMP8PSME • .ZOBNFJT:VTVLF •

    5IBOLZPV • 5PQJDͷΠϕϯτΛಡΈࠐΉ • LBGLBDPOTPMFDPOTVNFSCPPUTUSBQTFSWFSMPDBMIPTUUPQJD GJSTU@UPQJDGSPNCFHJOOJOH ,BGLBͷجຊతͳૢ࡞
  22. • ϦΞϧλΠϜɾΠϕϯτΛऩूɾ഑৴͢ΔŊ"QBDIF,BGLBΛϕʔεͱͨ͠ΠϕϯτɾετϦʔϛϯ άج൫ͱ෇ՃՁ஋ػೳΛఏڙ *#.&WFOU4USFBNT ڧྗͳӡ༻πʔϧ܈ දজ͞ΕͨϢʔβʔମݧ ίωΫλʔɾΧλϩά Yαϙʔτ ۀքඪ४Ͱ͋Δ.2ͱͷ઀ଓੑ εΩʔϚɾϨδετϦʔ

    %3ͷͨΊͷ஍ཧతϨϓϦΧ IBM Event Streams ʲ෇ՃՁ஋ػೳʳ • ؅ཧϢʔβʔΠϯλʔϑΣΠεΛఏڙ • τϐοΫͷϥΠϑαΠΫϧ੍ޚɺϝοηʔδͷϑΟϧλϦϯ άͱࢀরɺεΩʔϚͱ(&0ϨϓϦέʔγϣϯͷ؅ཧ౳Λ࣮ࢪ • Φʔϓϯιʔε 4USJN[Jʹجͮ͘ LVCFSOFUFTΦϖϨʔ λʔΛఏڙ • ΫϥελؒͰͷτϐοΫͷ(&0ϨϓϦέʔγϣϯʹΑΓࡂ ֐෮چ͕Մೳ • *#..2Λ͸͡Ίͱ͢ΔίωΫλʔΛఏڙ • Φʔϓϯιʔεͷ"QJDVSJP3FHJTUSZʹجͮ͘εΩʔϚϨδ ετϦΛ࢖༻ • ঎༻αϙʔτ෇͖
  23. • ,BGLB͸ʮετϦʔϛϯάσʔλͷͨΊͷ෼ࢄϝοηʔδγεςϜʯ • ,BGLBͰग़ͯ͘Δίϯϙʔωϯτ • #SPLFSɺ$MVTUFSɺ5PQJDɺ1BSUJUJPOɺ1SPEVDFSɺ$POTVNFSɺ $POOFDUPSɺ4USFBNT • ͭͷಛ௃ ᶃ

    ෼ࢄγεςϜʹΑΔ֦ுੑɾՄ༻ੑΛఏڙ ᶄ Ұ؏ੑͷ͋ΔෆมͳϝοηʔδΛ࣮֬ʹ഑෍ ᶅ ૹୡอূʹΑΔϝοηʔδϩετͷ๷ࢭ ᶆ ๛෋ͳίωΫλʔʹΑΓ؆қʹ઀ଓՄೳ • *#.&WFOU4USFBNTΛࢼͯ͠ΈΑ͏ ·ͱΊ
  24. ϫʔΫγϣοϓɺηογϣϯɺ͓Αͼࢿྉ͸ɺ*#.·ͨ͸ηογϣϯൃදऀʹΑͬͯ४උ͞ΕɺͦΕͧΕಠࣗͷݟղΛ൓өͨ͠΋ͷͰ͢ɻͦΕΒ͸৘ใ ఏڙͷ໨తͷΈͰఏڙ͞Ε͓ͯΓɺ͍͔ͳΔࢀՃऀʹରͯ͠΋๏཯త·ͨ͸ͦͷଞͷࢦಋ΍ॿݴΛҙਤͨ͠΋ͷͰ͸ͳ͘ɺ·ͨ*#.੡඼΍αʔϏε͕͓ ٬༷ʹద༻͋Δಛఆͷ๏ྩʹద߹͢Δ͜ͱΛอূ͢Δ΋ͷͰ΋͋Γ·ͤΜɻຊߨԋࢿྉʹؚ·Ε͍ͯΔ৘ใʹ͍ͭͯ͸ɺ׬શੑͱਖ਼֬ੑΛظ͢ΔΑ͏౒ Ί͓ͯΓ·͕͢ɺʮݱঢ়ͷ··ʯఏڙ͞Εɺ໌ࣔ·ͨ͸໧ࣔʹ͔͔ΘΒͣɺ঎ۀੑɺಛఆͷ໨త΁ͷద߹ੑɺඇ৵֐ੑΛؚΊɺ͍͔ͳΔอূ΋൐Θͳ͍ ΋ͷͱ͠·͢ɻຊߨԋࢿྉ·ͨ͸ͦͷଞͷࢿྉͷ࢖༻ʹΑͬͯɺ͋Δ͍͸ͦͷଞͷؔ࿈ʹΑͬͯɺ͍͔ͳΔଛ֐͕ੜͨ͡৔߹΋ɺ*#.͸੹೚ΛෛΘͳ͍ ΋ͷͱ͠·͢ɻ ຊߨԋࢿྉͰݴٴ͞ΕΔ*#.੡඼ɺϓϩάϥϜɺ·ͨ͸αʔϏε͸ɺ*#.͕ϏδωεΛߦ͍ͬͯΔ͢΂ͯͷࠃɾ஍ҬͰ͝ఏڙՄೳͳΘ͚ Ͱ͸͋Γ·ͤΜɻຊߨԋࢿྉͰݴٴ͞ΕΔকདྷͷల๬ʢ੡඼ϦϦʔε೔෇΍੡඼ػೳΛؚΉʣ͸ɺࢢ৔ػձ·ͨ͸ͦͷଞͷཁҼʹج͍ͮͯ*#.ಠࣗͷܾ ఆݖΛ΋͍ͬͯͭͰ΋มߋͰ͖Δ΋ͷͱ͠ɺকདྷͷ੡඼·ͨ͸ػೳ͕࢖༻ՄೳʹͳΔ͜ͱɺ΋͘͠͸ಛఆͷ݁ՌΛ֬໿͢Δ͜ͱΛҙਤ͢Δ΋ͷͰ͸͋Γ ·ͤΜɻຊߨԋࢿྉ͸ɺݴٴ͞ΕΔ

    *#.੡඼·ͨ͸αʔϏεʹద༻͋Δܖ໿৚݅Λมߋ͢Δ΋ͷͰ΋ɺ௥Ճͷද໌·ͨ͸อূΛҙਤ͢Δ΋ͷͰ΋͋Γ· ͤΜɻ ຊߨԋࢿྉʹؚ·Ε͍ͯΔ಺༰͸ɺࢀՃऀͷ׆ಈʹΑͬͯಛఆͷ݁Ռ͕ੜ͡Δͱड़΂Δɺ·ͨ͸҉ࣔ͢Δ͜ͱΛҙਤͨ͠΋ͷͰ΋ɺ·ͨͦͷΑ͏ͳ݁Ռ ΛੜΉ΋ͷͰ΋͋Γ·ͤΜɻ ύϑΥʔϚϯε͸ɺ؅ཧ͞Εͨ؀ڥʹ͓͍ͯඪ४తͳ*#.ϕϯνϚʔΫΛ࢖༻ͨ͠ଌఆͱ༧ଌʹج͍͍ͮͯ·͢ɻϢʔβʔ ͕ܦݧ͢Δ࣮ࡍͷεϧʔϓοτ΍ύϑΥʔϚϯε͸ɺϢʔβʔͷδϣϒɾετϦʔϜʹ͓͚ΔϚϧνϓϩάϥϛϯάͷྔɺೖग़ྗߏ੒ɺετϨʔδߏ੒ɺ ͓Αͼॲཧ͞ΕΔϫʔΫϩʔυͳͲͷߟྀࣄ߲ΛؚΉɺ਺ଟ͘ͷཁҼʹԠͯ͡มԽ͠·͢ɻ͕ͨͬͯ͠ɺݸʑͷϢʔβʔ͕͜͜Ͱड़΂ΒΕ͍ͯΔ΋ͷͱ ಉ༷ͷ݁ՌΛಘΒΕΔͱ֬໿͢Δ΋ͷͰ͸͋Γ·ͤΜɻهड़͞Ε͍ͯΔ͢΂ͯͷ͓٬༷ࣄྫ͸ɺͦΕΒͷ͓٬༷͕ͲͷΑ͏ʹ*#.੡඼Λ࢖༻͔ͨ͠ɺ· ͨͦΕΒͷ͓٬༷͕ୡ੒ͨ݁͠Ռͷ࣮ྫͱͯࣔ͠͞Εͨ΋ͷͰ͢ɻ࣮ࡍͷ؀ڥίετ͓ΑͼύϑΥʔϚϯεಛੑ͸ɺ͓٬༷͝ͱʹҟͳΔ৔߹͕͋Γ·͢ɻ • *#.ɺ*#.ϩΰɺJCNDPN͸ɺ ੈքͷଟ͘ͷࠃͰొ࿥͞Εͨ*OUFSOBUJPOBM#VTJOFTT.BDIJOFT$PSQPSBUJPOͷ঎ඪͰ͢ɻଞͷ੡඼໊͓ΑͼαʔϏε ໊౳͸ɺͦΕͧΕ*#.·ͨ͸֤ࣾͷ঎ඪͰ͋Δ৔߹͕͋Γ·͢ɻݱ࣌఺Ͱͷ *#.ͷ঎ඪϦετʹ͍ͭͯ͸ɺXXXJCNDPNMFHBMDPQZUSBEFTIUNM Λ͝ཡ͍ͩ͘͞ɻ • "QBDIF,BGLBɺ;PP,FFQFS͸ɺ"QBDIF4PGUXBSF'PVOEBUJPOͷถࠃ͓Αͼͦͷଞͷࠃʹ͓͚Δొ࿥঎ඪ·ͨ͸঎ඪͰ͢ɻ • +BWB͸ɺ0SBDMF$PSQPSBUJPOٴͼͦͷࢠձࣾɺؔ࿈ձࣾͷถࠃ͓Αͼͦͷଞͷࠃʹ͓͚Δొ࿥঎ඪͰ͢ɻ