TGViewer
LEFT JOIN LEFT JOIN @leftjoin · 41.9K subscribers
Post #1598 8.26K
SQLite под капотом у Notion
Приятно, когда большие и известные проекты делятся своими техническими решениями. Недавно Notion рассказал, как ускорил свою веб-версию с помощью SQLite на 20%. В некоторых странах с медленным интернетом результат еще круче —до 33%.

Как это сделали?
Ускорить Notion в браузерах удалось благодаря реализации SQLite на WebAssembly.

🔵 Для сохранения данных между сессиями используется API Origin Private File System или OPFS, который позволяет сайту читать и записывать файлы на устройстве пользователя.
🔵Работу OPFS обеспечивают Web Workers — скрипты, которые запускаются в фоновом режиме и отвечают за создание и запуск баз данных SQLite.
🔵 Они также внедрили SharedWorker. У каждой вкладки, где открыт Notion, есть свой веб воркер. Они все могут делать запросы к файлу SQLite, но делать записи может только веб воркер активной вкладки. SharedWorker (если совсем просто говорить) отвечает за определение активной вкладки и переключение между веб-воркерами в соответствии с действиями пользователя.

Вот так все просто?
На самом деле совсем не просто, но менее сложные решения, которые рассматривали в Notion, не сработали.

💬 Во время тестирования новой архитектуры, часть юзеров столкнулась с багом, из-за которого видели на странице неправильные данные — комментарий, обращенный к одному человеку, оказывался обращен к кому-то другому.

Это происходило из-за того, что несколько веб-воркеров могли одновременно делать записи в базу, а API OPFS не мог обеспечить согласованность данных.

Это не единственная проблема, которая возникла у команды Notion, но самая эффектная. Представляете, какой хаос бы начался, если бы они не отловили этот баг и Notion по всему миру начал бы рандомно менять данные в пользовательских файлах?

А вы пользуетесь Notion?
❤️ — Да
🌚 — Использовал до того, как он ушел из России
👾 — Нет
  • 🌚 60
  • 👾 52
  • ❤ 41
  • 👍 5
  • 😍 1
More from @leftjoin
  1. Sep 30, 2026Что было на OpenAI Dev Day? Вообще-то много чего — больше 20 релизов и анонсов. Пройдемся…
  2. Sep 28, 2026В одной ячейке Excel можно будет хранить массивы значений Наконец-то важные новости и не п…
  3. Sep 25, 2026Новый ИИ-бенчмарк подвезли Тем, как ИИ пишет код, взламывает сайты или решает математическ…
  4. Sep 23, 2026Как грамотно делегировать задачи ИИ Внедрение искусственного интеллекта и агентов в работу…
  5. Sep 18, 2026Что делать с тепловыми картами и хороплетами? Все виды графиков и чартов по-своему хороши…
  6. Sep 16, 20263D-карты СУБД Отвлечемся от новостей про ИИ и скандалов вокруг OpenAI и посмотрим, что вну…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →