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

[MASOCON 2017] 데이터 정의로 밝힌 내 삶의 햇볕 - 성동찬 DBA/카카오뱅크

MICROSOFTWARE
November 27, 2017

[MASOCON 2017] 데이터 정의로 밝힌 내 삶의 햇볕 - 성동찬 DBA/카카오뱅크

2017년 11월 25일 마이크로소프트웨어 개발자 콘퍼런스,
마소콘 2017
데이터 정의로 밝힌 내 삶의 햇볕 - 성동찬 DBA/카카오뱅크

MICROSOFTWARE

November 27, 2017
Tweet

More Decks by MICROSOFTWARE

Other Decks in Programming

Transcript

  1. ؘ ੉ ఠ ੿ ੄ ۽ ߋ ൦ ղ ࢕ ੄ ೭ ߾
    ਋ ਭ ࡄ ӭ য় ೑ ࣗ झ ؘ ੉ ఠ ੬ ੉ ੄ ҃ ೷ ઺ ब ੄

    View full-size slide

  2. W H O A M I ?
    ਋ਭࡄӭ өச೯ਗ
    http://gywn.net
    https://www.facebook.com/dongchan.sung
    ࢿزଲfrom kakaoBank
    ੺؀ ӵ૑૑ ঋח ѼҊೠ ࢲ࠺झܳ ଺ইࢲ..

    View full-size slide

  3. 당.했.다. 또르르
    (੘਷ ೯ࢎۄݶࢲਃ. ޖ؀ ਎ۦૐ ੓যਃ.)

    View full-size slide

  4. য় ט े ੄ ઱ ઁ ח
    de·fine
    If you define something, you show, describe, or state clearly 

    what it is and what its limits are, or what it is like.
    동사
    1. [타동사][VN] ~ sth (as sth) (단어h구의 뜻을) 정의하다
    2. 규정하다, 분명히 밝히다
    3. [타동사][VN] 윤곽[모양/경계]을 분명히 나타내다

    View full-size slide

  5. غ଺਷ ղ ࢕੄ ೭߾
    ૌѢ਍ ࢕ਸ غ଺Ҋ, о઒ب ݆੉ ࢤӝҊ.. ਋਑?
    য় ט े ੄ ઱ ઁ ח

    View full-size slide

  6. B A C K U P
    E P I S O D E 1 .

    View full-size slide

  7. ׮ٜ ߔস਷ ೞद૑ਃ?
    ࠂҳ
    ࣗ࢑
    Ӗ्

    View full-size slide

  8. Local Disk
    ؘ੉ఠب ੘Ҋ.. झா઴݂ب औҊ

    View full-size slide

  9. Local Disk
    NAS
    copy
    copy

    View full-size slide

  10. Remote Backup
    NAS
    remote backup
    remote backup

    View full-size slide

  11. ݽٚ Ѫ੉ Ӓۗ٠੉ ୊਺ীח ҡଳওযਃ

    View full-size slide

  12. Many Many
    NAS

    View full-size slide

  13. IDC1 IDC2
    NAS
    NAS
    ߔস ؀࢚੄ IDCо ߸҃ؼ ࣻ ੓׮

    View full-size slide

  14. ࢜߷ী झਤ஖ী ࠛ੉ աӝ द੘೤פ׮.
    ݒੌݒੌ ߔস ੌ੿ਸ ೠٲೠٲ “ࣻ੘স”झா઴݂ ೤פ׮.

    View full-size slide

  15. Aࢲ࠺झ
    Bࢲ࠺झ
    Cࢲ࠺झ
    Dࢲ࠺झ
    Eࢲ࠺झ
    ޷஖Ѣա, ਫ਼ӵѢա

    View full-size slide

  16. ࢲ࠺झח ؀߅լ૑݅
    ղ ੋࢤ਷ ੺ݎ੄ ҳۦ఩੉ ࣘਵ۽
    (ѱ׮о ৈӝ੷ӝ ҕҕ੄ ੸੉ غযߡ۷Ҋ, દੋ੄ ݃਺ਵ۽..)

    View full-size slide

  17. ߔস ؘ੉ఠ ׮ܲ द੘ਵ۽
    de·Fine

    View full-size slide

  18. • ઺ਃೠ ౵ੌ੉׮.
    • ੌױ ࢎ੉ૉо ௼׮.
    • ੗઱ ॳ੉૑ח ঋח׮.
    • ߸҃ ੉۱ ۽Ӓо ੓׮.
    ؘ ੉ ఠ ࢿ Ѻ
    ߔসؘ੉ఠۆ?

    ੗઱ ॳ੉૑ח ঋ૑݅, 

    ೞܖ ੹ ౵ੌب ੄޷੓ח 

    ࢲ࠺झী ೙ࣻ੸ੋ ؘ੉ఠ
    ա ݅ ੄ ੿ ੄

    View full-size slide

  19. • ݒੌ э਷ NASী ਗѺ ߔসਸ ೧ঠೡө?
    • ࠂҳೡ ٸ ߈٘द য়ט ߔস੉যঠೡө?
    • ט э਷ दрী ߔস੉ ੉ܖযઉঠ ೡө?
    Questions..

    View full-size slide

  20. 1.ݒੌ ׮ܲ NASী..

    View full-size slide

  21. 2.୭؀ೠ উ߄ࢂ NASী..
    NAS1
    NAS2
    NAS3

    View full-size slide

  22. 3.ӈଳਵפ ੗زਵ۽
    P I C K ( ؀ ࢚ ) ࢲ ࠺ झ P I C K N A S
    ߔস दр ؀৉ী ઓ੤
    झா઴੉ о੢ ޻ܽ ࣽࢲ
    (যઁ)ߔস ؘ੉ఠ ࢎ੉ૉ ࣽ
    ݣ૽ೠ ֗ࢳ ઺

    ੐҅஖ܳ ֈ૑ ঋҊ
    زद ߔস ࣻ ੸Ҋ
    যઁ ߔসೞ૑ ঋח Ҕ

    View full-size slide

  23. Aࢲ࠺झ
    Bࢲ࠺झ
    Cࢲ࠺झ
    Dࢲ࠺झ
    Eࢲ࠺झ
    زद ߔস ࣻח ੺؀ 3ਸ ֈ૑ ঋ਺

    View full-size slide

  24. ࢲ࠺झח ؀߅աࢲ જҊ
    ղ ࢕੄ ৈਬܳ ଺ইࢲ જҊ

    View full-size slide

  25. L O S S L E S S
    A S Y N C H R O U S
    R E P L I C AT I O N
    E P I S O D E 2 .

    View full-size slide

  26. ठۨ੉࠳ח
    ݃झఠ੄tழ޿u৮ܐػؘ੉ఠܳ
    "TZODೞѱࠂઁ੷੢

    View full-size slide

  27. ݃झఠ/ठۨ੉࠳ р “ؘ੉ఠо ౣয૕ ࣻ” ੓׮.
    ݃झఠ ੢গ द “ؘ੉ఠ ਬप”੉ ߊࢤೡ ࣻ ੓׮.

    View full-size slide

  28. mission critical
    ex)

    View full-size slide

  29. ୭Ҋ ࣻળ੄ न܉ܳ ঳যঠ ೠ׮.

    View full-size slide

  30. ठۨ੉࠳ ਊبܳ ׮दೠߣ
    de·Fine

    View full-size slide

  31. • நदܳ ഝਊೡ ࣻ ੓׮.
    • ࠺زӝ۽ ࠂઁೠ׮.
    • Ҋਬ੄ ౵ੌਸ о૓׮.
    • э੉ ҕਬೞ૑ ޅೠ׮.
    ؘ ੉ ఠ ࢿ Ѻ
    ठۨ੉࠳ۆ?

    ࠺زӝ۽ ؘ੉ఠܳ ۽ஸী
    ࠂઁೞݴ, Ҷ੉ ࢲ࠺झী
    ನೣغ૑ ঋইب غח ֗ࢳ
    ա ݅ ੄ ੿ ੄

    View full-size slide

  32. 1.ࢲ࠺झח ݃झఠীࢲ
    MASTER

    View full-size slide

  33. ؘ੉ఠ ࠂઁܳ ׮दೠߣ
    de·Fine

    View full-size slide

  34. • ࠺زӝ ࠂઁח ೖೡ ࣻ হ׮
    • ݃झఠীࢲ ࢲ࠺झೠ׮
    • ਬप਷ ੓যࢲח উػ׮.
    ࠂ ઁ ࢚ క
    ؘ੉ఠ ࠂઁ?

    ݃झఠীࢲ݅ ࢲ࠺झೞח
    ࢚ടীࢲ੄ ೖೡ ࣻ হח
    ࠺زӝ ؘ੉ఠ ࠂઁ
    ա ݅ ੄ ੿ ੄

    View full-size slide

  35. 2.Lossless Replication
    MASTER SLAVE
    SLAVE

    View full-size slide

  36. Binary Log Relay Log
    IO THREAD
    SQL THREAD
    Master Slave
    async
    async
    MySQL Replication

    View full-size slide

  37. Binary Log Relay Log SQL THREAD
    Master Slave
    async
    async
    MySQL Lossless Replication
    send
    ack
    Commit
    OK

    View full-size slide

  38. dead master slave1 slave2
    binary log

    (commit된 데이터)
    SFMBZ
    MPH
    SFMBZ
    MPH
    가장 최근 변경 로그
    적용 중인 변경 로그
    Async Replication

    View full-size slide

  39. dead master slave1 slave2
    binary log

    (commit된 데이터)
    SFMBZ
    MPH
    SFMBZ
    MPH
    가장 최근 변경 로그
    적용 중인 변경 로그
    Lossless Replication

    View full-size slide

  40. MHA
    (Master High Availability)

    View full-size slide

  41. M H A 는 R E L AY L O G 사 용 L O S S L E S S R E P L I C AT I O N
    데 이 터 유 실 없 는 높 은 가 용 성 달 성
    3. MHA + LOSSLESS
    (30ୡ ੉ղ ಕੌয়ߡܳ ݾ಴)

    View full-size slide

  42. 여기까지 온 것
    ”한가지”만 더 고민해봅시다

    View full-size slide

  43. transaction log
    커밋마다 디스크에 쓰기
    ੹ా੸ਵ۽, উ੹ೠ ҳࢿਸ ਤ೧

    View full-size slide

  44. 리 플 리 케 이 션 그 룹 어 딘 가 에
    변 경 이 력 이 존 재 한 다 .
    마 스 터 에 서 만
    데 이 터 쓰 기 작 업 이 발 생 한 다 .
    커밋 시마다 트랜잭션 로그에 기록하지 않는다면?

    View full-size slide

  45. 혼 자 일 땐 유 실 가 능 그 룹 일 땐 유 실 없 음

    View full-size slide

  46. transaction log
    1초마다 디스크에 쓰기
    উ੹ೞݶࢲب ࡅܲ ҳࢿ
    1ୡ݃׮

    View full-size slide

  47. ੿ ܻ ೤ द ׮
    de·Fine
    ߔসਸ ઑӘ 

    ়ڨೞѱ
    ߔসؘ੉ఠۆ?

    ੗઱ ॳ੉૑ח ঋ૑݅, 

    ೞܖ ੹ ౵ੌب ੄޷੓ח 

    ࢲ࠺झী ೙ࣻ੸ੋ ؘ੉ఠ
    매일 다르고 안바쁜 NAS에 자동으로

    View full-size slide

  48. ੿ ܻ ೤ द ׮
    de·Fine
    ࠂઁܳ ઑӘ 

    ়ڨೞѱ
    ؘ੉ఠ ࠂઁ?

    ݃झఠীࢲ݅ ࢲ࠺झೞח
    ࢚ടীࢲ੄ ೖೡ ࣻ হח
    ࠺زӝ ؘ੉ఠ ࠂઁ
    Lossless Replication + MHA
    (디스크 플러시 상관 없이 리플리케이션 기준으로는 데이터 유실 없음)

    View full-size slide

  49. 내 삶의 정의과 광명을 찾았습니다
    (짤리면 안되니, 정의로운 질문만 받습니다)

    View full-size slide

  50. 감사합니다.

    View full-size slide