Slide 1

Slide 1 text

1 ϓϩμΫτ෼ੳαʔϏεͷ ௒ߴ଎ूܭϨΠϠʔͱͯ͠ͷTiDB גࣜձࣾϓϨΠυɹখ઒ ୓໵ ɹɹʛɹɹ© PLAID Inc. 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ

Slide 2

Slide 2 text

ɹɹʛɹɹ© 2019 PLAID Inc. 2 ࣗݾ঺հ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɹɹʛɹɹ© PLAID Inc. খ઒ ୓໵ Lead Product Engineer @ 2009೥ʹϠϑʔʹ৽ଔೖࣾ͠ɺΤϯδχΞͱͯ͠޿ࠂγεςϜ΍toCαʔϏεͷ։ൃɾӡ༻ɾϚ ωʔδϝϯτ౳ʹैࣄɻ ͦͷޙ2019೥12݄ʹϓϨΠυʹೖࣾ͠ɺϢʔβʔ෼ੳͷػೳͰ͋ΔʮKARTE Insightʯ΍ ʮKARTE LiveʯΛத৺ʹϓϩμΫτ։ൃΛߦͳ͍ɺݱࡏ͸࣍ੈ୅ܕͷϓϩμΫτ෼ੳSaaS ʮWicleʯͷ্ཱͪ͛΋ߦͳ͍ͬͯΔɻ

Slide 3

Slide 3 text

3 ɹɹʛɹɹ© PLAID Inc. ձࣾɾαʔϏε঺հ ෼ੳج൫ͷΞʔΩςΫνϟͱ՝୊ײ TiDBͷධՁϙΠϯτͱݕূߏ੒ νϡʔχϯάϙΠϯτ ૯߹తͳධՁͱࠓޙ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ΞδΣϯμ 👉

Slide 4

Slide 4 text

ɹɹʛɹɹ© PLAID Inc. 4 גࣜձࣾϓϨΠυʹ͍ͭͯ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ גࣜձࣾϓϨΠυ ౦ژ౎தԝ۠ۜ࠲6-10-1 GINZA SIX 10F ઃཱɿ2011೥10݄ ैۀһɿ282໊ ※2023೥3݄຤࣌఺

Slide 5

Slide 5 text

5 ɹɹʛɹɹ© PLAID Inc. PLAIDͷ໨ࢦ͢΋ͷ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ”Ϛϧννϟωϧ × 1st Party Customer Data × ϦΞϧ λΠϜ” ΛϫϯετοϓͰఏڙ͢Δσʔλ׆༻ͷ৽͍͠ ϓϥοτϑΥʔϜ

Slide 6

Slide 6 text

KARTEʹ͍ͭͯ 6 ɹɹʛɹɹ© PLAID Inc. 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ֬ೝ͢Δ جຊαʔϏε΍͝ར༻ํ๏Λ͝঺հ͠·͢ɻ ͓ಘͳಛయ΍໾ཱͭ৘ใ͕ຬࡌͰ͢ɻ ॳΊͯͷํ΁ いますぐ確認する UIデザイナーだけどなかなか上達しない、今 よりスキルアップしたいという⽅必読です。 UIデザイナーが知っておくべき 7つのデザインルール DESIGN RULES » CHECK ずっと使えるアイテムだけを揃えました。 この機会をお⾒逃しなく。 絶対、 欲しい! ౙͷओ໾ɺ Ξ΢λʔ COLLECTION OUTER 検索条件を少し変更するだけで、あなたの理 想の物件に出会える可能性が⾼くなります。 条件を変えて検索してみてください。 ご希望の物件は ⾒つかりませんでしたか? 閉じる ҰਓҰਓʹ߹Θͤͨ ސ٬ମݧΛఏڙ WebαΠτͷ๚໰ऀͷߦಈΛ
 ސ٬͝ͱʹϦΞϧλΠϜʹղੳ $9 ސ٬ମݧ ϓϥοτϑΥʔϜ

Slide 7

Slide 7 text

Stats of KARTE 7 ɹɹʛɹɹ© PLAID Inc. 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ σʔλن໛΋രൃతʹ૿Ճ 199 ԯUU ྦྷܭϢʔβʔ਺ ※1 0.x ඵ/ղੳ ղੳ଎౓ 134,000 over ඵؒτϥοΩϯά਺ ※3 2.59 ஹԁ ೥ؒղੳྲྀ௨ֹۚ ※2 ※1 ϩʔϯνʙ2023೥2݄·ͰͷϢχʔΫϢʔβʔ਺ͷ࣮੷ ※2 ECྖҬʹ͓͚Δղੳྲྀ௨ֹۚɻ2022೥3݄ʙ2023೥2݄·Ͱͷ୯೥ͷ࣮੷ 
 ※3 ӾཡɺΫϦοΫɺߪೖͳͲKARTEͰܭଌ͍ͯ͠ΔϢʔβʔͷશΠϕϯτ͕ ର৅ɻϩʔϯνʙ2023೥3݄·Ͱʹ͓͚Δ࠷େ஋ 8 + PB ஝ੵσʔλྔ 180 + PB ݄ؒղੳσʔλྔ

Slide 8

Slide 8 text

KARTEͷ෼ੳػೳ 8 ɹɹʛɹɹ© PLAID Inc. 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ KARTE Insightͷओͳػೳ

Slide 9

Slide 9 text

Wicle 9 ɹɹʛɹɹ© PLAID Inc. 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ IUUQTXJDMFJP

Slide 10

Slide 10 text

10 ɹɹʛɹɹ© PLAID Inc. ձࣾɾαʔϏε঺հ ෼ੳج൫ͷΞʔΩςΫνϟͱ՝୊ײ TiDBͷධՁϙΠϯτͱݕূߏ੒ νϡʔχϯάϙΠϯτ ૯߹తͳධՁͱࠓޙ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ΞδΣϯμ 👉

Slide 11

Slide 11 text

11 ɹɹʛɹɹ© PLAID Inc. ΞʔΩςΫνϟͱ՝୊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ˞શମͷΞʔΩςΫνϟ͔ΒҰ෦ൈ͖ग़͠؆ུԽ σʔλ෼ੳपลͷΞʔΩςΫνϟ֓ཁ

Slide 12

Slide 12 text

12 ɹɹʛɹɹ© PLAID Inc. ΞʔΩςΫνϟͱ՝୊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɾ෼ੳػೳͰ͸BigQueryΛϝΠϯDBͱͯ͠ར༻ ɾϚϧνςφϯτߏ଄Ͱɺଟ༷ͳσʔλಛੑ(਺ɾ࣭)ΛҰݩͰѻ͏ ɾେྔͷϨίʔυ਺Λ࣋ͭimmutableͳΠϕϯτσʔλͱmutable ͳಛੑͰେྔͷߋ৽ॲཧ͕ඞཁͳϢʔβʔσʔλ ɾͦΕͧΕͷσʔλΛ૊Έ߹Θͤͨର࿩తͳݕࡧɾՄࢹԽػೳ ɾΠϕϯτσʔλ͸ࣗ༝౓ͷ͋ΔεΩʔϚϨεσʔλͰ͋ΒΏΔ ϑΟʔϧυʹରԠ

Slide 13

Slide 13 text

13 ɹɹʛɹɹ© PLAID Inc. ΞʔΩςΫνϟͱ՝୊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ

Slide 14

Slide 14 text

14 ɹɹʛɹɹ© PLAID Inc. ΞʔΩςΫνϟͱ՝୊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ 0.xඵҎ಺ͷΦʔμʔͰಈ࡞͢ΔΠϯλϥΫςΟϒͳσʔλ෼ੳମݧΛ࣮ݱ͍ͨ͠ ɾBigQueryͰ͸਺ेTBҎ্ͷن໛Ͱͷσʔλूܭॲཧʹ΋εέʔϧ͢Δ ɾҰํͰΞϯίϯτϩʔϥϒϧͳ෦෼΋ଟ͘User facingͳ૚ͷDBͱͯ͠ͷར༻ʹ͸޲͔ͳ͍ଆ໘͸ଟ͍ ɾϦιʔεΛ૬౰ྔ֬อ͠਺ඵ͔Βे਺ඵϨϕϧͷ଎౓ײ͸࣮ݱͰ͖Δ͕࠷ߴͷମݧͱ͸·ͩݴ͑ͳ͍ ɾσʔλ෼ੳͷ଴ͪ࣌ؒ͸࡞ۀίετͱϞνϕʔγϣϯʹଟେͳӨڹΛ༩͑Δ ɾ࠷ߴͷମݧͰ෼ੳͰ͖Δ؀ڥΛ࡞Δ͜ͱ͕ɺΫϥΠΞϯτ͕ϢʔβʔΛ஌Δ͜ͱɺͻ͍ͯ͸Ϣʔβʔʹ࠷ దͳମݧ ( CX ) Λಧ͚Δ͜ͱʹͭͳ͕Δ ɾ0.xඵҎ಺Ͱ෼ੳॲཧΛࡹ͚Δ͜ͱΛ໨ࢦ͢

Slide 15

Slide 15 text

15 ɹɹʛɹɹ© PLAID Inc. ΞʔΩςΫνϟͱ՝୊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ͦͷҝͷΠϯλϥΫςΟϒϨΠϠʔ༻ͷDBΛ୳ࡧ ɾOLAPಛԽͷσʔλϕʔεͷબ୒ࢶ΋͍͔ͭ͋͘Δ ( Druid, Clickhouse, PinotͳͲ) ɾҰํͰϢʔεέʔεͷ෯͕޿͘ɺσʔλ௥Ճ͚ͩͰແ͘ߋ৽ॲཧ΋ߟྀͨ͠ΞʔΩςΫνϟͷγϯϓϧ͞΍ߦ ࢦ޲ͱྻࢦ޲Λ૊Έ߹ΘͤͨΫΤϦॲཧͷඞཁੑ΋Ұఆ͋ΔͨΊHTAPσʔλϕʔε΋ݕ౼ ɾTiDBҎ֎ʹ΋AlloyDB΍Unistoreͱ͍͏બ୒ࢶ΋͋Δ

Slide 16

Slide 16 text

16 ɹɹʛɹɹ© PLAID Inc. ձࣾɾαʔϏε঺հ ෼ੳج൫ͷΞʔΩςΫνϟͱ՝୊ײ TiDBͷධՁϙΠϯτͱݕূߏ੒ νϡʔχϯάϙΠϯτ ૯߹తͳධՁͱࠓޙ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ΞδΣϯμ 👉

Slide 17

Slide 17 text

17 ɹɹʛɹɹ© PLAID Inc. TiDB΁ͷظ଴஋ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ TiDBݕূͷૂ͍ͱண໨ͨ͠ϙΠϯτ TiDBͷίϯηϓτͰ΋͋ΔɺOLTP/OLAPཱ྆͢ΔDBΛ΋ͬͯΞʔΩςΫνϟΛSimplifyͰ͖Δύλʔϯ͸ັྗɻ ·ͣେྔσʔλͱεΩʔϚϨεͳੑ࣭ʹରͯ͠෼ੳಛԽܕDBʹ͋Δఔ౓Ͱ΋ର߅Ͱ͖Δੑೳ͕͋Ε͹ ཧ૝తͳ׆༻έʔεͷՄೳੑ͕ੜ·ΕΔͨΊɺOLAPͷੑೳ͕ୈҰʹؾʹͳΔϙΠϯτͩͬͨɻ TiDBʹ͸ ɾMySQLޓ׵Λ࣮ݱ͠ΫΤϦΦϓςΟϚΠζΛ୲͏TiDB ɾߦࢦ޲ॲཧΛ୲͏TiKV ɾྻࢦ޲ॲཧΛ୲͏TiFlash ͷ3͕ͭओཁͳίϯϙʔωϯτ ಛʹOLAPͰඞཁෆՄܽͳʮྻࢦ޲ॲཧΛ୲͏TiFlashʯ Λॏ఺తʹ׆༻

Slide 18

Slide 18 text

18 ɹɹʛɹɹ© PLAID Inc. TiDB΁ͷظ଴஋ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ TiFlash ɾྻࢦ޲ܕετϨʔδίϯϙʔωϯτ ɾTiDB͕TiFlashͰॲཧ͢΂͖͔ίετϕʔε/ϧʔϧϕʔεͰΦϓςΟϚΠζ 
 ɾTiKVಉ༷ʹɺTiFlashͷ֤ϊʔυ΋Coprocessorͱͯ͠ಈ࡞ͤͨ͞ΓMPP workerͱͯ͠ॲཧͷେ෦෼ΛPushdown͞ ͤΔ͜ͱ͕Ͱ͖Δ ɾTiKV͔ΒRaft learnerϓϩτίϧͰTiFlashʹ΋MVCCԼͰҰ؏ੑΛอͬͯσʔλ͕࿈ܞ͞ΕΔ ɾҰ؏ੑΛߴ͘อͭঢ়ଶ͕σϑΥ͕ͩɺͦͷҰ؏ੑΛ٘ਜ਼ʹͯ͠ύϑΥʔϚϯεΛ޲্ͤ͞ΔΦϓγϣϯͳͲ΋͋Δ

Slide 19

Slide 19 text

19 ɹɹʛɹɹ© PLAID Inc. TiDB΁ͷظ଴஋ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɾOSSͰ͋Δ ɾTiDB֤ίϯϙʔωϯτ͸ಠཱతʹ։ൃ͞Ε͍ͯͯɺબ୒తʹಋೖ֦͠ுͰ͖Δߏ੒ͳ͕ΒγϯϓϧͳΦϖϨʔγϣ ϯͰ࣮ݱͰ͖ΔϞμϯͳ࡞Γ ɹɾTiDBΛ௨ͯ͠ɺTiKV/TiFlashΛಁաతʹ࢖͑Δ ɾਫฏεέʔϧੑ͕ॏࢹ͞Ε͍ͯͯɺଟ༷ͳ͓٬͞·ͷେྔͷσʔλΛѻ͏ϚϧνςφϯτܕαʔϏεͷDBͱͯ͠΋ े෼࢖͑ΔՄೳੑΛΞʔΩςΫνϟʹײͨ͡ ɾPingCAPࣾʹΑΔϑϧϚωʔδυܕαʔϏεɾαϙʔτͷଘࡏ ɾ౰ॳJSON_EXTRACTͳͲ࢖༻͍ͨ͠JSONؔ਺͕TiFlashͰαϙʔτ͕ແ͘Feature requestͱͳ͕ͬͨͦͷ࣍ͷ verͰରԠ͞Εͨ։ൃαΠΫϧͷ଎͞ TiDBͷݕূΛ։࢝͠Α͏ͱߟ͑ͨϙΠϯτ

Slide 20

Slide 20 text

20 ɹɹʛɹɹ© PLAID Inc. TiDB΁ͷظ଴஋ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɾϢʔβʔσʔλ͸mutableͳಛੑ͕ͩɺେྔʹൃੜ͢ΔΠϕϯτσʔλ͸immutable͕ݪଇ ɾ͜ͷಛੑ͕͋ΔͨΊɺྻࢦ޲ετϨʔδଆͰ΋σʔλߋ৽଎౓Λҙࣝͨ͠ΞʔΩςΫνϟʹͳ͍ͬͯΔTiDBͰ͸ ଞͷOLAPಛԽDBʹରͯ͠ಡΈऔΓͷϨΠςϯγʔͳͲ͕τϨʔυΦϑʹͳ͍ͬͯΔͷͰ͸ʁͱ͍͏఺ ҰํͰݒ೦ࣄ߲΋ IUUQTXXXQJOHDBQDPNCMPHUIFMPOHFYQFEJUJPOUPXBSENBLJOHBSFBMUJNFIUBQEBUBCBTF

Slide 21

Slide 21 text

21 ɹɹʛɹɹ© PLAID Inc. TiDBݕূͷߏ੒ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ˞όʔδϣϯ͸ݱࡏ͸WΛ࢖༻ TiDBݕূͷߏ੒ ౰໘ͷධՁϙΠϯτ͸OLAPͷੑೳ΍ͦͷӡ༻ͷ༰қੑʹͳΔҝɺWriteଆͷվमͱධՁ͸޻਺ͷ؍఺͔Β ΋είʔϓ͔Β֎ͨ͠ɻ ͦͷͨΊɺBigQueryΛσʔλιʔεͱͯ͠पظతʹσʔλΛಉظ͠TiDBͰOLAPΛ࣮ߦ͢ΔܗΛऔ͍ͬͯΔɻ ※ϕετͰ͸ແ͍΋ͷͷɺαʔϏεͷಛੑ্σʔλͷ઱౓Λ͋Δఔ౓མͱ͢͜ͱ͕ڐ༰Ͱ͖ΔҝऔΕΔߏ੒

Slide 22

Slide 22 text

22 ɹɹʛɹɹ© PLAID Inc. TiDBݕূͷߏ੒ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ TiDBݕূͷߏ੒

Slide 23

Slide 23 text

23 ɹɹʛɹɹ© PLAID Inc. ձࣾɾαʔϏε঺հ ෼ੳج൫ͷΞʔΩςΫνϟͱ՝୊ײ TiDBͷධՁϙΠϯτͱݕূߏ੒ νϡʔχϯάϙΠϯτ ૯߹తͳධՁͱࠓޙ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ΞδΣϯμ 👉

Slide 24

Slide 24 text

24 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ νϡʔχϯάϙΠϯτ - ςʔϒϧεΩʔϚ JSON_EXTRACT౳ͷؔ਺͕TiFlash pushdownͰαϙʔτ͞Εͨ΋ͷͷɺ ϥϑʹେྔͷJSONσʔλΛύʔεͤ͞ΔΫΤϦΛ࣮ߦͯ͠΋TiFlashͷCPUෛՙ͕ߴ͘ΫΤϦ୯ମͰ͸͋Δఔ౓ͷ଎౓ ͸ग़Δ΋ͷͷฒྻ਺͕ߴ·Δ͕ҰؾʹϨΠςϯγʔ͕ߴ·ͬͯ͠·ͬͨɻ scale-out/upͰղܾͰ͖Δ໘΋͋Δ͕ɺίετߏ଄ΛΑΓ࠷దԽ͍ͨ͠ͱߟ͑ͨɻ ૉ௚ͳΞϓϩʔνͱͯ͠ΧϥϜͷ෼ׂ͢Δߏ੒ʹஈ֊తʹมߋɻεΩʔϚϨεͳσʔλͰ͸͋Δ͕ɺϢʔβʔ͕ຖ೔ຖ ճࢀর͢Δॏཁͳσʔλ͸ݶΒΕΔੑ࣭΋͋Δҝɺ͋Β͔͡ΊॏཁͳϑΟʔϧυΛఆٛ͠ΧϥϜԽɻͦΕҎ֎ͷϑΟʔ ϧυ͸JSONΛಡΈʹߦ͘ɻ

Slide 25

Slide 25 text

25 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ νϡʔχϯάϙΠϯτ - ςʔϒϧεΩʔϚ(ύʔςΟγϣχϯά) ɾTiFlashͰ͸ςʔϒϧͷಡΈऔΓ͸ύʔςΟγϣϯͷ୯ҐͰ෼཭Ͱ͖Δ ɾద੾ͳύʔςΟγϣχϯά͕ൈຊతͳΫΤϦෛՙͷܰݮʹ ɾҰํͰ෼ׂ୯Ґ͕ࡉ͔͚Ε͹ࡉ͔͍΄ͲύϑΥʔϚϯε্͕͕Δ༁Ͱ͸ແ͘ɺύʔςΟγϣϯ؅ཧͷΦʔόʔϔου͕ ߴ͘ͳΓ͗͢ΔՄೳੑ͕͋Δҝɺσʔλͷಛੑʹ߹Θͤͨߏ੒͕ඞཁɻʢ·ͩฐࣾ͸νϡʔχϯά్தஈ֊ʣ ɾ(*Request) BigQuery΍SnowflakeͷClustering keyɺRedshiftͷSort keyͷ༷ͳܗͰσʔλͷϨΠΞ΢τΛಡΈऔ Γॲཧʹ߹Θͤͯ࠷దԽ͢Δ༷ͳػೳ͕͋Δͱ͞ΒͳΔύϑΥʔϚϯεͱ؅ཧੑͷ޲্͕ݟࠐΊͦ͏

Slide 26

Slide 26 text

26 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ v6ܥͷஈ֊Ͱ͸·ͩ࠷దԽ͞Ε͍ͯͳ͍ύϥϝʔλΛઃఆ͍ͯ͠Δ͜ͱ΋͕͋ͬͨ ݱࡏv7.1·Ͱver upͯ͠ຆͲͷύϥϝʔλ͸͋·ΓखΛՃ͑ͣͱ΋໰୊ແ͘ɺઃఆ͍ͯ͠Δͷ͸ҎԼ͚ͩʹ͍ͯ͠Δɻ tiflash_fastscan=ON; tidb_txn_mode=optimistic; tidb_mem_quota_query=-1; tidb_opt_force_inline_cte=ON; νϡʔχϯάϙΠϯτ - ֤छύϥϝʔλ

Slide 27

Slide 27 text

27 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ tiflash_fastscan: https://docs.pingcap.com/tidb/stable/use-fastscan TiFlashͷFastScanΛ༗ޮʹ͢Δɻ 
 ࣅͨػೳͱͯ͠Stale read͕͋Δ͕ɺͪ͜Β͸ڥքʹ͢Δ࣌ؒΛઃఆͳͲ͸ͤͣεΩϟϯ࣌ͷσʔλҰ؏ੑʹؔ͢ΔҰ෦ॲཧࣗ ମΛεΩοϓͯ͠σʔλΛऔಘ͢ΔػೳɻεΩοϓ͞ΕΔҝɺͦͷ࣌఺Ͱॻ͖ࠐ·Εͨσʔλɺͱ͍͏݁Ռʹ͸ͳΔ͕ͦΕͰ໰ ୊ແ͍έʔεͰ͸εϧʔϓοτ͕޲্͢Δɻ 
 ݱ࣌఺Ͱ͸Late materializationػೳͱ͸τϨʔυΦϑͰ྆ํಉ࣌ʹ࢖͏͜ͱ͸࢓༷ͱͯ͠ෆՄೳͱͷ͜ͱɻͦͷͨΊonʹ͢Δ͜ ͱͰύϑΥʔϚϯε͕མͪΔΫΤϦ΋͋Δɻ tidb_txn_mode: https://docs.pingcap.com/tidb/stable/optimistic-transaction ָ؍తτϥϯβΫγϣϯϞʔυΛ༗ޮʹ͢Δɻ ࠓճͷέʔεͰ͸όονॲཧతʹσʔλΛॻ͖ࠐΉྲྀΕͳͷͱɺϝΠϯͷΠϕϯτσʔλ͕immutableͳಛੑͳҝߦϩοΫ͸ຆ ͲͷෆཁͳͨΊॻ͖ࠐΈ଎౓Λ্͛ΔͨΊʹઃఆɻ tidb_mem_quota_query / tidb_opt_force_inline_cte ͋͑ͯΫΤϦͷϝϞϦ࢖༻ྔ͕େ͖͘͢Δέʔε΋͋ΓɺαΠζ੍ݶ؇࿨ͱ࢖༻ྔܰݮͷͨΊʹઃఆɻ νϡʔχϯάϙΠϯτ - ֤छύϥϝʔλ

Slide 28

Slide 28 text

28 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ νϡʔχϯάϙΠϯτ - ΫΤϦ جຊతʹ͸ΫΤϦͰ͸ओʹઌʹڍ͛ͨςʔϒϧεΩʔϚͷνϡʔχϯάʹ߹ΘͤྻɾύʔςΟγϣϯͷબ୒͕ద੾ͳߦΘ Ε༨ܭͳεΩϟϯ͕ͳ͍͔ɺద੾ͳengineʹpushdown͞Ε͍ͯΔ͔ͳͲΛ࣮ߦܭըΛݩʹ֬ೝ͍ͯͬͨ͠ɻ TiDB CloudͷMonitoringػೳͰ΋Slow Query΍ͦͷ࣮ߦܭըɺϝϞϦ࢖༻ྔɺࡉ෼Խ͞Ε࣮ͨߦ࣌ؒ౳͕֬ೝՄೳɻ ʮద੾ͳengineʹpushdown͞Ε͍ͯΔ͔ʯ͸ɺΫΤϦͷॻ͖ํ͔Βύϥϝʔλɺςʔϒϧߏ੒ɺ౷ܭ৘ใͷঢ়گͳͲʹ ΋ΑΓɺ࣮ߦܭըͷಡΈऔΓ΋ಠࣗͷߟ͑ํ͕ඞཁͳ෦෼΋͋ΓΩϟονΞοϓʹ͸͕͔͔࣌ؒͬͨɻ ͦ͜͸υΩϡϝϯτࣗମ͸๛෋Ͱ͋Δͷͱɺ࣮ߦܭըͷධՁ΍࠷దͳ࣮ߦϓϥϯΛऔΔҝͷύϥϝʔλͷϨίϝϯυɺ OOM΁ͷରॲ౳࣮ࡍͷΫΤϦΛҰॹʹ֬ೝ͠ͳ͕Βαϙʔτͯ͠΋Β͑ɺϚΠάϨʔγϣϯͰ͸ແ͘୳ࡧతͳධՁͩͬ ͨͷ΋͋Γඇৗʹॿ͔ͬͨɻ ·ͨɺؾʹͳ͍ͬͯͨϙΠϯτͩͬͨTiKVͱTiFlashΛ૊Έ߹ΘͤͨΫΤϦʹ͍ͭͯ΋ྑ޷ͳύϑΥʔϚϯεΛग़ͨ͠ɻ

Slide 29

Slide 29 text

29 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ EXPLAIN SELECT event.*, user.* FROM event_xxx event JOIN usersummary_xxx user USING (user_hash) WHERE view_uri_url LIKE '%hoge%' ORDER BY sync_date DESC LIMIT 10 avg 6,486ms

Slide 30

Slide 30 text

30 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ EXPLAIN WITH filtered_events AS ( SELECT event_hash, user_hash FROM event_xxx event WHERE view_uri_url LIKE '%hoge%' ORDER BY sync_date DESC LIMIT 10 ) SELECT event.*, user.* FROM filtered_events JOIN event_xxx event ON filtered_events.event_hash = event.event_hash JOIN usersummary_xxx user ON filtered_events.user_hash = user.user_hash ORDER BY 
 sync_date DESC avg 682ms

Slide 31

Slide 31 text

31 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ νϡʔχϯάϙΠϯτ - ͦͷଞ ɾͦ͜·Ͱ଎౓͕ग़ͳ͍ΫΤϦ͕͋ΓɺαϙʔτΤϯδχΞͷํʹϓϩϑΝΠϧΛऔͬͯ΋Βͬͨͱ͜ΖTiFlash୯ମͷ ଎౓͸ѱ͘ແ͍΋ͷͷ࠷ऴతʹ݁Ռ͕TiDBʹ౉͞ΕϨεϙϯε͢Δ෦෼Ͱॲཧͷ଺ཹ͕ى͖͍ͯΔͱ͍͏͜ͱ͕͋ͬͨ ɹɾσʔλͷಛੑ΍ߏ੒ʹదͨ͠ύϥϝʔλΛఏҊ௖͖ҰఆͷޮՌ͕͋ͬͨ ɹɾར༻ऀ໨ઢͰ͸ݪҼͷ੾Γ෼͚͸೉͔ͬͨ͠ͷ͸೉఺͕ͩɺαϙʔτʹΑΓςϯϙྑ͘ڀ໌Ͱ͖ͨ ɾʮALTER TABLE ... COMPACT TIFLASH REPLICAʯʹΑΓTiFlashͷ࡟আ͞ΕͨϨίʔυͷ෺ཧ࡟আͳͲετϨʔδͷ ࠷దԽ͕ߦΘΕΔ͕ɺݕূԾఆͰ͜ͷ࣮ߦલޙͰ1 - 2ׂఔ౓ΫΤϦͷ଎౓͕վળ͞Εͨ ɹɾ಺෦తʹपظతʹࣗಈ࣮ߦ͞Ε͍ͯΔ͕ɺධՁݕূաఔͰ͸ҙࣝతʹ࣮ߦ͢Δ͜ͱͰΑΓྑ޷ͳੑೳ͕ग़ͨ

Slide 32

Slide 32 text

32 ɹɹʛɹɹ© PLAID Inc. νϡʔχϯάϙΠϯτ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ νϡʔχϯάϙΠϯτ - ͦͷଞ ɾ௕ظؒඍྔͳ͕ΒTiDBͷಛఆϊʔυͷCPU͕ফඅ͞Εଓ͚Δͱ͍͏ঢ়ଶ͕͋ΓௐࠪΛґཔͨ͠ͱ͜ΖANALYZE TABLE͕಺෦తʹࣗಈͰ࣮ߦ͞ΕΔதͰɺϨίʔυ͕0͔͘͝গྔͷύʔςΟγϣϯ͕ଘࡏ͢Δͱ౷ܭ৘ใͷߋ৽ॲཧ͕ ࣦഊͦ͠ͷϦτϥΠॲཧ͕௕ظԽ͍ͯ͠Δɺ͔ͭखಈͰͷ࣮ߦΛߦΘͳ͍ͱ౷ܭ৘ใ͕ߋ৽͞Εͳ͍͜ͱ͕͋ͬͨ ɹɾݪҼڀ໌ʹਚྗ௖͖ɺى͖͍ͯͨ͜ͱ΋ৄࡉΛղઆͯ͠௖͖ॿ͔ͬͨ ɹɾ಺෦తͳAuto analyzeͷ࢓༷͕བྷΉΤοδέʔεͰ͸͋Δͱͷ͜ͱ͕ͩɺࠓޙվળ͸ر๬͍ͨ͠ϙΠϯτ

Slide 33

Slide 33 text

33 ɹɹʛɹɹ© PLAID Inc. ձࣾɾαʔϏε঺հ ෼ੳج൫ͷΞʔΩςΫνϟͱ՝୊ײ TiDBͷධՁϙΠϯτͱݕূߏ੒ νϡʔχϯάϙΠϯτ ૯߹తͳධՁͱࠓޙ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ΞδΣϯμ 👉

Slide 34

Slide 34 text

34 ɹɹʛɹɹ© PLAID Inc. ϨΠςϯγʔͷൺֱ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɾಉҰͷσʔλ͕ಘΒΕΔBQ/TiDBͦΕͧΕͷ σʔλऔಘʹؔ͢Δ୅දతͳػೳͷE2EͷϨΠ ςϯγʔͷൺֱ 
 ɾBigQueryଆͰ΋े෼ͳεϩοτ͕͋Δঢ়ଶ ԼΛҙ͍ࣝͯ͠Δ΋ͷͷ׬શʹϑΣΞͳൺֱ͸ ೉͍͠ҝΠϝʔδϨϕϧ ɾTiDBଆ͸νϡʔχϯά༨஍΋·ͩ࢒͍ͯ͠Δ ΋ͷͷಉ౳ͷσʔλྔΛࡹ͘ػೳͰେ͖ͳ଎౓ վળ͕Ͱ͖͍ͯΔ ݱஈ֊ͰͷBQ/TiDBͦΕͧΕͷE2EͷϨΠςϯγʔͷൺֱ

Slide 35

Slide 35 text

35 ɹɹʛɹɹ© PLAID Inc. TiDB vs Pinot vs Rockset 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ɾTiDB / Apache Pinot / Rockset ͷ؆қతͳOLAPੑೳൺֱ ɾwikipediaͷެ։σʔληοτͷҰ෦(໿1000ສߦ)Λ࢖༻ ɾ୯७ͳΧ΢ϯτ͔Β࣌ܥྻΧ΢ϯτɺߴ/௿ΧʔσΟφϦςΟΧϥϜ ͷfacetܭࢉͳͲͷΫΤϦͷฏۉϨΠςϯγʔΛܭଌ OLAP query latency Pinot͸௿ϨΠςϯγʔ͕ಛ௃ͷOLAPʹಛԽͨ͠ྻࢦ޲DBɻඇৗʹ ߴύϑΥʔϚϯε͕ͩɺσʔλಛੑʹ߹Θͤͨηάϝϯτνϡʔχϯ ά౳΋ඞཁͰӡ༻ʹ͸ਓతίετ͕͔ͳΓ͔͔Δ Rockset͸Rockset͕ࣾఏڙ͢ΔOLAPʹಛԽͨ͠ϑϧϚωʔδυܕ ͷDBɻߦ/ྻࢦ޲྆ํͷಛੑΛ࣋ͪɺεϚʔτεΩʔϚͱ͍͏ػೳͰ εΩʔϚϨεͳJSONσʔλΛࣗಈͰߏ଄Խσʔλͱಉ౳ͷύϑΥʔ ϚϯεͰѻ͑Δͷ͕ಛ௃

Slide 36

Slide 36 text

36 ɹɹʛɹɹ© PLAID Inc. TiDBͷධՁ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ TiDBͷධՁΛ௨ͯ͠ັྗͱײ͡Δɾ͞ΒʹධՁΛਂΊ͍ͨϙΠϯτ ύϑΥʔϚϯεɾεέʔϥϏϦςΟ ઌͷεϥΠυͷ௨ΓOLAPಛԽܕͷDB͸७ਮͳੑೳ͸༏Ε͍ͯΔ͕ɺTiDB΋ൺݞ͠ಘΔੑೳɻ TiFlashͷਫฏεέʔϧੑͷߴ͞΋͋ΓɺαʔϏε੒௕ͱڞʹඇઢܗతʹσʔλྔ΍ϫʔΫϩʔυ͕૿Ճ͢Δ ؀ڥԼͰ΋े෼࢖༻Ͱ͖Δϙςϯγϟϧ͕͋Δͱײͨ͡ɻ ࠷ॳͷҹ৅Ͱ͸Ͳ͏ͯ͠΋τϨʔυΦϑ͕ੜ·Εͯόϥϯε͸ྑ͍͕ϋϚΓ͖Γ͸͠ͳ͍ͱࢥ͍͕ͬͯͨɺ OLTP/OLAP྆໘Ͱߴ͍ਫ४ͰϢʔεέʔεͷջ͸ਂ͍ɺͱ͍͏ҹ৅ʹมΘͬͨɻ ϑϧϚωʔδυαʔϏεΛར༻͢Ε͹؅ཧίετΛେ͖͘Լ͛Δ͜ͱ͕Ͱ͖Δ͜ͱ͕Ͱ͖ɺ τϥϒϧγϡʔςΟϯά΍ਂ͍νϡʔχϯά͕ඞཁͳ࣌͸۩ମ·Ͱαϙʔτͯ͘͠ΕΔϓϩϑΣογϣφϧ αʔϏε΋ͱͯ΋ྑ͍ϙΠϯτͩͬͨɻ ӡ༻ͷ༰қੑ

Slide 37

Slide 37 text

37 ɹɹʛɹɹ© PLAID Inc. TiDBͷධՁ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ TiDBͷධՁΛ௨ͯ͠ັྗͱײ͡Δɾ͞ΒʹධՁΛਂΊ͍ͨϙΠϯτ ίετޮ཰ ੑೳϙςϯγϟϧ΋͋Γਫฏεέʔϧੑ΋ߴ͍͕ɺσʔλαΠζ΍QPSΛ૿΍ͨ࣌͠ʹίετޮ཰ͷ࠷దԽ ͕Ͳ͜·ͰͰ͖Δ͔͸ࠓޙධՁΛਂΊ͍ͨϙΠϯτɻ ػೳͱͯ͠͸ɺࠓޙΦʔτεέʔϦϯάͷػೳ΍Clusteringͱ͍ͬͨσʔλϨΠΞ΢τͷ࠷దԽͳͲ͕ΑΓ Ͱ͖Δ༷ʹͳΔͱར༻ن໛͕ॊೈʹͳΓελʔτΞοϓͱͯ͠͸ΑΓ࢖͍΍͘͢ͳΔͱײͨ͡ɻ

Slide 38

Slide 38 text

38 ɹɹʛɹɹ© PLAID Inc. ·ͱΊ 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ ฐࣾPLAIDͰ͸1st Party Customer DataΛத৺ʹ༷ʑͳϓϩμΫτΛ։ൃ͍ͯ͠Δ ɾϢʔβʔʹΑΓྑ͍ମݧΛಧ͚ΔͨΊʹɺϢʔβʔΛ஌ΕΔ͜ͱΛಛʹେ੾ʹ͍ͯ͠Δ ɾ๲େͳimmutableͳΠϕϯτσʔλɺmutableͳϢʔβʔσʔλΛBigQueryΛϝΠϯDBͱͯ͠ѻ͍෼ੳػೳΛఏڙ ɾ࠷ߴͷମݧͰσʔλ෼ੳͰ͖Δ؀ڥΛ໨ࢦͯ͠վળ͠ଓ͚͍ͯΔ 0.xඵͰσʔλ෼ੳͰ͖ΔDBΛ୳ࡧ ɾHTAP΋ࢹ໺ʹೖΕTiDB͸༗ྗͱײ͡ݕূ ɾOLAPಛԽ͍ͯ͠ͳ͍෼ɺେ͖ͳτϨʔυΦϑ͕͋Δ͔͸ݒ೦ͩͬͨ TiDBͷதͰ΋ಛʹTiFlashʹண໨ͯ͠ݕূ ɾԾ૝ͷσʔλ͚ͩͰແ͘ɺ࣮σʔλͷ౤ೖɾαʔϏεʹ઀ଓ΋ͯ͠ݕূ(ஈ֊త͕ͩಋೖࡁ) ɾPingCAPͷαϙʔτͷྗ΋͓आΓ͠ͳ͕Β༷ʑઃܭɾνϡʔχϯά(·ͩಓ൒͹) ·ͩνϡʔχϯά༨஍͕͋Δ͕ߴ͍ύϑΥʔϚϯεΛൃشͤ͞ΒΕ͍ͯΔ ɾOLAPಛԽܕͷDBͱൺݞ͠ಘΔੑೳϙςϯγϟϧ ɾύϑΥʔϚϯεҎ֎ͷεέʔϥϏϦςΟ΍ӡ༻༰қੑ͕ߴ͘૯߹ྗʹ༏Ε͍ͯΔ ɾίετޮ཰ʹ͍ͭͯ͸ར༻ن໛ͷ֦େͱڞʹྑ͘Ͱ͖Δ͔͸ࠓޙධՁΛਂΊ͍ͨ

Slide 39

Slide 39 text

39 ɹɹʛɹɹ© PLAID Inc. We are hiring! 2023.07.07ɹɹʛɹɹTiDB User Dayɹɹʛɹ PLAID ࠾༻৘ใ https://recruit.plaid.co.jp/ WicleΤϯδχΞืूϖʔδ https://recruit.plaid.co.jp/requisitions/wicle-engineer

Slide 40

Slide 40 text

No content