2023/11/02

웹 동기화가 16배 이상 빨라졌습니다!

새 브라우저에서 Evernote에 액세스, 세션 만료 후 페이지 다시 로드, 다시 로그인, 캐시 삭제…

Evernote 웹 사용자라면 매우 익숙한 절차입니다. 각 단계마다 초기 동기화라는 프로세스가 시작되어 사용자의 모든 콘텐츠가 브라우저의 저장 시스템에 다시 다운로드되어야만 사용자가 Evernote 노트에 온라인으로 액세스할 수 있습니다.

용량이 매우 큰 Evernote 계정의 경우, 전체 초기 동기화 프로세스는 최대 10분까지 소요되었습니다(최소 9분은 너무 깁니다!).

저희는 초기 동기화 속도를 대폭 앞당기는 작업에 착수했고, 이제 만족스러운 결과를 얻게 되어 기쁩니다. Evernote 고객들도 분명히 기뻐하시리라 확신합니다!

동기화 속도를 앞당긴 방법

SQLite라는 저장 시스템을 사용하는 Evernote 데스크톱 및 모바일과 달리, Evernote 웹은 기록의 대량 검색을 허용하지 않는 IndexedDB라는 시스템을 사용했습니다. 따라서 각 고객 기록은 개별적으로 다운로드, 처리, 저장 과정을 거쳐야만 했습니다. (고객 기록이란 노트북, 알리미, 노트 메타데이터, 환경설정, 위젯을 비롯한 기타 중요한 Evernote 구성 요소를 의미합니다.)

고객 계정에 노트가 많을수록 기록의 수도 커집니다. 일부 고객은 노트가 수만 개에 달하는 만큼 전체 프로세스에 짜증 날 정도로 긴 시간이 걸릴 것이 분명합니다.

이 문제를 해결하기 위해 저희는 웹의 저장 시스템을 IndexedDB에서 SQLite의 웹 호환 제품인 SQLite/WASM으로 전환했습니다. 그 결과, 초기 동기화 속도가 놀라울 정도로 빨라졌을 뿐 아니라 Evernote 웹과 나머지 클라이언트 사이에 중요한 시너지 효과가 생겼습니다.

대체 얼마나 빨라진 거냐고요? 저희가 Evernote 웹을 테스트한 결과, 노트 수가 적은 계정에서는 속도가 2배 이상 개선되었습니다. 하지만 노트 수가 많은 계정에서는 그 차이가 더욱 확연하게 나타납니다. 예전 시스템에서는 노트가 17,265개인 계정의 초기 동기화를 수행하는 데 285초(거의 5분)가 걸렸지만 새로운 시스템에서는 같은 계정의 동기화에 17초밖에 걸리지 않았습니다. 무려 17배 가까이 빨라진 것입니다! 🚀

Evernote 웹 사용 시 염두에 두어야 할 몇 가지 사항

새로운 동기화 방법은 현재 주요 브라우저(Chrome, Safari, Firefox)의 최신 버전에서만 지원됩니다. 구 버전의 브라우저는 새로운 저장 시스템과 호환되지 않으며, 이전 동기화 프로세스를 따릅니다.

Evernote 웹은 시크릿 모드 또는 기타 비공개 브라우저에서 작동하지 않을 수 있습니다. 시크릿 모드에서는 한 번에 다운로드할 수 있는 데이터 양이 제한되므로, 대규모 계정의 초기 동기화가 실행되지 않을 가능성이 있습니다. 이 경우, 일반 브라우저 창으로 Evernote를 열어야 합니다. 다른 비공개 브라우저 모드에서는 기본적으로 기존의 느린 초기 동기화가 실행됩니다. 이러한 제한은 향후 변경되거나 완전히 사라질 수 있지만 장담할 수는 없습니다(이것은 Evernote보다 브라우저에 달린 문제입니다).

더욱 빠르고 안정적인 Evernote를 향해 한 걸음 더 가까이


동기화가 순식간에 끝나는 것은 정말 신나는 일입니다. 모든 클라이언트(웹, 데스크톱, 모바일)를 한 가지 유형의 저장 시스템으로 통일하는 것은 전환점이 될 것입니다. 클라이언트 저장 시스템을 하나로 통합함으로써 향후 성능 개선의 큰 걸림돌이 사라졌을 뿐만 아니라, Evernote를 더욱 빠르고 안정적이며 신뢰할 만한 서비스로 만드는 데에 한 걸음 더 가까이 다가서게 될 것입니다.