Когда Google Таблиц хватает, а когда уже нужна база данных
Google Таблицы в малом бизнесе почти всегда появляются раньше учётной системы — и это разумно: процесс меняется быстрее, чем его успевают описать. Вопрос не в том, хороший ли это инструмент, а в том, где у него граница. Обычно её ищут в объёме данных, а находят в другом месте: в числе людей, которые одновременно правят один лист, и в цене ошибки, которую никто не проверяет.
Коротко
- Технический предел листа Google Таблиц — 20 млн ячеек или 100 МБ, в одну ячейку влезает до 50 000 символов. Реестр из 300 заявок в месяц при 20 колонках — это около 72 тысяч заполненных ячеек в год, то есть до предела далеко.
- Через API лист читается 60 раз в минуту на пользователя и 300 раз на проект, а запрос дольше 180 секунд завершается ошибкой. Значит, «живая» таблица как хранилище для сайта или бота работает только на небольших объёмах.
- В полевых аудитах с 1995 года ошибки нашли в 88% из 113 проверенных реальных таблиц (сводка Панко, Journal of End User Computing); даже после аккуратной разработки ошибки есть примерно в 1% формульных ячеек.
- Таблица ломается не от объёма, а от людей: одновременная правка одних строк, права только на файл целиком, история без контекста, связи между листами через ВПР и ручная сборка сводки.
- Переезд не обязательно означает «всё сразу»: таблица может остаться интерфейсом для ввода и выгрузки, а хранение, права и связи уходят в базу — так работу не останавливают.
Почему таблица выигрывает у учётной системы на старте
Учётную систему ставят на описанный процесс, а таблицу — на живой. Пока неясно, какие поля нужны и кто отвечает за этап, любая схема окажется неверной, и её придётся переделывать вместе с перенесёнными данными. В таблице колонку можно переименовать за секунду, добавить «источник обращения» — за минуту, а сводную собрать без программиста.
Второе преимущество — доступ. Таблица открывается с телефона, её расшаривают на подрядчика и бухгалтера, в ней работают формулы, фильтры, сводные и скрипты. Для многих задач этого достаточно навсегда: реестр заявок на 200–300 строк в месяц, график смен, остатки по партиям, план закупок, список клиентов с историей заказов.
Поэтому начинать стоит не с выбора инструмента, а с карты процесса: что входит, где лежит, кто решает, что считается результатом. Мы разбираем это в разделе о подходе. Если процесс простой, повторяемый и его ведёт один человек, таблица остаётся правильным ответом — автоматизация там добавит только сопровождение.
Предел наступает по людям, а не по объёму
Обычно считают, что таблица «закончится» на больших числах. На практике она ломается раньше — когда над ней начинают работать несколько человек и когда данные из неё начинают жить в двух местах.
- Одновременная правка. Пока пишет один, конфликтов нет. Когда трое правят одни и те же строки, появляются перезаписанные значения: двое открыли заявку, оба поменяли статус, сохранился последний вариант — и никто не заметил.
- Права. В таблице доступ дают на файл или на лист, а не на строку клиента. Менеджеру, которому нужен только свой блок, приходится открывать выручку всего отдела.
- История. Версии файла показывают, кто и когда менял ячейку, но не объясняют, почему заявка стала «закрыта» без оплаты. Разбор занимает вечер.
- Связи. Как только появляется третий лист и ВПР между ними, перестановка колонки ломает формулы молча: ключ не находится, в половине строк появляется «#Н/Д», а часть расчётов остаётся с прежними числами.
- Ручной перенос. Самый дорогой пункт: сводка собирается копированием из трёх файлов, и в ней каждый раз немного разные цифры — потому что копировали в разное время.
Что показывают цифры: лимиты и цена ошибок
Точные пределы полезно знать: они снимают часть страхов. «Таблица не выдержит» обычно относится не к объёму, а к способу работы с ней.
Для ориентира: реестр из 300 заявок в месяц при 20 колонках — это 72 тысячи заполненных ячеек в год. До 20 миллионов далеко, и телефон такие объёмы открывает. Значит, технический предел наступает не от размера, а от ошибок и от ручной работы вокруг таблицы.
Ошибки — вторая сторона. Сводка Рэймонда Панко (Journal of End User Computing, 1998, ред. 2008) собирает 13 полевых аудитов реальных таблиц: с 1995 года ошибки нашли в 88% из 113 проверенных таблиц, а доля ошибок в формульных ячейках — примерно 1% и выше даже после аккуратной разработки. В больших таблицах с тысячами формул это десятки необнаруженных ошибок.
Цена таких ошибок хорошо видна в подборке EuSpRIG: полиция Северной Ирландии опубликовала персональные данные 10 799 сотрудников из-за лишнего листа в таблице — регулятор оштрафовал организацию на 750 тысяч фунтов; норвежский суверенный фонд потерял около 92 миллионов долларов из-за неверно введённой даты; а в деле о поддельных данных список клиентов выдал себя тем, что в нём оказалось ровно 1 048 576 строк — предельный размер листа в Excel.
Как таблица превращается в операционную систему
Типичный путь в малом бизнесе: сначала таблица — это журнал. Потом к ней добавляют формулы, сводные, лист с нормами, лист с оплатами, скрипт, который отправляет уведомление. Через полгода в ней живёт уже не список данных, а весь процесс — вместе с его слабыми местами.
Три признака, что пора базу
Решение принимается не по объёму, а по свойствам процесса. Достаточно ответить на несколько вопросов — и таблица сама покажет, где ей тесно.
| Признак | Как это выглядит в таблице | Что даёт база |
|---|---|---|
| Один факт нужен в двух местах | ВПР между листами и ручное копирование | Одна запись, связи по ключу |
| Нужны разные права на части данных | Доступ на файл или лист целиком | Права на запись и на роль |
| Нужно знать, кто и почему изменил | Версии файла без контекста | Журнал изменений по записи |
| Данные приходят с сайта, из бота, из 1С | Скрипт пишет в лист, при одновременной записи теряются строки | Приём через API с проверкой и повторами |
| Объём растёт быстрее 1–2 тысяч строк в месяц | Сводные пересчитываются долго, телефон подвисает | Индексы и выборки по срезу |
Если «да» получено только по последней строке — чаще всего достаточно навести порядок в самой таблице: обязательные поля, проверка форматов, отдельный лист-справочник вместо копий. Если «да» по первым трём — переезд в базу не роскошь, а способ перестать сводить цифры руками.
Половина решений — не «таблица или база», а «таблица и база»
Самое частое заблуждение — что переезд означает смену инструмента целиком и обучение всех заново. Рабочая схема выглядит иначе: таблица остаётся интерфейсом там, где её любят и где она удобна, а хранение, права и связи уходят туда, где есть транзакции и история.
- Что переносить первым: справочники — клиенты, товары, сотрудники. Именно они дублируются чаще всего, и именно из-за них расходятся суммы.
- Что оставить в таблице: разовые расчёты, планы, сценарии «что если», выгрузки для бухгалтера и подрядчика.
- Что нельзя оставлять: персональные данные с доступом на весь файл и всё, что служит основанием для платежа без второй проверки.
- Как не остановить работу: сначала система начинает заполняться параллельно с таблицей, потом таблица становится отчётом, потом её отключают.
Такой порядок снимает главный риск — простой на время переезда. Люди продолжают видеть привычный лист, но данные в нём появляются не от руки, а из системы. Чем процесс описывается до переезда — в статье про карту процесса и про регламент.
Как измерить, что таблица уже мешает
Спор «таблица или база» решается замером, а не вкусом. Четыре метрики снимаются за неделю и не требуют отдельного проекта.
- Время на сборку сводки: сколько минут в день уходит на копирование и сверку. Двадцать минут в день — это около семи часов в месяц.
- Доля строк, поправленных после ввода. Наш ориентир: если больше 10–15%, значит, на входе нет проверок формата и обязательных полей.
- Число версий файла за месяц. Больше десяти копий вида «итог_финал» — признак, что общей цифре не доверяют.
- Количество ручных переносов между таблицами. Каждый перенос — место, где появляются дубли и расходятся итоги.
Эти же метрики потом показывают эффект переезда: время на сводку, число правок, число версий. Как считать эффект автоматизации, мы разбирали в отдельной статье, откуда берутся дубли — здесь.
Порядок действий на этой неделе
- Выписать, какие данные вводятся вручную и куда потом переносятся. Одна страница текста, без схем и диаграмм.
- Отметить факты, которые живут в двух местах: клиент, заказ, оплата. Это и есть кандидаты на первую нормальную запись.
- Посчитать объём: строк в месяц и заполненных ячеек. Если меньше нескольких сотен строк — таблица остаётся, вопрос только в правилах ввода.
- Проверить организационные признаки из таблицы выше. Если два и больше — планировать базу, начиная со справочников.
- Замерить время на сводку до изменений. Без этой цифры через месяц никто не вспомнит, стало ли лучше.
Таблица — не «плохой инструмент», а инструмент с известными границами: она хороша там, где процесс ещё меняется и где работает один-два человека. За границей начинаются обычные требования — одна запись в одном месте, права на часть данных, история изменений, транзакции. Но эти требования появляются не от размера компании, а от цены ошибки. Что мы делаем с процессами — в разделе услуг, примеры — в кейсах, разбор вашей таблицы — на диагностике. Если таблица уже стала «операционной системой», посмотрите разбор автоматизации заявок.
Посмотрим на вашу таблицу и скажем, где её достаточно, а где нужна база.
Получить диагностикуИсточники
- Google Drive Help — Files you can store in Google Drive (размеры файлов) — таблица Google Sheets — до 20 млн ячеек или 100 МБ; при конвертации из Excel ячейки длиннее 50 000 символов удаляются; в Connected Sheets сводные — до 200 тысяч строк, выгрузки — до 500 тысяч строк или 5 млн ячеек
- Google for Developers — Google Sheets API: Usage limits — 300 чтений и 300 записей в минуту на проект, по 60 на пользователя в проекте; рекомендованный размер запроса — 2 МБ; запрос дольше 180 секунд завершается таймаутом; пакетный запрос считается одним обращением
- Raymond R. Panko, What We Know About Spreadsheet Errors (Journal of End User Computing, 1998, ред. 2008) — архивная копия — с 1995 года ошибки в 88% из 113 таблиц в 7 полевых аудитах; Coopers & Lybrand (1997) — 23 таблицы длиннее 150 строк, 91% с расхождением не менее 5%; KPMG (1998) — 22 таблицы, 91% только значимых ошибок; Powell, Lawson, Baker (2007) — 25 таблиц, 64% с ошибками, у всех 10 таблиц с известным размером ошибки она превысила 100 тысяч долларов; ошибки в формульных ячейках — около 1% и выше; консультанты оценивали долю таблиц с ошибками в 20–40%
- EuSpRIG — Horror Stories (подборка публичных случаев ошибок в таблицах) — PSNI (август 2023): опубликованы персональные данные 10 799 сотрудников из-за лишнего листа таблицы, штраф регулятора — 750 тысяч фунтов (май 2024); NBIM (2024): потеря около 980 млн норвежских крон, примерно 92 млн долларов, из-за неверно введённой даты; дело Frank/JPM: список содержал ровно 1 048 576 строк — предел строк Excel