체크섬에 대해 아직 모르시나요?

가장 기본 개념이기도 하며, 설계 면접 문제에도 등장할 수 있는 개념입니다. 데이터가 유저로 부터 데이터베이스에 저장되기 까지 네트워크 레이어에서 오류나 injection등으로 인해 손실이 일어날 수 있습니다. 손실된 데이터를 data corruption이라고 하는데, 이를 보호하는 방법 중 체크섬을 사용합니다. 👉 센더(sender)가 체크섬을 만들고, 체크섬을 함께 보내고 리시버(receiver)가 자체 계산한 체크섬과 센더가 보낸 체크섬을 확인한다. 센더와 리시버 간 체크섬이 매칭하지 않는 경우, 시스템은 데이터 손실이 일어난 것으로 판단한다. 👉 암호화 해시 함수(Cryptographic Hash Function) - MD5 - SHA-1 - SHA-256 - SHA-512 MD5(Message Digest Algorithm 5)는 1992년도에 만들어졌고, 126-bit체크섬을 만든다. MD5암호 알고리즘은 SHA(Security Hash Algorithms)보다 빠르지만 덜 안전하다. SHA-512가 SHA-256보다 더 안전하다. Data Integrity의 중요성에 따라 다른 암호화 해시 함수를 사용한다. 👉 체크섬을 만들 때 암호화 해시 함수를 이용한다. 그리고 만들어진 체크섬을 데이터와 함께 저장한다. 👉 데이터를 Write할 때 유저가 보낸 데이터를 기반으로 체크섬이 만들어지고 데이터베이스에 도달하기 전에 거치는 서비스 간 체크섬 확인이 이루어진 후 데이터베이스에 저장된다. 👉 데이터를 Read할 때는 데이터베이스에 저장된 체크섬이 계산된 체크섬과 같은지 확인한다. 📌 추가 - 시스템을 설계할 때 End-to-End Checksum이 되도록 해야 합니다. 하위 시스템 설계에서 체크섬 갭이 있다면 체크섬이 있어도 데이터 손실이 일어날 수 있습니다. - 해시 함수에 관해 공부할 때 해시 충돌(hash collision)에 대해 함께 공부하면 좋습니다. MD5는 SHA에 비해 해시 충돌 저항성이 적습니다. 100% 해시 충돌 저항성을 보장하는 알고리즘은 아니지만 충돌 가능성을 거의 희박하게 합니다. - 순환 중복 검사/CRC(Cyclic Redundancy Check) 개념도 간략하게 함께 알아두면 좋을 것 같습니다. 암호 해시 함수는 주어진 데이터에 안전한 해시값을 계산하는 알고리즘이고, CRC는 주로 오류 감지에 사용됩니다. https://www.youtube.com/watch?v=toYnC5PoM08

Checksum Explained | System Design Concepts | Data Integrity | What is Checksum | Interview Question

www.youtube.com

Checksum Explained | System Design Concepts | Data Integrity | What is Checksum | Interview Question

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 4일 오후 3:12

 • 

저장 204조회 8,529

댓글 0

    함께 읽은 게시물

    실력 향상을 위한 해외 유튜브 채널 10개

    취업 준비와 코딩 공부할 때 도움 되는 해외 유튜브 채널 10개를 간략하게 소개합니다. 1. Gaurav Sen: https://www.youtube.com/@gkcs - 전반적인 개발자 성장(특히 주니어와 시니어), 취업, 코딩 공부 노하우 - 시스템 설계의 기초 개념 설명 영상이 많다. 특정 시스템 설계를 분석하거나 모의 면접하는 영상이 꽤 많지만 개인적으로 설명이 겉도는 느낌이 있다 - 주니어+/중니어+에게 특화된 취업 및 공부 노하우 2. Abdul Bari(컴공 전공, 알고리즘 공부 필수 채널): https:... 더 보기

    Gaurav Sen

    www.youtube.com

    Gaurav Sen

     • 

    저장 294 • 조회 8,659


    제가 리드하고 있는 조직(당근마켓 커뮤니티실)에서 백엔드 엔지니어를 채용 중이에요.


    커뮤니티실에는 동네 이웃들의 이야기와 정보를 공유하는 동네생활팀, 이웃 간의 취미와 관심사를 연결하는 모임팀, 그리고 아파트 단지 생활을 더 편리하고 즐겁게 만들어 줄 단지팀이 있어요. 지금 내 동네에서 일어나고 있는 일들을 더 쉽게 즐기고 공유할 방법들을 찾는 일이라면 무엇이든 도전하여 실행에 옮겨요. 만드는 사람이 불편할수록 쓰는 사람은 편하다는 믿음으로 도전적인 문제를 풀어나갈 분과 함께하고자 해요.

    ... 더 보기

    📝무신사 글로벌 전략, 핵심만 쏙 정리했어요!

    ... 더 보기

    무신사 글로벌 전략, 핵심만 쏙 정리했어요

    www.openads.co.kr

    무신사 글로벌 전략, 핵심만 쏙 정리했어요

    AI시대 필요한 요구문서와 협업방법

    ... 더 보기

    Confluence Mobile - WEBNORI

    wiki.webnori.com

    Confluence Mobile - WEBNORI

    혹시 Cursor 채팅만 사용하시나요? Agent 쓰는 방법!

    Cursor와 함께라면, 더이상 에디터는 단순한 입력 도구가 아닌

    ... 더 보기

    워케이션 문화가 없는 조직에서 워케이션 시도하기

    ... 더 보기

    Paywatch Tech

    tech.paywatch.co.kr

    Paywatch Tech