프로젝트 Yorkie는 오픈소스 데이터 스토어로 네이버에서 개발되고 있습니다. 지인이 해당 프로젝트를 개발하고 있어서 초기부터 알던 프로젝트입니다.


Yorkie는 CRDT 기반으로 실시간 동시 편집을 지원하는 데이터 스토어라고 할 수 있습니다. 요즘은 많은 도구가 지원하는데 구글 독스나 노션 등 한 화면을 여러 사람이 동시에 수정할 수 있도록 제공하는 경우 자연히 충돌이 생기게 됩니다. 한명은 A를 B로 바꾸고 다른 한명은 A를 C로 바꾸면 최종이 B여야 하는지 C여야 하는지 결정해야 하는 문제가 남습니다.


Git 등으로 개발하다 보면 충돌이 발생하는 경우를 많이 겪기 때문에 어느 정도 이해할 수 있을거라고 생각합니다. 동시 편집을 하면 당연히 충돌이 발생할 수 밖에 없습니다. Git을 이 최종의 선택권을 사용자가 선택할 수 있도록 넘겨주지만 노션 같은 도구에서 충돌 날때마다 사용자에게 충돌났다고 물어보는건 사용자 경험에도 좋지 않기 때문에 이런 방법을 쓰진 않습니다.


과거에도 동시 편집 구현은 쉽지 않았고 다양한 시도가 있었지만 Conflict-Free-Replicated Data Types를 뜻하는 CRDT는 이러한 문제를 해결하는 데이터 스토어이고 그 이름대로 충돌이 없습니다. 아까 처럼 A->B, A->C의 경우 결과가 B일지 C일지는 상황에 따라 다르지만 충돌은 나지 않습니다.


이 CRDT를 이용한 데이터 스토어인 Yorkie는 해당 프로젝트 개발과 이를 이용한 SaaS 형태의 서비스를 제공하고 있습니다. 이 Yorkie팀에 들아가서 인턴으로 2달 일한 과정을 정리한 들입니다.


인턴기 이지만 인턴 생활보다는 Yorkie에 대해 많은 내용이 담겨 있습니다. 알고리즘을 잘하시는 분이라 인턴 중에도 Yorkie의 구조적인 부분과 기능 추가등의 작업을 많이 하신거 같고 파악하신 Yorkie의 데이터 구조와 문제점, 해결 방법 등이 다양하게 나와 있어서 재밌습니다.


https://justicehui.github.io/review/2024/03/30/naver-intern-review/

네이버 Yorkie TF 인턴 생존기

JusticeHui가 PS하는 블로그

네이버 Yorkie TF 인턴 생존기

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 4월 13일 오전 3:43

 • 

저장 10조회 2,948

댓글 0

    함께 읽은 게시물

    창업과 사업에 대해 막연한 환상을 갖고 계신가요? 혹은 관심이 있는데 어떻게 해야 할 지 모르겠어서 고민이신가요?

    ... 더 보기

    [B라운지] (회사 이후의 삶을 위한) 사업 아이디어 선명하게 다듬기 : PBR

    www.pbr.kr

    [B라운지] (회사 이후의 삶을 위한) 사업 아이디어 선명하게 다듬기 : PBR

    6년간의 토이프로젝트 여정을 마무리하며 - 기술블로그 구독서비스 회고록

    ... 더 보기

    6년간의 토이프로젝트 여정을 마무리하며 - 기술블로그 구독서비스 회고록

    taetaetae.github.io

    6년간의 토이프로젝트 여정을 마무리하며 - 기술블로그 구독서비스 회고록

     • 

    댓글 1 • 저장 7 • 조회 1,683


    인정에 목마른 사람에게

    

    ... 더 보기

    간만에 재밌게 읽은 기술 포스트

    ... 더 보기

    무진장 힘들었지만 무진장 성장한 개발 이야기

    Medium

    무진장 힘들었지만 무진장 성장한 개발 이야기

    제미나이 인공지능 프로그래밍

    ... 더 보기

    QA엔지니어는 무엇을 하고, 어떻게 준비해야 할까?

    ... 더 보기

    쏘카 QA는 무슨 일을 하고 어떻게 일하나요?

    SOCAR Tech Blog

    쏘카 QA는 무슨 일을 하고 어떻게 일하나요?