Не храните в Notion важные данные, они могут оказаться недоступны
Эта статья ориентирована на тех, чей бизнес зависит от Notion. Подумайте, что будет если завтра Notion окажется недоступен целиком. Если это будет критическим ударом, то эта статья для вас.
TL;DR: встретив критичный баг, ваше обращение к поддержке может свестись к их молчанию или ответам «нам очень жаль, нам понадобится ещё времени, мы ответим в четверг четвёртого числа», а данные из Notion вам могут быть недоступны целиком, если нет бэкапов.
Предыстория
Мы (онлайн-школа программирования Хекслет) используем Notion (на тарифе Team) в компании, как основной рабочий инструмент — там и документация, и канбан-доски, и некоторые базы данных. Две основные базы для любого бизнеса: это список контактов и список компаний-партнёров. Остальные базы данных завязаны на эти и формируют очень сложную иерархию.
До момента инцидента у нас накопились базы на 5500+ пользователей и 600+ компаний. Сотрудники периодически жаловались, что Notion не тянет такой объём данных — глючит поиск, долго думает, некоторые страницы оказываются недоступны. Кроме того, удобство на самом деле оставляет желать лучшего, на таких объёмах данных быстро вылезают все недоработки системы.
В основном мне удавалось решить все такие моменты вручную, так как они были единичными и понятными. Кроме того, планировалось сделать ревизию баз данных и почистить их от дублей, лишних полей и так далее. Но не сложилось.
База пользователей оказалась недоступна
В начале ноября база пользователей перестала открываться, все 5500+ записей были скрыты за уведомлением «Упс! Что-то пошло не так». С точки зрения бизнеса, полностью пропавшая база контактов — это «упс» масштаба полного прекращения работы. В нашем случае, это были только внешние коммуникации, а собственных клиентов мы храним в своём сервисе, но ситуация всё равно достаточно критичная.
Хронология событий
8 ноября из приложения и веб-версии вместо базы пользователей отдавалось «Упс! Что-то пошло не так».
При этом через реляционные связи к базе всё ещё можно было обратиться и связать любую другую базу данных с упавшей. Также, база частично отдавалась через API, что намекает на упавший фронтенд.
9 ноября я написал в чат поддержки, что нам стал недоступен критически важный ресурс, ответил на вопросы поддержки и оператор удалился передавать моё обращение своей команде.
11 ноября я обнаружил, что Notion API отдаёт базу пользователей, но без реляционных связей. О чём так же написал в поддержку в тот же чат. И поскольку уже более суток ответа не поступало, я начал волноваться. Вечером этого же дня вместо чата поддержки я написал на почту [email protected], что мы всё ещё горим. Ответом мне была тишина.
12 ноября было решено выйти в публичное поле и призвать Notion там, где они позиционируют своё основное коммьюнити — в Twitter. Прежде, чем написать сообщение, я решил изучить упоминания их профиля в твиттере и получил следующую картину:
Краткий пересказ твиттов: «почему поддержка молчит или отвечает отписками?». Стало понятно, что мой твит попадёт в число тех, кого просто заигнорили, как это было уже сделано в поддержке и на почте. Но всё-таки я решил его опубликовать.
13 ноября мне наконец пришёл ответ на почту. Уж не знаю, повлиял на это твит или просто сработал таймер игнора и понадобилась свежая отписка:
Ребятам нужна неделя для того, чтобы что-то ответить. Никакой информации о выполненных действиях, никаких уточняющих вопросов, никаких ответов на мои вопросы за 11 и 12 число.
Базу данных можно было восстановить за сутки
Параллельно с общением в поддержке, я изучал тексты ошибок, дёргал базу через API и фактически делал работу поддержки своими силами. Что мне удалось выяснить:
- В базе накопилось некоторое количество записей, которые по какой-то причине не отображаются на фронтенде. Но нормально отдаются через API.
- Похоже, что большое количество таких записей повлияло на отображение всей базы данных. Потому что ошибка в БД ровно такая же, как и в каждой записи (скриншот выше).
- Через API отдавалась база без реляционных свзей, потому что надо добавить своё приложение в каждую связанную базу данных. Поддержке я этот вопрос писал, но ответить они не смогли или не захотели. Тут я не буду вдаваться в технические детали. Если вам интересно узнать продвинутые техники работы с Notion, пишите в комментарии.
Днём 13 ноября я скачал базу пользователей через API и создал её на новой странице отдельно — она заработала. То есть по сути надо было сделать бэкап и накатить его заново. Это случилось на 4й день после первого обращения в поддержку и через ~5 часов после последней отмазы поддержки.
Восстановив базу, я написал поддержке что смог восстановить базу таким образом и что мы уйдём от них как клиенты, на что ещё через 3 дня получил не менее гениальный ответ:
Отсюда я могу сделать вывод, что если бы к моему тикету привлекли хотя бы одного технического специалиста, он бы со своим инструментарием восстановил бы базу за сутки. Или, как минимум, через сутки написал бы что-то в духе: «Мы нашли ошибку и завтра починим». И поддержка так ничего и не сделала, то есть изначально упавшая база так и не работает.
Всё познаётся в сравнении
В ту же неделю у нас была ошибка при обработке записи Zoom. Я также обратился в поддержку и за 15 минут с момента обращения ребята выяснили детали, предложили несколько возможных решений, признали ошибку на своей стороне, проинформировали по срокам решения, завели обращение в help desk и устранили ошибку в установленные сроки.
Ребята не сожалеют, а работают. На этом контрасте хорошо видно как клиенту доносится информация о статусах решения его запроса. Несомненно, у вас найдутся кейсы, когда и поддержка Zoom не помогла. Но у них хотя бы есть видимая инфраструктура (help desk) и процессы, которые у команды Notion отсутствуют совсем.
Выводы
С одной стороны, у истории «счастливый финал» — мне удалось сделать бэкап всей базы данных и восстановить её работоспособность инструментами самого Notion. Но мне повезло, потому что ошибка была в клиентской части, а я достаточно программист, чтобы использовать Notion API. Если бы ошибка была на сервере, или не было бы API, то мы могли бы остаться с сожалениями поддержки и нерабочей базой пользователей.
Notion пока что не способен предоставить дружелюбный UI/UX для организации больших баз данных. Кроме того, он теперь помечен как ненадёжное хранилище в нашем случае. Для того, чтобы хранить базу пользователей и компаний мы переходим на специализированное хранилище с бэкапами. Кстати, можете порекомендовать что-нибудь в комментариях.
Есть вероятность, что в критичной ситуации поддержка Notion будет молчать или давать отписки в публичных пространствах и своих чатах/почтах, даже если вы корпоративный клиент, даже если вы горите. Наверняка многим повезло и общение с поддержкой имело ровно обратный опыт. Но один факт не отменяет собой другой.
Несмотря на то, что сейчас я критикую конкретно команду Notion, мораль будет довольно простая.
Чтобы ваш бизнес не пострадал от сбоев системы — выбирайте специализированные инструменты под конкретные задачи и делайте бэкапы. Комбайны, типа Notion, где можно собрать солянку всех функций — это удобно, но может оказаться немасштабируемым и нестабильным в долгосрочной перспективе.
"Люди делятся на два типа — кто ещё не делает бэкапы и кто уже делает."
Есть еще третий тип людей: те, кто уже делает и проверяет возможность восстановления)
Только я один вижу рекламу курсов?
«Мы школа Hexlet и мы учим этому на наших курсах” это то из-за чего кроме рекламы вы для себя ничего не нашли? Для меня как для пользователя Notion информация была актуальной, хотя бы просто за напоминание: «Делайте бекап»
В статье ещё была ссылка, я её скрыл, чтобы не нервировать :)
Комментарий недоступен
Забил на нотион после их фокусов с промокодами.
Писали такую под себя в одной из прошлых компаний, вместо amo и jira. Ген. директор всё хочет её продать в рынок, но не уверен, насколько она отвязана в коде от зависимостей на конкретную компанию и тут явно пахнет интеграцией и бюджетом под неё (могу спросить у бывших коллег).
Вывод - писать лучше самим, но для этого нужны ресурсы и время, если notion даст возможность перескочить, параллельно разрабатывая, то это хороший вариант.
И спасибо за статью, очень интересный пользовательский опыт в разрезе повального использования notion в продуктовом менеджменте и виде корп вики
Это далеко не оптимальное решение в нашем случае. Мы хотим получить профессиональное решение, которое снимет наши боли. А самописное решение - это всегда дополнительная головная боль и профессиональным оно не станет без штата сотрудников.
На крайний случай, я напишу крон-задачу для выгрузки бэкапов из ноушена. Но за предложение спасибо :) И рад, что статья оказалась полезна!
Копец. У меня там база работ и сроков с часами, потраченными на работы за 2 месяца ещё счета клиентам не выставлены. Хрен с ним с удобством, я валю. Налететь на доходы за месяц другой... Оно того не стоит! Все приходится самому писать и бекапить(
С другой стороны, ни один сервис не гарантирует фактически сохранности данных, так что если планируете переезжать, то имеет смысл рассматривать сразу сервис с возможностью выгрузки или создания бэкапов.
Ну я как я сказал. Все приходится писать самому.
Evernote
Комментарий недоступен
теперь Evernote не принимает платежи из РФ, даже с карт других стран - накрылся медным тазом нормальный эверноут(
Но бесплатная версия работаетнаверно
А есть варианты, чем хотите заменить Notion?
Джирой видимо
Если говорить в разрезе таск-трекера, то заменить можно много чем - Trello, YouTrack, Redmine, Jira. Даже у Notion есть аналоги, например, Confluence, Loop от Microsoft и даже какие-то open source решения.
Сейчас есть ещё достаточно популярное ClickUp.
Есть варианты с Google Peoples, Airtable или других сервисов для хранения контактов, будем посмотреть их. Целиком уезжать из Notion нецелесообразно на данный момент, но вот для важных БД как контакты и компании точно будем выбирать альтернативное хранилище.
Люди делятся на два типа — кто ещё не делает бэкапы и кто уже делает.
Прям по больному бьете)
Всё как-то не доходили руки, но напишу, что в итоге принял решение выгружать данные из ноушена в гуглотаблицу. У нас используется сервис Pipedream (а-ля Zapier, Automateio, etc...). Пришлось поработать именно над кодом, так как не было удобного визуального редактора, но в итоге получилось так:
1. Запускается крон-задача, которая скачивает данные из нужных БД.
2. Создаётся в гуглотаблице новый лист с датой выгрузки и названием базы.
3. Туда вставляются данные из таблицы. Последним столбцом идёт JSON-объект, из которого бэкап и создавался для данной строки.
Если понадобится восстановить базу, то я смогу всю мета-информацию получить из JSON, а для быстрого и удобного просмотра бэкапа все остальные данные идут в человекочитаемом виде насколько это возможно.
Возможно, кому-то будет полезно, интересно посмотреть, поэтому код я выложил на гитхаб и сделал генерацию в файлы: https://github.com/Melodyn/notion-database-backup
Реализация не самая аккуратная, но идея будет понятна.
"Специализированное хранилище контактов и компаний" это вы про CRM говорите? Есть какие-то требования какие функции Вы хотите получать?
Самый приближенный вариант - Google Peoples. Правда, там только база контактов.
CRM - это обычно комплексное решение. А хотелось бы базу контактов, базу компаний, установка связей между ними "компания - контактное лицо" и всякие автобэкапе, апишки и т.п. То есть узконаправленный инструмент. Ну и чтобы там полнотекстовый поиск, быстрота работы и так далее.
Ну для такого тот же Битрикс24 в самый раз
Должен сказать, что это актуально для *любой* облачной платформы.
У всех - от Амазона до GitHub бывают падения на несколько часов.
Можно утешаться тем, что общий uptime высокий.
С бэкапами все сложно - сделать настоящий бэкап в общем случае непросто и недешево.
Падение сервисов - это немного другое всё-таки. Упали, восстановились, работаем дальше. Здесь же просто техническая ошибка и плохая поддержка. Я мысль понимаю вашу, что от факапов и потерь не скрыться, но как обычно перекрестились мы когда грянул гром :) И оказалось, что именно в данной ситуации нам нужно что-то другое.
Да, я согласен что это другое. Это баг в managed service, и да - вполне возможно, что альтернативы более стабильные и с более серьезной поддержкой.
Подскажите, если другие пользователи Notion дублируют к себе мою страницу, то должно приходить об этом оповещение?
Если вопрос ещё актуален, то я могу ответить, что не знаю :) По идее, не должно, но есть случаи, когда оно приходить может. В основном, уведомления срабатывают при наличии доступов к страницы у команды, а если у вас её копируют другие пользователи, то вероятно, что уведомлений не будет
А к Notion нельзя подключить внешнюю базу данных как источник?
Можно написать интеграцию через API самому. Просто подключить сейчас "по клику" нет пока возможности. Если что, их API в beta-версии и появилось относительно недавно.
Долгое время искал блокнот в сочетании с удобным планировщиком дел, календарём, быстрыми заметками, возможностью вписать программный код и выделить зрительно, ну и дизайн, конечно. Что-то прочитал этот пост и хочется от Notion свалить теперь + мой личный опыт по взаимодействию с поддержкой дал похожий результат. Простой вопрос - неверный, это я выяснил также сам, ответ. Благо, платить за него не приходится. За статью спасибо!
Вам нужно опубликовать это на англоязычных ресурсах. Возможно включая сам Твиттер. Потерять русских клиентов Notion вряд ли боятся. А вот создать угрозу ухода западных клиентов было бы приятно)
На самом деле, такая вещь со многими сервисами. Почему все упорно продолжают все это использовать?
И рекламировать AI от Notion, тем более