Hacker News 의견
  • 일관성 모델이 이해되지 않음

    • Graft 클라이언트는 로컬에서 커밋하고 비동기적으로 원격 커밋을 시도함
    • 두 클라이언트가 동일한 스냅샷을 기반으로 동시에 커밋하면 하나는 성공하고 다른 하나는 실패함
    • API는 단일 커밋 작업만 제공함
    • 로컬 커밋이 성공했을 때 비동기 전파가 실패하면 롤백해야 하는 문제 발생
    • "커밋"의 개념이 여러 가지로 혼재되어 있음
  • Graft의 작성자가 감사 인사를 전함

    • 워싱턴 DC에서 Antithesis BugBash에 참석 중임
    • 워싱턴에 있는 사람들과 만나고 싶어함
  • 일관성 모델이 git과 유사하다고 이해함

    • 로컬 복사본을 변경하고 "푸시"할 때 충돌이 발생할 수 있음
    • 충돌을 깨끗하게 감지할 방법이 없음
    • 읽기 충돌로 인해 충돌이 발생할 수 있음
  • 클라이언트가 Graft를 가져오면 변경된 내용을 정확히 알 수 있음

    • Cloud-Backed SQLite의 매니페스트와 비교함
    • 서버에서 계산이 필요하지 않음
  • 구현 세부사항에 대해 언급하지 않음

    • 앱 개발자가 동기화에 신경 쓰지 않아도 되는 동기화 레이어가 필요함
    • 구독 없이 개인 동기화를 지원할 수 있음
  • VFS를 사용하는 것이 재미있는 "해킹"이라고 생각함

    • 오프라인 우선 IDE를 위한 자체 동기화 엔진 개발 중임
    • 트리 구조를 사용하여 충돌 해결이 도전 과제임
  • Leap 알고리즘을 사용한 프로젝트가 매우 흥미로움

    • SQLite 통합에 집중하기 쉽지만, 더 일반적이고 낮은 수준의 분산 저장 문제로 접근함
    • 구체적인 경험이 없는 일반적인 솔루션은 위험할 수 있음
  • 모바일 클라이언트가 느린 연결에 있을 때 문제가 발생할 수 있음

    • 느린 동기화를 감지하고 서버에 직접 쿼리를 보내는 하이브리드 접근법 제안
  • 페이지를 기본 동기화 단위로 사용하는 접근법이 흥미로움

    • 많은 동시 사용자와의 충돌이 발생할 수 있음
    • OT나 CRDT가 더 나을 수 있음
  • 매우 도전적인 문제임

    • React Native 앱에서 시도해보고 싶음