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

AI時代の大規模データ活用とセキュリティ戦略

 AI時代の大規模データ活用とセキュリティ戦略

データ管理とApacheIcebergについてセキュリティ監視の文脈から、ハンズオンしながら話すスライド。

近年、AIの発展とともに扱われるデータ量は飛躍的に増大しています。膨大なデータを効率的に活用するには、ストレージやOpen Table Format(データの構造を扱いやすくするための形式)、DataOps(データの開発・運用プロセスを管理する手法)などの技術を正しく理解し、運用する必要があります。これらの仕組みを把握しておくことで、高精度なAIモデル開発だけでなく、ビジネスのあらゆる場面でデータ利活用をスムーズに進められるようになります。

また、AIが業務全般に浸透し始めた今だからこそ、サイバーセキュリティ対策の重要性が増しています。本講義では、大規模データとAIを活用する際の注意点を体系的に学ぶとともに、組織的なセキュリティマネジメントにおいて留意すべきポイントを解説します。また、AI時代に求められる新人像やキャリア観にも触れ、これからのエンジニアが持つべき知識・姿勢をディスカッションしながら身につけていきます。

Avatar for Kengo Suzuki

Kengo Suzuki

August 13, 2025
Tweet

More Decks by Kengo Suzuki

Other Decks in Technology

Transcript

  1. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  2. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  3. - ॴଐ - LayerX Fintechࣄۀ෦ - ࡾҪ෺࢈σδλϧɾΞηοτϚωδϝϯτ CISOʢˢ͔Βग़޲ʣ - Dev

    Ops, Corp Eng, ηΩϡϦςΟ౳Λ·Δͬͱ - Φϧλφ৴ୗɹγεςϜϦεΫ౷ׅʢˢͷࢠձࣾʣ - σδλϧிɹηΩϡϦςΟϢχοτ - ݸਓ׆ಈ - िؒχϡʔεϨʔλʔɺPodCastɺಉਓࢽ - ηΩϡϦςΟຊͷ຋༁ - ηΩϡΩϟϯߨࢣʢBίʔεʣ: 2019, 2023 ɹ※ຊߨٛʹશৼΓͷͨΊɺ্ه͸͢΂ͯҰ࣌ఀࢭத… @ken5scal ʢླ໦ݚޗʣ χϡʔεϨλʔ: https://ken5scal.notion.site/54bda4932da14add9e9911ab3e9a6e5c podcast: https://open.spotify.com/show/73sFeKzUIkSYfCZWVBNO70
  4. - 2011~2014: NRIηΩϡΞςΫϊϩδʔζ (NRI͔Βͷग़޲ʣ - 2014~2018: Money Forward - 2018~2020:

    FOLIO - 2020~: ݱ৬ (ॴଐઌx4ʣ - ʢ݁ՌతʹʣελʔτΞοϓ+ ۚ༥ܥ͹ͬ ͔͠ɻ @ken5scal - དྷྺ χϡʔεϨλʔ: https://ken5scal.notion.site/54bda4932da14add9e9911ab3e9a6e5c podcast: https://open.spotify.com/show/73sFeKzUIkSYfCZWVBNO70
  5. - ࢀՃऀͷ໊લʢॱෆಉʣ - দඌ͞Μɺࡈ౻͞Μɺେ௬͞Μɺยؠ͞Μɺ੨໦͞ɺ௽ా ͞Μɺࡾాଜ͞Μɺډྛ͞Μɺদౡ͞Μɺ౻઒͞Μ - ࣄલ४උͷঢ়ଶ֬ೝ - AWS IAM

    Userൃߦલͷঢ়ଶ֬ೝऴΘͬͯΔਓʢڍखʣ - AWS IAM Userൃߦޙͷঢ়ଶ֬ೝऴΘͬͯΔਓʢڍखʣ - ऴΘͬͯͳ͚Ε͹࣍ͷٳΈ࣌ؒʹҰॹʹ΍Γ·͠ΐ͏ ࢀՃऀ֬ೝ
  6. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  7. ଞͷߨٛ ߨ໊ٛ ϥϕϧ ಺༰ ʢݸਓͷղऍʣ ࣮ફLLMΞϓϦέʔγϣϯɾηΩϡϦςΟ D1/D6 શମతͳ߈ܸɾ๷ޚ؍఺ Ϋϥ΢υιʔγϯάʹΑΔֶशσʔλ࡞੒ೖ໳ D2

    σʔλ࡞੒ ෺ཧAIηΩϡϦςΟ D4 ը૾ೝࣝΛத৺ͱͨ͠ ෺ཧαʔϏεಛԽηΩϡϦςΟ AIΤʔδΣϯτͰ࡞ΔηΩϡϦςΟࢧԉπʔϧ D5 γεςϜ։ൃ
  8. ຊߨٛͷείʔϓ σʔλ؅ཧཁૉ Χόʔ ۩ମతͳରԠྫ ৽نੑ/ීวੑ Data preparation ˚ ݸਓ৘ใͷϚεΫɺڠఆੈք࣌ʢUTCʣԽɺΧϥϜͷӳޠԽ ීว

    Data pipelines ✘ Data ETL ˚ Data catalogs ◦ Apache Iceberg ৽ن Data warehouses ◦ Apache Iceberg ৽ن Data governance ˚ Data architecture ✘ Data security ◦ γεςϜϦεΫධՁ ීว ຌྫ ◦: ͔ͬ͠Γղઆ + ϋϯζΦϯ ˚: ݸผ߲໨Ͱ͸ͳ͍͕ཁૉͱͯ͠αϥοͱ৮ΕΔ https://www.tableau.com/learn/articles/data-management-vs-data-governance
  9. - “࠲ֶͱϋϯζΦϯܗࣜͰ෯޿͘औΓѻ͍·͢” - ਐΊํ: ৽نੑͷ͋Δཁૉͱීวੑͷ͋ΔཁૉΛ࠲ֶͱϋϯζΦϯΛ௨ֶͯ͠श - ৽نੑ: Apache IcebergΛ࢖ͬͨσʔλ؅ཧ -

    ීวੑ: σʔλ؅ཧͷγεςϜʹର͢Δอޢ - σʔλར༻ͷϢʔεέʔε: ηΩϡϦςΟ؂ࢹ - ࢖͏σʔλ: AWSͷ؂ࠪϩά - https://bit.ly/40Wiw1M <- ͪ͜ΒͷϦϯΫ͔ΒదٓϑΝΠϧDLΛ͓ئ͍͢ΔͷͰɺURLΛ ͓ؾʹೖΓʹ͍ΕͨΓ͢ΔͳͲ͓ئ͍͠·͢ - Discordνϟωϧͷઆ໌ཝʹ΋͋Γ·͢ɻ ຊߨٛΛͲ͏ਐΊΔ͔
  10. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  11. - γνϡΤʔγϣϯ: - ౤ࢿՈͷࢿۚΛ༬͔Δূ݊αʔϏε - ҙਤ͠ͳ͍ग़ۚɾചങ͕͋ΔͱΫϦςΟΧϧ - Ұํɺਖ਼౰ͳۀ຿ͱͯ͠ޱ࠲͔Βग़ۚ͢Δ͜ͱ͕͋Δɻ͜ͷ৔߹͸ࣄલʹ᜛ٞͰঝೝɾܾࡋΛಘΔ - ૝ఆ͢ΔϦεΫ͸ɺͦ͏͍ͬͨਖ਼౰ͳۀ຿Λߦ͏ࣾһͷۜߦΞΧ΢ϯτ͕ෆਖ਼ར༻͞Εͨɹ΋͘͠͸಺෦ෆਖ਼ΛߦΘΕͨ

    - ଘࡏ͢Δϩά - ۜߦAͷग़ۚཤྺϩά - ۜߦBͷೖग़ۚཤྺϩά - ग़ۚͷঝೝɾܾࡋΛͱΔϫʔΫϑϩʔϩά - ※ঝೝɾܾࡋ೔ = ग़ۚ೔ͱ͸ݶΓ·ͤΜ - ͜ΕΛ݄࣍Ͱʢ؂ࠪʣ͢Δϩά෼ੳͷϓϩηεΛߟ͍͑ͯͩ͘͞ - ※ͲͷϩάΛͲͷΑ͏ʹಥ߹͠ɺूܭͯ͠ɺԿΛ࣋ͬͯ໰୊ͳ͍ͱ͢Δ͔ɺɺɺͱ͍͏ϓϥϯΛͨͯΔ - ϋϯζΦϯ: 10min - ൃද: 7min? ϋϯζΦϯ01: ηΩϡϦςΟ෼ੳΛ΍ͬͯΈΑ͏
  12. - σʔλͱ৘ใࢿ࢈Λܭըɺ؅ཧɺ഑৴͢ΔϏδωεػೳ by DMBOK - σʔλ؅ཧͰ͸ɺҙࢥܾఆͷͨΊʹσʔλΛऩूͯ͠࢖༻͢ΔͨΊͷϙϦ γʔͱखॱΛ੍ఆ by Tableau -

    ʮσʔλͱ৘ใࢿ࢈Λऩूɾอ؅ɾར༻Ͱ͖ΔΑ͏ʹఏڙ͢Δػೳ ʯ σʔλ؅ཧʢData Managementʣͱ͸Կ͔ʁ DAMA DMBOK
  13. - ੜσʔλ͸ଟछଟ༷ - ѹॖํࣜ( `json.gz` , `zip`, ·ͨ͸ѹॖͳ͠) - ܗࣜ(

    `jpg`, `csv`, `json`, `txt`, `mp3`, `md`) - εΩʔϚɺΧϥϜ໊ - ஋(ྫ: גࣜձࣾͱ(ג)) - ߋ৽͞ΕΔεΩʔϚ - ੜσʔλ͸ɺͦͷ··Ͱ͸࢖͑ͳ͍ʮૉࡐʯͷࢁ σʔλ͸ͦͷ··࢖͑Δ͔
  14. - ৘ใΛར༻ऀͷϢʔεέʔεʹ͋Θͤͯ࠷దԽ͍ͯ͠Δ͜ͱ - ࠷దԽ͸ʮσʔλΛ੔උ͠ɺՃ޻͢Δʯ͜ͱ - ໨తʹԊͬͨσʔλͷఏڙ - ద੾ͳൣғͷσʔλͷఏڙ - ద੾ͳܗࣜͷσʔλͷఏڙ

    - ൃݟɾཧղɾॲཧͰ͖Δ؀ڥΛ੔͑Δ͜ͱ - ʮσʔλͱ৘ใࢿ࢈Λऩूɾอ؅ɾར༻Ͱ͖ΔΑ͏ʹఏڙ͢Δػೳ ʯ - ར༻ऀ͕AIͰ΋ਓؒͰ΋มΘΒͳ͍ - ͔͠͠ɺAI࣌୅͸͜ͷϓϩηεͷ࣭ͱεϐʔυ͕ɺڝ૪ྗΛ௚઀ࠨӈ͢Δ σʔλΛ؅ཧɾར༻Ͱ͖Δɺͱ͸
  15. σʔλ؅ཧͷཁૉ01 ཁૉ໊ આ໌ Data preparation ੜͷσʔλΛΫϦʔϯΞοϓ͠ɺม׵͢Δϓϩηε Data pipelines σʔλΛγεςϜ͔Βผͷஈ֊ͷγεςϜ΁ྲྀ͢Ұ࿈ͷγεςϜίϯϙʔωϯτ Data

    ETL σʔλΛσʔλ΢ΣΞϋ΢εʹϩʔυ͢ΔͨΊɺநग़ɾม׵͢ΔϓϩηεɻData preparationʹ΋࢖ΘΕΔ͠ɺύΠϓϥΠϯ্ʹ΋ࡌΔ
  16. σʔλ؅ཧͷཁૉ02 ཁૉ໊ આ໌ Data catalog σʔλͷશମ૾ͷ೺Ѳ͠ɺ໨తͷσʔλΛൃݟ͠΍͘͢͢ΔΑ͏ɺϝλσʔλΛ؅ཧ͢Δ ίϯϙʔωϯτ Data warehouses ར༻͢ΔσʔλιʔεΛ౷߹͍ͯ͠Δίϯϙʔωϯτ

    Data governance σʔληΩϡϦςΟͱίϯϓϥΠΞϯεΛҡ࣋͢ΔͨΊͷϙϦγʔͱखॱɺͦͯͦ͠ΕΛ ؅ཧ͢Δଶ੎ Data architecture σʔλϑϩʔΛ؅ཧ͢ΔεΩʔϚ Data security σʔλΛอޢ͢ΔͨΊͷηΩϡϦςΟ
  17. σʔλ؅ཧͷཁૉʢ࠶ܝʣ σʔλ؅ཧཁૉ Χόʔ ۩ମతͳରԠྫ ৽نੑ/ීวੑ Data preparation ˚ ݸਓ৘ใͷϚεΫɺڠఆੈք࣌ʢUTCʣԽɺΧϥϜͷӳޠԽ ීว

    Data pipelines ✘ Data ETL ˚ Data catalogs ◦ Apache Iceberg ৽ن Data warehouses ◦ Apache Iceberg ৽ن Data governance ˚ Data architecture ✘ Data security ◦ γεςϜϦεΫධՁ ීว ຌྫ ◦: ͔ͬ͠Γղઆ + ϋϯζΦϯ ˚: ݸผ߲໨Ͱ͸ͳ͍͕ཁૉͱͯ͠αϥοͱ৮ΕΔ https://www.tableau.com/learn/articles/data-management-vs-data-governance
  18. - ؂ࢹ؀ڥͱσʔλΛܨ͙طଘͷίωΫλʹ͸੍ݶ͕͋Δɻ - ੍ݶ1: ίωΫλ͕ଘࡏ͠ͳ͍ - ࣗࣾͰ࢖͏શͯͷαʔϏεʹରԠ͢ΔίωΫλ͕͋Δͱ͸ ݶΒͳ͍ - ಛʹɺ֤ۜߦͷೖग़ۚ໌ࡉͷΑ͏ͳɺ೔ຊࠃ಺ͷಛఆۀ຿

    ʹಛԽͨ͠ίωΫλ͸·ͣఏڙ͞Ε͍ͯͳ͍ - ੍ݶ2: ࣗ࡞ͷίεύ͕ྑ͍ͱ͸ݴ͑ͳ͍ - ࣗ࡞ίωΫλͷ։ൃɾอकίετ͸ɺσʔλΛࣗલͷετ Ϩʔδʹอ؅͢Δ࢓૊ΈΛ૊Ήͷͱಉ౳ఔ౓ ίωΫλͷน ಛʹࣗࣾͷϦεΫ ϕʔεͰ؂ࢹͨ͠ ͍߲໨Ͱ͸ݦஶ ࡞ۀ
  19. - શͯͷσʔλ͕ɺ៉ྷͳAPI͔ΒऔಘͰ͖ΔΘ͚Ͱ͸ͳ͍ɻݱ৔Ͱ͸ɺటष͍ํ๏ Ͱ͔͠खʹೖΒͳ͍σʔλ΋ଟ͍ɻ - API͕ͳ͍৔߹ͷऔಘํ๏ - ؂ࢹ͞ΕΔଆͷγεςϜ͕Webhookࢦఆʢྫ: GitHub Enterprise -

    Webը໘͔Βͷखಈμ΢ϯϩʔυ (ྫ: ۜߦͷCSV) - WebαΠτΛ८ճͯ͠৘ใΛूΊΔ (ΫϩʔϦϯά) - ࠷ѱͷ৔߹ɺը໘ͷεΫϦʔϯγϣοτ औಘํ๏ͷଟ༷ੑɾࠔ೉͞ - ᶃ
  20. - ϑΝΠϧܗࣜͷҧ͍ - จࣈίʔυͷҧ͍ - ݴޠͷҧ͍ - λΠϜκʔϯͷҧ͍ - ࣌ࠁϑΥʔϚοτͷҧ͍

    - ΦϨΦϨσʔλ஋ - ಛఆ࣌ظͷϑΥʔϚοτҧ͍ ϑΥʔϚοτ͕όϥόϥ໰୊ ಛʹࣗࣾͷϦ ϕʔεͰ؂ࢹ͠
  21. ྫ: ۜߦͷೖग़ۚϩά - ೔ຊޠจࣈίʔυલఏ - CSV - ΧϥϜ͕೔ຊޠ - ۜߦ͝ͱͷṖ৘ใ

    - `240002184 008 0000008` ͬͯͳʹ... - Time͕JSPલఏ - ஋΋೥݄೔࣌෼ - ଞͷγεςϜͱҧ͍ඵ͕ͳ͍ - ݸਓ৘ใ
  22. ηΩϡϦςΟ؂ࢹιϦϡʔγϣϯ γεςϜ API DB UI + ΫΤϦ γεςϜ API γεςϜ

    ΤΫεϙʔτ γεςϜ ίωΫλ σʔλར༻΋؅ཧ΋ શ෦ιϦϡʔγϣϯ্… ΫΤϦݴޠ΋ιϦϡʔγϣϯಛ ༗… औΓࠐΊͳ͍… औΓࠐΊͳ͍… ᶃϑΥʔϚοτ͕ ᶄ઀ଓܗ͕ࣜ ᶅݸਓ৘ใͷআڈ͕ αϙʔτ͞Εͯͳ͍͔Β औΓࠐΊͳ͍…
  23. ࣗલ ίωΫλ ηΩϡϦςΟ؂ࢹιϦϡʔγϣϯ γεςϜ API DB UI + ΫΤϦ γεςϜ

    API γεςϜ ΤΫεϙʔτ γεςϜ ίωΫλ ࣗ લ தܧ DB σʔλར༻΋؅ཧ΋ શ෦ιϦϡʔγϣϯ্… ΫΤϦݴޠ΋ιϦϡʔγϣϯಛ༗… ʢղܾ͞Εͳ͍…ʣ ࣗલͰதܧ͢Ε͹ͳΜͱ͔ͳ ΔɻͰ΋͜͜·Ͱ΍ΔͳΒ….
  24. ࣗલ ίωΫλ ηΩϡϦςΟ؂ࢹιϦϡʔγϣϯ γεςϜ API DB UI + ΫΤϦ γεςϜ

    API γεςϜ ΤΫεϙʔτ γεςϜ ίωΫλ ࣗ લ தܧ DB σʔλར༻΋؅ཧ΋ શ෦ιϦϡʔγϣϯ্… ΫΤϦݴޠ΋ιϦϡʔγϣϯಛ༗… ʢղܾ͞Εͳ͍…ʣ ࣗલͰதܧ͢Ε͹ͳΜͱ͔ͳ ΔɻͰ΋͜͜·Ͱ΍ΔͳΒ…. ηΩϡϦςΟ؂ࢹͷ෇ՃՁ஋Λ্͛ΔͨΊ σʔλΛʰίϯτϩʔϧʱͰ͖ΔൣғΛ޿͍͛ͨ ≒ σʔλ؅ཧΛऔΓࠐΊΔܗʢιϦϡʔγϣϯɺ࣮૷ʣʹ͍ͨ͠
  25. લॲཧ πʔϧ γεςϜ API γεςϜ API γεςϜ ΤΫε γεςϜ ੜσʔλ

    DB લॲཧ πʔϧ લॲཧ πʔϧ લॲཧ πʔϧ લॲཧࡁΈ DB UI ΫΤϦ
  26. - ✅ ऩूɾอ؅ɾ෼ੳΛҰݩԽ͢Δ͚ͩͰͳ͘ɺίϯτϩʔϥϏϦςΟΛߴΊΒΕΔɻ - ✅ λΠϜκʔϯ΍จࣈίʔυΛɺ౷ҰతͳϧʔϧͰ੔ܗɻ - ✅ ෼ੳͨ͘͠ͳ͍ݸਓ৘ใͳͲΛɺࣄલʹআ֎ (ϑΟϧλ)ɻ

    - ✅ ඞཁͳ৘ใʢྫɿࣾһϚελʣΛ෇༩ͯ͠ɺσʔλΛϦονʹ (ΤϯϦον)ɻ - ✅ ໨తʹԠͨ͡৽͍͠σʔληοτΛɺࣗ༝ʹ࡞੒ɻ - ✅ ݁Ռతʹɺ෼ੳίετ΋࠷దԽͰ͖Δ σʔλ؅ཧ͕΋ͨΒ͢ϝϦοτ
  27. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  28. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  29. σʔλ؅ཧͷཁૉʢ࠶ܝʣ ཁૉ໊ આ໌ Data catalog σʔλͷશମ૾ͷ೺Ѳ͠ɺ໨తͷσʔλΛൃݟ͠΍͘͢͢ΔΑ͏ɺϝλσʔλΛ؅ཧ͢Δ ίϯϙʔωϯτ Data warehouses ར༻͢ΔσʔλιʔεΛ౷߹͍ͯ͠Δίϯϙʔωϯτ

    Data governance σʔληΩϡϦςΟͱίϯϓϥΠΞϯεΛҡ࣋͢ΔͨΊͷϙϦγʔͱखॱɺͦͯͦ͠ΕΛ ؅ཧ͢Δଶ੎ Data architecture σʔλϑϩʔΛ؅ཧ͢ΔεΩʔϚ Data security σʔλΛอޢ͢ΔͨΊͷηΩϡϦςΟ
  30. લॲཧ πʔϧ γεςϜ API γεςϜ API γεςϜ ΤΫε γεςϜ ੜσʔλ

    DB લॲཧ πʔϧ લॲཧ πʔϧ લॲཧ πʔϧ લॲཧࡁΈ DB UI ΫΤϦ σʔλར༻ऀ
  31. - AWSΞΧ΢ϯτ297323088823, 085773780922 ͷ౦ژϦʔδϣϯʹ͓͍ͯ2025/07/14 18:00 ~ 2025/07/15 09:00ʹ࣮ࢪ͞ΕͨAWS্ͷActionɺ࣮ߦͨ͠ΞΫλʔΛΧ΢ϯτ͢Δ ϓϩηεͱϩδοΫΛ࡞͍ͬͯͩ͘͞ɻ -

    ΋ͱ΋ͱͲ͜ʹ͋Δ͔Λಛఆ͢Δͷ͸೉͍͠ͱ͓΋͏ͷͰɺࣄલʹఏڙͨ͠ɹhttps:// bit.ly/40Wiw1M > ʮੜawsϩάʯΛετϨʔδͱΈͨͯͯΛ࢖͍ͬͯͩ͘͞ - औಘ͔Β෼ੳ·Ͱͷखॱ΋໌͍ࣔͯͩ͘͠͞ - πʔϧूܭϩδοΫ͸ΧϥϜ໊Λ࢖ͬͯઆ໌Ͱ͖Ε͹͓̺Ͱ͢ɻਖ਼֬Ͱͳͯ͘΋͍͍Ͱ ͢ɻ ɹ※AIʹ౤͛ࠐΉ͸͋Γɻͦͷ৔߹ɺpython/sqlͷΫΤϦΛఏڙͯ͘͠Δͱ͓ΉͷͰɺͦͷΫ ΤϦͷʮूܭϩδοΫʯΛ͓࿩͍ͩ͘͞ɻ - ࣮ߦ: 10min, ൃද: 1minx7 ϋϯζΦϯ02: ηΩϡϦςΟ؂ࢹΛ΍ͬͯΈΑ͏
  32. ൺֱ ඇσʔλ؅ཧԼͷରԠ σʔλ؅ཧԼͷରԠ ෆཁʹͳͬͨʁ ετϨʔδ୳ࡧ aws s3όέοτΛ୳͢ ʢWeb, cliʣ ςʔϒϧ໊Λ୳͢

    ✗ ετϨʔδཧղ όέοτ഑ԼͷϑΥϧμߏ ੒Λ೺Ѳ - ◦ ϑΝΠϧൃݟ json.gz` Λ औಘ - ◦ σʔλཧղ `jq`ͳͲΛ࢖ͬͯߏ଄೺Ѳ describeҰൃɻ ࢓༷Λຬ͍ͨͯ͠Ε͹πʔ ϧ͸໰Θͳ͍ ˚ɻΫΤϦͳͷͰΑΓ೺Ѳ ͠΍͘͢ͳͬͨ σʔλར༻ `jq`ͳͲΛ࢖ͬͯ෼ੳ ΫΤϦͰ෼ੳɻ ࢓༷Λຬ͍ͨͯ͠Ε͹πʔ ϧ͸໰Θͳ͍ ˚ɻ࢓૊ΈʹΑΓσʔλऔ ಘ͕ޮ཰Խ͞Ε͍ͯΔ
  33. ηΩϡϦςΟ؂ࢹιϦϡʔγϣϯ γεςϜ API DB UI + ΫΤϦ γεςϜ API γεςϜ

    ΤΫεϙʔτ γεςϜ ίωΫλ औΓࠐΊͳ͍… औΓࠐΊͳ͍… ᶃϑΥʔϚοτ͕ ᶄ઀ଓܗ͕ࣜ ᶅݸਓ৘ใͷআڈ͕ αϙʔτ͞Εͯͳ͍͔Β औΓࠐΊͳ͍… σʔλར༻΋؅ཧ΋ શ෦ιϦϡʔγϣϯ্… ΫΤϦݴޠ΋ιϦϡʔγϣϯಛ ༗…
  34. લॲཧ πʔϧ γεςϜ API γεςϜ API γεςϜ ΤΫε γεςϜ ੜσʔλ

    DB લॲཧ πʔϧ લॲཧ πʔϧ લॲཧ πʔϧ લॲཧࡁΈ DB UI ΫΤϦ σʔλར༻ऀ ΫΤϦ ΫΤϦ σʔλ؅ཧଆʹґଘ͠ͳ͍ ׳ΕͯΔΫΤϦݴޠΛ ࢖͑ΔΑ͏ʹͳͬͨʂ σʔλߏ଄΋؆୯ʹΘ͔Δʂ
  35. લॲཧ πʔϧ γεςϜ API γεςϜ API γεςϜ ΤΫε γεςϜ ੜσʔλ

    DB લॲཧ πʔϧ લॲཧ πʔϧ લॲཧ πʔϧ લॲཧࡁΈ DB UI ΫΤϦ σʔλར༻ऀ ΫΤϦ ΫΤϦ σʔλ؅ཧଆʹґଘ͠ͳ͍ ׳ΕͯΔΫΤϦݴޠΛ ࢖͑ΔΑ͏ʹͳͬͨʂ σʔλߏ଄΋؆୯ʹΘ͔Δʂ πʔϧʹޓ׵ੑ͕͋Δʂ
  36. - Q: ͳΜͰOLTPͱOLAPΛΘ͚Δͷʁ - A: - OLAPͱϦιʔεΛୣ͍߹Θͳ͍Α͏ʹ - OLAP͸େྔͷσʔλΛର৅ʹ͍ͨ͠ͷͰɺΧϥϜϕʔεͰ͕ͬ͞ͱ෼ੳ͍ͨ͠ -

    ྫʮ͓ళͷϨδʢOLTPʣͱɺࡏݿ؅ཧ૔ݿʢOLAPʣ͸໾ׂ͕ҧ͏͔Βɻ - Ϩδ͸ߴ଎ͳձܭ͕ٻΊΒΕɺ૔ݿ͸େྔͷࡏݿ͔Β໨తͷ΋ͷΛ୳͢ೳྗ͕ٻΊΒΕΔ - OLAP͸ෳ਺σʔλΛͬ͞ͱ૬ؔͤ͞ΔηΩϡϦςΟ؂ࢹɺಛʹ௕ظؒͷ෼ੳʹ૬ੑ͕͍͍ OLAP: Online Analytical Processing
  37. OLAPͷίϯϙʔωϯτ ίϯϙʔωϯτ໊ ֓ཁ ίϯϐϡʔτΤϯδϯ σʔλॲཧɺ·ͨ͸ͦͷϫʔΫϩʔυͷ࣮ߦ Χλϩά ར༻͍ͨ͠σʔλͷൃݟɾಛఆΛޮ཰Խ͢ΔͨΊʹɺσʔλͷϝλσʔ λʢςʔϒϧ໊ɺεΩʔϚɺ෺ཧతͳ഑ஔՕॴʣΛίϯϐϡʔτΤϯδ ϯʹఏڙ ςʔϒϧϑΥʔϚοτ

    σʔλͷ࣮ମͰ͋Δଟ਺ͷϑΝΠϧ܈͕ͲͷΑ͏ʹετϨʔδ্ʹ഑ஔ ͞Ε͍ͯΔ͔Λࣔ͢ϝλσʔλɺ·ͨ͸࿦ཧతͳදͷΑ͏ͳ΋ͷɻ ετϨʔδΤϯδϯ ςʔϒϧϑΥʔϚοτʹैͬͯ෺ཧσʔλΛอଘɾߋ৽ɾ࡟আɻ ഑ஔ࠷ దԽɺظؒΛ௒͑ͨσʔλͷ࡟আ౳ͷ࠷దԽ΋࣮ࢪ ετϨʔδ σʔλͷอଘɻΦϒδΣΫτετϨʔδͱ͍͏ͷ͕͍͍͔΋ɻσʔλʹ ΑͬͯɺϑΝΠϧϑΥʔϚοτͱςʔϒϧϑΥʔϚοτ͸ҟͳΔ ϑΝΠϧܗࣜ ෺ཧతʹσʔλΛ֨ೲ͢ΔϑΝΠϧܗࣜɻߏ଄ vs ඇߏ଄,͔Β͞Βʹ ߦ ࢥߟ vs ྻࢥߟͰ͞Βʹ෼ྨ͞ΕΔ
  38. OLAPͷίϯϙʔωϯτʢ࠶ܝʣ ίϯϙʔωϯτ໊ ֓ཁ ίϯϐϡʔτΤϯδϯ σʔλॲཧɺ·ͨ͸ͦͷϫʔΫϩʔυͷ࣮ߦ Χλϩά ར༻͍ͨ͠σʔλͷൃݟɾಛఆΛޮ཰Խ͢ΔͨΊʹɺσʔλͷϝλσʔ λʢςʔϒϧ໊ɺεΩʔϚɺ෺ཧతͳ഑ஔՕॴʣΛίϯϐϡʔτΤϯδ ϯʹఏڙ ετϨʔδΤϯδϯ

    ςʔϒϧϑΥʔϚοτʹैͬͯ෺ཧσʔλΛอଘɾߋ৽ɾ࡟আɻ ഑ஔ࠷ దԽɺظؒΛ௒͑ͨσʔλͷ࡟আ౳ͷ࠷దԽ΋࣮ࢪ ϑΝΠϧܗࣜ ෺ཧతʹσʔλΛ֨ೲ͢ΔϑΝΠϧܗࣜɻߏ଄ vs ඇߏ଄,͔Β͞Βʹ ߦ ࢥߟ vs ྻࢥߟͰ͞Βʹ෼ྨ͞ΕΔ ςʔϒϧϑΥʔϚοτ σʔλͷ࣮ମͰ͋Δଟ਺ͷϑΝΠϧ܈͕ͲͷΑ͏ʹετϨʔδ্ʹ഑ஔ ͞Ε͍ͯΔ͔Λࣔ͢ϝλσʔλɺ·ͨ͸࿦ཧతͳදͷΑ͏ͳ΋ͷɻ ετϨʔδ σʔλͷอଘɻΦϒδΣΫτετϨʔδͱ͍͏ͷ͕͍͍͔΋ɻσʔλʹ ΑͬͯɺϑΝΠϧϑΥʔϚοτͱςʔϒϧϑΥʔϚοτ͸ҟͳΔ O'Reilly-ApacheIceberg-ਤ1-5-දܗࣜΛ࢖ͬͯσʔλϑΝΠϧΛදʹ·ͱΊΔ
  39. - ޮ཰తͳσʔλΞΫηε: - Ϣʔβʔ΍෼ੳπʔϧ͸ɺσʔλ͕࣮ࡍʹͲͷϑΥϧμʹɺ͍ͭ͘ͷϑΝΠϧ ͱͯ͠อଘ͞Ε͍ͯΔ͔ͱ͍ͬͨ෺ཧతͳৄࡉΛҙࣝ͢Δඞཁ͕ͳ͘ͳΔɻ - ࿦ཧతͳҰͭͷදΛૢ࡞Ͱ͖Δɻ - Ұ؏ੑͷ୲อ: -

    ༷ʑͳπʔϧ΍ෳ਺ͷνʔϜ͕σʔλΛར༻͢Δࡍʹɺৗʹ࠷৽ͷσʔλ͕ࢀ র͞Ε͍ͯΔ͜ͱΛอূ - ٯʹݴ͏ͱɺίϨ͕อূ͞Εͳ͍ͱਓʹΑͬͯ෼ੳ݁Ռ͕ҟͳΔͱ͍͏ࣄଶʹ ςʔϒϧϑΥʔϚοτͷ໾ׂ O'Reilly-ApacheIceberg-ਤ1-5-දܗࣜΛ࢖ͬͯσʔλϑΝΠϧΛදʹ·ͱΊΔ
  40. - σʔλϨΠΫ·Ͱ͸ Apache Hiveςʔϒϧ ϑΥʔϚοτ - ςʔϒϧͷఆ͕ٛϑΝ ΠϧγεςϜͷ෺ཧత ͳσΟϨΫτϦߏ଄ʹ ڧ͘ґଘ

    σʔλϨΠΫͷϑΥʔϚοτ https://estuary.dev/blog/explaining-data-lakes-lakehouses-catalogs/
  41. Open Table FormatʢOTFʣͱσʔλϨΠΫϋ΢εͷొ৔ - σΟϨΫτϦߏ଄Ͱ͸ͳ͘ݸʑͷσʔλϑΝΠϧ ϑΝΠϧ୯Ґʹɺෳ਺ͷ֊૚ʹ෼͔Εͨϝλσʔ λΛςʔϒϧͱͯ͠؅ཧ - ϑΝΠϧॻࠐΈͷͨͼʹɺϝλσʔλ͕ߋ৽͞Ε Δ

    - OTFΛ֩ͱͨ͠ΞʔΩςΫνϟ͕ʮσʔλϨΠΫϋ ΢εʯ - ΦϒδΣΫτετϨʔδΛετϨʔδ૚ͱͯ͠ ར༻ͭͭ͠ɺDBMSͷΑ͏ͳػೳɺಛʹACIDಛ ੑΛσʔλϨΠΫʹ΋ͨΒͨ͠ - ۩ମతͳOTFͷ࣮ྫͷ͕̍ͭʮApache Icebergʯ https://estuary.dev/blog/explaining-data-lakes-lakehouses-catalogs/
  42. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  43. - 2015೥ʹNet fl ixͷΤϯδχΞͰ͋ΔDaniel WeeksࢯͱRyan Blueࢯ͕։ൃ ͨ͠ΦʔϓϯςʔϒϧϑΥʔϚοτ - Net fl

    ix͸ϖλόΠτϨϕϧͷσʔλΛѻ͏ͷͰɺͦ͜·ͰεέʔϧͰ͖ Δඞཁ͕͋Δ - ͭ·Γඪ४Ͱ͋Γɺ੡඼΍ιϑτ΢ΣΞͦͷ΋ͷͰ͸ͳ͍ - https://iceberg.apache.org/spec/ - 2018೥ʹΦʔϓϯιʔεԽ & Apache Software FoundationʢASFʣʹد ଃ - ݱ࣌఺Ͱv4Λ։ൃத Apache Icebergͱ͸
  44. - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ - Partition Evolution, Hidden Partitioning, Time travel, Version

    Rollback, Schema Evolutionͷαϙʔτ - ֦େੑʢScaleʣ - ύϑΥʔϚϯεʢSpeedʣ - ಡΈऔΓ͸ฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ݎ࿚ͳܕʢDependable typesʣ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτʢFormatrsʣ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  45. - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ʢετϨʔδͷ෼཭ʣ - ֦େੑʢScaleʣ - ϝλσʔλΛ׆༻ͨ͠ΫΤϦϓϥχϯάΛΫϥΠΞϯτଆͰ࣮ ݱ͠ɺϘτϧωοΫΛςʔϒϧଆʢαʔόʔଆʣʹ͠ͳ͍ - ύϑΥʔϚϯεʢSpeedʣ -

    ಡΈऔΓ͸ฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ݎ࿚ͳܕʢDependable typesʣ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτʢFormatrsʣ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  46. - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ʢετϨʔδͷ෼཭ʣ - ֦େੑʢScaleʣ - ύϑΥʔϚϯεʢSpeedʣ - ΫΤϦϓϥχϯάΛO1ʹ͢Δ - σʔλϨΠΫͷ৔߹ɺ෺ཧతͳσΟϨΫτϦߏ଄Λςʔϒϧͷఆٛͱ͍ͯ͠Δͨ

    ΊɺΫΤϦΛ࣮ࢪ͢ΔલʹύʔςΟγϣϯ౳ͷ෺ཧߏ੒Λߟྀ͢Δඞཁ͕͋ͬͨɻ ͜Ε͸ɺσʔλར༻ऀ͸΋ͱΑΓΫΤϦΛ࣮ࢪ͢ΔϫʔΫϩʔυʹ΋༏͘͠ͳ͍ - ಡΈऔΓ͸ฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ݎ࿚ͳܕʢDependable typesʣ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτʢFormatrsʣ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  47. - ֦େੑʢScaleʣ - ύϑΥʔϚϯεʢSpeedʣ - ಡΈऔΓΛฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ACIDಛੑͷ֬อ, ߦ୯ҐͰͷςʔϒϧૢ࡞

    - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ʢετϨʔδͷ෼཭ʣ - ݎ࿚ͳܕʢDependable typesʣ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτʢFormatrsʣ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  48. - ֦େੑʢScaleʣ - ύϑΥʔϚϯεʢSpeedʣ - ಡΈऔΓ͸ฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ʢετϨʔδͷ෼཭ʣ -

    ݎ࿚ͳܕʢDependable typesʣ - ໌֬ʹఆ͚ٛͮΒΕͨςʔϒϧܕ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτʢFormatrsʣ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  49. - ֦େੑʢScaleʣ - ύϑΥʔϚϯεʢSpeedʣ - ಡΈऔΓ͸ฒߦ͢Δॻ͖ࠐΈ͔Βͷ෼཭ʢSerializable Isolationʣ - ෺ཧతετϨʔδ͔Βͷ࿦ཧతͳ෼཭ʢετϨʔδͷ෼཭ʣ -

    ݎ࿚ͳܕʢDependable typesʣ - ʢσʔλϑΝΠϧͷʣϑΥʔϚοτ - ಡΈऔΓ࠷దԽͱॻ͖ࠐΈ࠷దԽͷ྆ํͷܗ͕ࣜར༻Մೳ - ·ͨϑΝΠϧܗࣜʹ͔͔ΘΒͣɺఆٛ͞Εͨσʔλܕ΍εΩʔϚ؅ཧ ϓϩηεΛద༻Ͱ͖Δ Apache Iceberg͕࣮ݱͨ͜͠ͱ
  50. ຊߨٛͰσϞΛ·͑͡Δػೳ ػೳ໊ ಺༰ ର৅ ACIDಛੑ- ָ؍తฒߦ੍ޚʹΑΔACIDಛੑ ॻ͖ࠐΈ׬ྃޙʹɺ࠷৽ͷϝλσʔλϑΝΠϧΛ࡞੒͢Δ͕ɺͦͷ࠷৽ͷϑΝΠ ϧʹϙΠϯλΛม͑Α͏ͱ͢ΔλΠϛϯάͰʢଞͷϥΠλʔ͕ଞͷมߋΛίϛο τ͍ͯ͠ͳ͍͔ʣڝ߹Λݕग़͢Δɻͳ͚Ε͹ίϛοτ͞Εɺ͋Ε͹ίϛοτ͞Ε ͳ͍

    ˚ HiddenύʔςΟγϣχϯά σʔλར༻ऀͷΫΤϦΛղੳ͢ΔࡍʹɺύʔςΟγϣχϯάʹ൓ө͞ΕΔΑ͏ಛ ఆͷॲཧΛ಺෦తʹద༻͠ΫΤϦΛมߋ͢Δɻ ◦ ύʔςΟγϣϯߋ৽ʢEvolutio ύʔςΟγϣϯ؅ཧΛ෺ཧతͳσΟϨΫτϦߏ଄͔ΒϝλσʔλϑΝΠϧ্Ͱ؅ ཧ͢ΔܗࣜͱͳͬͨͨΊɺύʔςΟγϣϯΛมߋͯ͠΋ςʔϒϧͷ࠶࡞੒͕ෆཁ ͱͳΔɻ·ͨɺύʔςΟγϣϯόʔδϣϯΛҙࣝͤͣΫΤϦ͕Մೳ ˚ εΩʔϚߋ৽ʢEvolution ↑ͷςʔϒϧεΩʔϚόʔδϣϯ ◦ λΠϜτϥϕϧ ߋ৽࣌ʹϝλσʔλϑΝΠϧ͕࡞੒͞ΕΔͱͱ΋ʹɺΠϛϡʔλϒϧͳεφοϓ γϣοτ΋ੜ੒͞ΕΔͨΊɺಛఆͷλΠϛϯάͰͷσʔλΛΫΤϦͰ͖ΔΑ͏ʹ ◦ όʔδϣϯϩʔϧόοΫ εφοϓγϣοτ͕͋ΔͷͰʢࡶɺϝλσʔλϑΝΠϧͷ࠷৽ϙΠϯλΛߋ৽͢ ΔͳͲͯ͠ϩʔϧόοΫՄೳ ◦
  51. - Net fl ix͕Ͳ͏ηΩϡϦςΟϦεΫΛఆྔԽ͍ͯ͠Δ͔ - https://www.youtube.com/watch?v=wgQkqPmDIAQ&t=1184s - Α͋͘ΔAE͕ͩɺͦ͜͸Net fl ixɺ͜ͷϏσΦͰHowΛ͕ͬͭΓઆ໌ͯ͠Δ

    - ϞϯςΧϧϩγϛϡϨʔγϣϯͳͲ౷ܭ΍ϞσϦϯάख๏Λ͕ͬͭΓ࢖͍ͬͯΔ - ͜ΕʹݶΒͣNet fl ix͸਺೥લ·Ͱߴ౓ͳηΩϡϦςΟϒϩάΛൃ৴͍ͯͨ͠ͷͰ͓͢͢Ί - https://net fl ixtechblog.com/all?topic=security - ͦͷޙɺͲ͜ʹ͍ͬͨͷ͔.... ༨ஊ(ඈ͹͔͢΋ʣ
  52. πʔϧͷղઆ https://iceberg.apache.org/spec/#overview - ΫΤϦΤϯδϯ - DuckDB: OLAPϫʔΫϩʔυ޲͚ʹઃܭ͞ΕͨΠϯϝϞϦͳ෼ੳDBɻ ༷ʑͳ֦ுπʔϧ͕͋Δ - Athena:

    AWSͷαʔόʔϨεͳϑϧϚωʔδυͳΫΤϦαʔϏε - Iceberg SDK: IcebergͷSDKɻݴޠ͝ͱʹ͋Δ - Lake Formation: Amazon S3 ςʔϒϧͱ౷߹͞ΕɺS3 ʹอଘ͞Εͨσʔ λʹର͢ΔूதతͳΞΫηε੍ޚͱΨόφϯεΛՄೳʹ͠·͢ɻ - S3 Tables: Apache Iceberg ܗࣜͷςʔϒϧϑΥʔϚοτσʔλͱͯ͠࠷ద Խ͞ΕͨS3 BucketετϨʔδΛఏڙ - σʔλϨΠϠͷS3͸҉໧తʹ࡞ΒΕΔ
  53. ΧλϩάϨΠϠʔ https://iceberg.apache.org/spec/#overview - σʔλར༻ऀ͕Icebergςʔϒϧͱର࿩͢Δ࠷ॳͷϙΠϯτ - ݱࡏͷϝλσʔλ΁ͷϙΠϯλΛอ࣋ - ACIDಛੑͷAtomicityઈର֬อ͢Δ͘Μ - ͜ͷςʔϒϧʹͲͷΑ͏ͳσʔλؚ͕·Ε͍ͯΔ͔Λ࠷ॳʹఏڙ

    - ಛఆͷλΠϛϯάͰͷςʔϒϧͷεΩʔϚɺύʔςΟγϣχϯάɺεφοϓγϣ οτཤྺͳͲͱ͍ͬͨςʔϒϧͷঢ়ଶʹؔ͢ΔΛϝλσʔλΛอ࣋ɻ - ࣮ࡍʹςʔϒϧ઀ଓΛ͢Δࡍ͸ɺ͜ͷΧλϩάΛࢦఆ͍ͯ͠Δ
  54. Χλϩάͱͷ઀ଓʢDuckDB) $ cat duckdb_init.sql INSTALL httpfs; INSTALL iceberg; INSTALL aws;

    LOAD iceberg; LOAD httpfs; LOAD aws; FORCE INSTALL iceberg FROM core_nightly; FORCE INSTALL avro FROM core_nightly; CREATE SECRET secret ( TYPE s3, PROVIDER credential_chain, REGION 'ap-northeast-1' ); ATTACH 'arn:aws:s3tables:ap-northeast-1:297323088823:bucket/security- camp-table-bucket' AS s3_tables ( TYPE iceberg, secret secret, ENDPOINT_TYPE s3_tables ); SET unsafe_enable_version_guessing = true; % export AWS_ACCESS_KEY_ID=hogehoge % export AWS_SECRET_ACCESS_KEY=fugafuga % duckdb --init duckdb_init.sql https://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ> Apache Iceberg > ಡΈࠐΈ > Χλϩάͱͷ઀ଓ
  55. ϝλσʔλϨΠϠʔ https://iceberg.apache.org/spec/#overview - Apache Iceberg͕ఏڙ͢Δػೳͷ؊ - ΤϯδϯͱετϨʔδͷؒͰϝλσʔλ/ந৅ԽϨΠϠʔͱͯ͠ػೳ - ۩ମతʹ͸σʔλͱͦͷϝλσʔλɺ͓ΑͼͦΕΒ΁ͷૢ࡞Λ௥੻͢Δߏ଄ -

    Metadata fi leɺManifest listɺManifest fi leͱ͍ͬͨ̏छྨͷϑΝΠϧ͔Βߏ੒ - ΫΤϦΤϯδϯ͕Χλϩάܦ༝ͰΞΫηε͢Δ৔߹ɺσϑΥϧτͰ͸࠷৽ͷ metadata fi le͕ಡΈࠐ·ͤΒΕΔ - ͜ΕΒ͸࣮ࡍͷϑΝΠϧͱಉ͡ετϨʔδʹอ؅͞ΕΔ
  56. ϝλσʔλϑΝΠϧΛಡΜͰΈΑ͏ - ΫΤϦ͸ɺhttps://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ> Apache Iceberg > ಡ ΈࠐΈ

    > ʮϝλσʔλϑΝΠϧΛಡΜͰΈΑ͏ʯ͔Βऔಘɻ - Ͱ͖ͳ͚Ε͹ɺhttps://bit.ly/40Wiw1M > metadata-sample.json ͔Βऔಘ
  57. ϝλσʔλϑΝΠϧ͔ΒϚχϑΣετϦετ΁ https://iceberg.apache.org/spec/#overview - `current-snapshot-id` ͷ஋Λಛఆ - `snapshots` Ϧετ͔Βɺcurrent-snapshot-idͱಉ͡idΛ࣋ͭ `snapshot-id` Λ

    snapshots͔Β୳ࡧ - ↑ͷ `manifest-list` ͷ஋ = ϑΝΠϧͷύε ʢ `*.avro`ʣΛಛఆ - DuckDBͰ΍Δ৔߹ - ΫΤϦ͸ɺhttps://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ> Apache Iceberg > ಡ ΈࠐΈ >ɹʮϝλσʔλϑΝΠϧ͔ΒϚχϑΣετϦετ΁ʯɻ - Ͱ͖ͳ͚Ε͹ɺhttps://bit.ly/40Wiw1M > snap-manifest-list-sample.avro Λऔಘ –ϚχϑΣετϦετϑΝΠϧͷύεͷऔಘ D SELECT s."manifest-list" FROM read_json('s3://a33d7730-dc61-4b7d-1rerceqph8j3ubw9fj6snbyfxtqyhapn1b--table-s3/metadata/00868- b975b279-8eac-4cfd-96db-0bb85bbdc1ea.metadata.json') t CROSS JOIN UNNEST(t.snapshots) AS u(s) WHERE s."snapshot-id" = t."current-snapshot-id"; –ϚχϑΣετϦετϑΝΠϧಡΈࠐΈ D SELECT * FROM read_avro('s3://a33d7730-dc61-4b7d-1rerceqph8j3ubw9fj6snbyfxtqyhapn1b--table-s3/metadata/ snap-8236464468384760848-0-f0f21f1d-d821-4b42-b969-7cde2eef7d59.avro');
  58. - ಛఆλΠϛϯάʹ͓͚Δςʔϒϧͷ εφοϓγϣοτͱ1:1Ͱඥͮ͘Ϧ ετ - ໊લͷ௨ΓϚχϑΣετϑΝΠϧ ʢޙड़ʣͷϦετ - ଞʹϚχϑΣετϑΝΠϧͷύεɺ ύʔςΟγϣϯͷൣғ͕Θ͔Δ

    - `where`۟ͳͲͰύʔςΟγϣϯ Λࢦఆ͢Ε͹ɺ͜ͷ஋Λ΋ͱʹෆ ཁͳσʔλΛಡΈࠐ·ͳ͍ - ·ͨɺલճͷεφοϓγϣοτͱ ͷࠩ෼͕Θ͔Δ ϚχϑΣετϦετ
  59. ϚχϑΣετϦετ͔ΒϚχϑΣετϑΝΠϧ΁ https://iceberg.apache.org/spec/#overview - ֤ཁૉͷ `manifest_path` ͷ஋( `*-m0.avro`)ΛಡΈࠐΉ - ͱΓ͋͑ͣ࠷ॳͷཁૉΛಡΈࠐΜͰΈΑ͏ -

    duckdbͷ৔߹ - ΫΤϦ͸ɺhttps://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ> Apache Iceberg > ಡΈࠐΈ >ɹʮϚχϑΣετϦετ͔ΒϚχϑΣετϑΝΠϧ΁ʯɻ - Ͱ͖ͳ͚Ε͹ɺhttps://bit.ly/40Wiw1M > manifests-samle-m0.avroΛऔಘ
  60. - ↑ϚχϑΣετϑΝΠϧ - ↓ϚχϑΣετϑΝΠϧͷ data_ fi leͷ஋ - σʔλ૚ͷσʔλϑΝΠϧͷα ϒηοτΛ௥੻͠ɺ֤ϑΝΠϧ

    ͷৄࡉ΍౷ܭ৘ใΛؚΉ - ͜͜Ͱ͍͏౷ܭ৘ใ͸ΧϥϜͷ ࠷େ஋ɾ࠷খ஋ɺnull஋ͷ༗ແɺ Ϩίʔυ਺ͳͲ - ΍͸Γ`where` ۟ͰΑΈ͜Ήϑ ΝΠϧΛ੍ݶͰ͖Δ ϚχϑΣετϑΝΠϧ
  61. ϚχϑΣετϑΝΠϧ͔ΒσʔλϑΝΠϧ΁ https://iceberg.apache.org/spec/#overview - ϚχϑΣετϑΝΠϧ಺ͷ `data_ fi le`.` fi le_path`ͷ஋ΛಡΉ -

    data_ fi leΧϥϜࣗମ͸ϑΝΠϧͱ͍͏ΑΓɺ࣮ࡍͷσʔλͷύεͱͦͷϝλσ ʔλΛຒΊͨ΋ͷ - ࣮ࡍͷσʔλϑΝΠϧͷऔಘ͸࣍ͷΑ͏ʹ࣮ࢪʢDuckdb) - ΫΤϦ͸ɺhttps://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ> Apache Iceberg > ಡ ΈࠐΈ >ɹʮσʔλϑΝΠϧ΁ʯɻ - Ͱ͖ͳ͚Ε͹ɺhttps://bit.ly/40Wiw1M > data- fi le-sample.parquetΛऔಘ
  62. - ͍ͭʹੜσʔλʹ౸ୡʂ - ࣮ࡍͷσʔλͷϑΝΠϧ - AWS؂ࠪϩά - ෳ਺ͷϑΝΠϧܗࣜΛαϙʔτ: parquet, avro,

    orc - ͳͷͰϚϧνϞʔμϧ - Parquet͔͠Έͨ͜ͱͳ͍͔΋ - εΩʔϚ͸ϩά͝ͱʹҟͳΔ σʔλϑΝΠϧ
  63. ͓·͚: - ಛఆͷλΠϛϯάͷεφοϓγϣοτΛݟΔ(Time Travel) - Hidden Partitioning - ύʔςΟγϣϯΛઃఆ͍ͯ͠Δલఏ -

    ࠓճͷ৔߹ͩͱɺregion, accountId, time_dt_dayΛఆٛͯ͠ ͍Δɻtime_dt_day͸timestamp͔Β೔෇Λࣗಈܭࢉ͢Δύʔ ςΟγϣϯ஋ʹ͍ͯ͠Δɻ - σʔλར༻ऀ͸ͦΕΛҙࣝͤͣλΠϜελϯϓʢྫ: current_date() - Interval 3 day)ͱ͔͢Ε͹͍͍
  64. ॻ͖ࠐΈͷ࢓૊Έ ਤ3-2-Apache Icebergʹ͓͚Δॻ͖ࠐΈॲཧ - جຊ͸Χλϩά͕ϙΠϯτ͢ΔϝλσʔλΛ ࢖ͬͯޮ཰త׌ͭ҆શʹσʔλΛॻ͖ࠐΉ - ಡΈࠐΈͱҧ͏ͷ͸ɺຖॲཧ͝ͱʹϝλσʔ λϑΝΠϧɺεφοϓγϣοτ౳ͷϑΝΠϧ ͕ੜ੒͞ΕΔ͜ͱ

    - ͞Βʹָ؍తฒߦੑʹΑͬͯΧλϩά͕ࣔ͢ ϝλσʔλϑΝΠϧͷϙΠϯλઌ͕࠷৽ͷ΋ ͷʹͳΔ - ͜ͷࡍʹɺॳΊͯڝ߹ʢίϯϑϦΫτʣν ΣοΫΛ͢ΔɻͷͰɺAtomicੑ͕୲อ͞Ε Δ
  65. - https://bit.ly/40Wiw1M > ʮtable-create.zip Λղౚ - https://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ >

    Apache Iceberg > ॻࠐΈ > ςʔϒϧ࡞੒ - ͦͷޙɺϝλσʔλΛಡΜͰΈΑ͏ ςʔϒϧ࡞੒
  66. σʔλॻࠐΈ - https://bit.ly/40Wiw1M > ʮdata-ingest.zipΛ ղౚ - https://bit.ly/40Wiw1M > ʮ࣮ߦΫΤϦूʯ>

    Apache Iceberg > ॻࠐΈ > σʔλ஫ೖ - ͦͷޙɺϝλσʔλΛಡΜͰΈΑ͏ - snapshots, snapshot-logͳͲͷมԽʹண໨
  67. σʔλ࡟আ - ϝλσʔλͷsnapshotsͰҎԼΛ஫໨ - added-position-delete- fi les: 7 - added-delete-

    fi les: 7 - added-position-deletes: 36 - total-delete- fi les: 7 - total-position-deletes: 36
  68. σʔλ࡟আ - manifest list - https://bit.ly/40Wiw1M > delete-snap.avro Λམͱ͠ಡΜͰΈΔ -

    ಡΈํ: DuckDBͰɺSELECT * FROM read_avro('./delete-snap.avro'); - Manifest listͷσʔλ࢓༷͔Β `content` ͸ `The type of fi les tracked by the manifest, either data or delete fi les`Λࣔ͢ɻ - `int` with meaning: `0: data`, `1: deletes` - ௥Ճ͞Εͨdelete fi les ͕̓ͭͱ͍͏͜ͱ - Metadata ͱໃ६ͳ͠ https://iceberg.apache.org/spec/#manifest-lists
  69. σʔλ࡟আ - manifest fi le - https://bit.ly/40Wiw1M > delete-m0.avro Λམͱ͠ಡΜͰΈΔ

    - ಡΈํ: DuckDBͰɺSELECT * FROM read_avro('./delete-m0.avro'); - `content` ͸ `Type of content stored by the data fi le: data, equality deletes, or position deletes`Λࢦ͠ɺ`1` ͷ৔߹͕ `position delete` ʹ֘౰͢Δ - `status` ͷ 1͸ added Λҙຯ͢Δ͕ɺdelete fi le ͱͯ͠௥Ճ͞Εͨɺͱ͍ ͏͜ͱ - Manifest-listͷηΫγϣϯͰॻ͍ͨ௨ΓɺίϨ͸૝ఆͲ͓Γɻ
  70. σʔλ࡟আ - delete fi le - https://bit.ly/40Wiw1M > delete- fi

    le.parquetΛऔಘ - ಡΈํ: DuckDBͰɺSELECT * FROM read_avro('./delete- fi le.parquet'); - ࣮ࡍͷεΩʔϚΛΈΔͱɺී௨ͷcloudtrailϩάͱҟͳΔ delete fi leͷεΩʔϚʢ্ਤʣ - fi le_pathʹ͸ʢ࿦ཧ࡟আͨ͠ʣσʔλ - posʹ͸ɹ࡟আͨ͠ΠϯσοΫε
  71. σʔλ࡟আ - ࣮ࡍͷσʔλ - https://bit.ly/40Wiw1M > deleted-logically-but-physical-data- fi le.parquetɹΛऔಘ -

    ಡΈํ: DuckDBͰɺSELECT * FROM read_avro('./deleted-logically-but-physical-data- fi le.parquet'); - ࣮ࡍͷϑΝΠϧʢӈਤʣ - ΫΤϦͰ࡟আͨ͠஋͕ొ৔͢Δidx͕ɺdelete fi leʢԼਤʣͷposʹ߹க͍ͯ͠Δ - ↓࡟আΫΤϦ DELETE FROM "system_logs"."ex04_with_partition" WHERE class_uid = 3002;
  72. σʔλ࡟আ - ࣮ࡍͷσʔλ - ࣮ࡍͷϑΝΠϧʢӈਤʣ - ΫΤϦͰ࡟আͨ͠஋͕ొ৔͢Δidx͕ɺdelete fi le ʢԼਤʣͷposʹ߹க͍ͯ͠Δ

    - ↓࡟আΫΤϦ DELETE FROM "system_logs"."ex04_with_partition" WHERE class_uid = 3002; ϝλσʔλϨΠϠʔ͕࡟আΛ࿦ཧతʹ؅ཧͨ͜͠ͱ͕Θ͔Δ
  73. - ͜͜Ͱ͸αϯϓϧͷΈ - AthenaͰࡶʹcommonΧϥϜ௥Ճɻ - ϝλσʔλϑΝΠϧʹεΩʔϚ (id =1ʣ͕௥Ճ ͞Ε͍ͯΔ -

    εφοϓγϣοτࣗମ͸૿͑ͯແ͍ - εΩʔϚͷid = 0 εΩʔϚߋ৽ ALTER TABLE "system_logs"."ex04_with_partition" ADD COLUMNS (comment string)
  74. - AthenaͰࡶʹcommonΧϥϜ௥Ճɻ - ϝλσʔλϑΝΠϧʹεΩʔϚ (id =1ʣ͕ ௥Ճ͞Ε͍ͯΔ - εφοϓγϣοτࣗମ͸૿͑ͯແ͍ -

    εΩʔϚͷid = 0 εΩʔϚߋ৽ ALTER TABLE "system_logs"."ex04_with_partition" ADD COLUMNS (comment string) ϝλσʔλϨΠϠʔ͕εΩʔϚߋ৽Λ࿦ཧతʹ؅ཧͨ͜͠ͱ͕ Θ͔ΔʢSchema Evolutionʣ
  75. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  76. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  77. ຊߨٛͷείʔϓ σʔλ؅ཧཁૉ Χόʔ ۩ମతͳରԠྫ ৽نੑ/ීวੑ Data preparation ˚ ݸਓ৘ใͷϚεΫɺڠఆੈք࣌ʢUTCʣԽɺΧϥϜͷӳޠԽ ීว

    Data pipelines ✘ Data ETL ˚ Data catalogs ◦ Apache Iceberg ৽ن Data warehouses ◦ Apache Iceberg ৽ن Data governance ˚ Data architecture ✘ Data security ◦ γεςϜϦεΫධՁ ීว ຌྫ ◦: ͔ͬ͠Γղઆ + ϋϯζΦϯ ˚: ݸผ߲໨Ͱ͸ͳ͍͕ཁૉͱͯ͠αϥοͱ৮ΕΔ https://www.tableau.com/learn/articles/data-management-vs-data-governance
  78. - ۀ຿ͷதͰऔѻɾॲཧɾอ؅͢Δ৘ใ͔Βચ͍ग़͢ - ۀքελϯμʔυ͔Βચ͍ग़͢ - ϑϩʔσʔλ΍ετοΫσʔλ͔Βચ͍ग़͢ - ϑϩʔσʔλ: νϟοτɺձٞɺٞࣄ࿥ -

    ετοΫσʔλ: ϑΝΠϧαʔόʔ - Ϟμϯʁͳ΍Γํ - ϓϩμΫτͷDBεΩʔϜ͔Βચ͍ग़͢ - AIͰྨਪͤ͞Δɻศར - AIͷਖ਼֬ੑ͸͖ʹͳΔ͕ɺͦ΋ͦ΋ຊۀͰͳ͍ਓؒͷਫ਼౓΋ظ଴Ͱ͖ͳ͍ͷͰؾʹ͠ͳͯ͘Α͍ ৘ใࢿ࢈ͷચ͍ग़͠ํ
  79. - Apache IcebergͰ͋Ε͹ Catalog - DBͰ͋Ε͹show tables; - mysqldump -u

    username -p --no-data --databases prd > schema.sql ৘ใࢿ࢈ - ચ͍ग़͠ํDBฤ
  80. - ҆શੑ͕ଛͳΘΕͨ৔߹ͷӨڹ౓߹͍ - 3͔࣠Βߟ͑Δͷ͕ϝδϟʔ - 1. ػີੑ: ΞΫηεΛڐՄ͞Εͨऀ͚͕ͩ৘ใʹΞΫηεͰ͖Δ - 2.

    ׬શੑ: ਖ਼֬ੑٴͼอશੑɻ࠷ۙ͸ਅਖ਼ੑ΋ؚ·ΕΔؾ͕͢Δ - 3. Մ༻ੑ: ਖ਼౰ͳར༻ൣғͰܧଓͯ͠ΞΫηεͰ͖Δঢ়ଶ - ݸਓ৘ใ͔ - ಛఆݸਓ৘ใ͔ɺཁ഑ྀݸਓ৘ใ͔ɺػඍ৘ใ͔ ৘ใࢿ࢈ - Өڹ౓ධՁ
  81. - ؅ཧ͍ͯ͠ΔσʔλΛ࣮ࡍʹॲཧɾอ؅͢Δίϯϙʔωϯτ - ॲཧ: औѻɺม׵౳ - ߨٛͷจ຺Ͱ͸Iceberg TableɺΫΤϦΤϯδϯɺETL౳ΛؚΉ - ηΩϡϦςΟରࡦΛ࣮ࡍʹࢪ͢Օॴ

    - ʢݸਓతʹ͸ʣ৘ใࢿ࢈؅ཧΑΓ༏ઌ͢΂͖ͩͱࢥ͏ - ͳͥͳΒɺ৘ใ͸୯ͳΔ֓೦Ͱ͋ΓɺͦΕࣗମ͕Ձ஋Ͱ͸ͳ͍͔Β - ΠϯαΠτ͋Δ͍͸ΞΫγϣϯΛى͜͢ͷ͸৘ใγεςϜͱͦͷ্Ͱࣥߦ͞ΕΔۀ຿͔ͩΒ ৘ใγεςϜ
  82. - “੬ऑੑͱ͸ɺITγεςϜʹଘࡏ͢Δऑ఺Ͱ͋Γɺ߈ܸऀ͕ ߈ܸΛ੒ޭͤ͞ΔͨΊʹѱ༻͢ΔՄೳੑͷ͋Δ΋ͷͰ͢ɻ ੬ऑੑ͸ɺγεςϜͷܽؕɺҙਤ͞Εͳ͍ػೳɺ·ͨ͸ ϢʔβʔͷաࣦʹΑͬͯൃੜ͠ɺ߈ܸऀ͸࠷ऴతͳ໨తΛ ୡ੒͢ΔͨΊʹɺ͜ΕΒͷ͏ͪҰͭ·ͨ͸ෳ਺Λ૊Έ߹Θ ͤͯѱ༻ΛࢼΈ·͢ɻ” ੬ऑੑͱ͸ by NCSC

    https://www.ncsc.gov.uk/collection/vulnerability-management/understanding-vulnerabilities ຊߨٛͰ͸ɺʮҙਤ͞Εͨػೳʯ΋ʮϢʔβʔͷաࣦʯ΋جຊɺ ࣄલ૝ఆ͞Εͳ͔ͬͨʮܽؕʯͰ͋Δલఏͱͯ͠ѻ͏ɻͦ͠ ͯɺʮܽؕʯͰ͋Δͱ͍͏͜ͱ͸ TobeͱAsIsͷDiffͰ͋Δ
  83. - ʮܽؕʯͰ͋Δͱ͍͏͜ͱ͸ TobeͱAsIsͷDiffͰ͋ Δ - Q: ToBeͱ͸ʁ - A: ඪ४ɻϕεϓϥ

    - ʮܽؕʯͰ͋Δͱ͍͏͜ͱ͸ ཧ૝ͱݱঢ়ͷDiffͰ͋Δ ੬ऑੑͷચ͍ग़͠ํ - ToBeͷચ͍ग़͠ https://www.ncsc.gov.uk/collection/vulnerability-management/understanding-vulnerabilities
  84. - Ұൠత: CIS Benchmarks - Ϋϥ΢υಛԽ: CSAΨΠμϯε - ϕϯμʔಛԽ: AWS

    Security Baseline - ۀքಛԽ: FISC ۚ༥ػؔ౳ίϯϐϡʔλγεςϜͷ҆શରࡦج४ - ߦ੓: ۚ༥෼໺ʹ͓͚ΔαΠόʔηΩϡϦςΟʹؔ͢ΔΨΠυϥΠϯ - ଞ: ࣗࣾάϧʔϓ༻ ੬ऑੑͷચ͍ग़͠ํ - ඪ४ྫ
  85. ϦεΫධՁ - ϦεΫ෼ੳ: ϦεΫ = ੬ऑੑ x ڴҖ - Өڹ౓ͱϦεΫʢՄೳੑʣ͔ΒϦε

    ΫΛӈਤΛ࢖ͬͯධՁ - ྫ: Өڹ౓͕ߴ͘ɺϦεΫ͕௿͍৔ ߹ɺอݥ౳ͷϦεΫҠస͕ߟ͑Β ΕΔ ڴҖΠϯςϦδΣϯεͷڭՊॻ p.375
  86. - Πϯτϩ: 10min (08:30~08:40) - ຊߨٛͷഎܠ: 15min (08:40~08:55) - σʔλ؅ཧ:

    40min (08:55~09:35) - ٳܜ݉ηοτΞοϓϔϧϓ: 15min (09:35~09:50) - σʔλ΢ΣΞϋ΢ε: 40min (09:50~10:30) - Apache Iceberg: 50min (10:30~11:20) - ٳܜ: 10min (11:20~11:30) - γεςϜϦεΫΞηεϝϯτ: 50min (11:30~12:20) - ·ͱΊ: 5min (12:20~12:25) λΠϜςʔϒϧ
  87. - ඪ४తͳΧϦΩϡϥϜͳͲଘࡏ͠ͳ͍ - ಡΈ෺ΛࢭΊͯɺ࣮ફ͋ΔͷΈ - ίʔυΛॻ͚ - ίʔυΛյͤ - ஌ࣝΛڞ༗ͤΑ

    - ίϛϡχέʔγϣϯΛຏ͚ - ϋʔυϫʔΫͯ͠ɺͨ·ʹࣦഊ͠Α͏ - ʢͰ͖Δ͚ͩʣָ؍తͰ͍Α͏ - ॿ͚ΛٻΊΑ͏ So, you want to work in security? https://www.freecodecamp.org/news/so-you-want-to-work-in-security-bc6c10157d23/ ”Parisa Tabriz ͸ΞϝϦΧਓͷΤϯδχΞɺίϯϐϡʔλ ηΩϡϦςΟͷઐ໳ՈͰ͋Γɺ Google Ͱ Google Chrome ͷ෭ࣾ௕݉θωϥϧ ϚωʔδϟʔΛ຿ΊΔװ෦Ͱ͢ɻ൴ঁ͸ઐ ໳తʹ͸ʮηΩϡϦςΟϓϦϯηεʯ”by https://en.wikipedia.org/wiki/Parisa_Tabriz