Comments 13
Было бы неплохо упоминать про Google quotes в таких статьях. А именно, что количество запросов и общее время выполнения скриптов - ограничено.
Кроме того, выполнение GET вызова, запрос данных с помощью
sheet.getDataRange().getValues()
например на 20000 строк и последующая обработка занимает 1-2 секунды, что может привести к коллизиям даже в среднезагружнных проектах.
Спасибо за комментарий! Да, действительно, ограничение такое есть, это важное замечание.
А по второму пункту, какой вариант тут можно предложить для оптимизации?
"quotes" --> "quotas"
которое сэкономит кучу часов рабочего времени вас и ваших коллег
Лишь бы не стало это решение в дальнейшем генератором негативных эмоций у клиентов. В одной организации наблюдал внутренний софт с базой на Sheets. Задумчивый - это мягко сказано.
Из-за лимитов не получится хоть сколько нибудь интенсивно использовать Sheets API. Хотя я тоже как-то использовал связку скрипта и таблиц, для промокодов (запросов немного).
Наверняка есть какой-то опен сорс self hosted аналог google spreadsheets. Вот его-то и надо было использовать.
Извините, но таблицы (гугловские, ексель,...) НЕЛЬЗЯ называть базой данных. Где внешние ключи в таблицах, где ограничения, где связи "один ко многим" например,.....?
Ваше решение тоже имеет место быть, но похоже на "мы создали проблему и героически её решили".
Не проще ли купить бомж хостинг за 100 рублей, запустить там SQLite (если это действительно бомж хостинг и нет MySQL)?
Можно даже на своём компе запустить SQL сервер и прокинуть его в интернет с помощью какого нибудь Tuna или xTunnel,.... Даже это мне кажется будет лучше чем таблицы гугла.
Абсолютно согласна) В нашем случае мы и не используем таблицы как базу данных в классическом смысле. Гугл-таблицы тут — это просто удобный интерфейс для работы с данными, который используют наши коллеги. В данном случае мы забираем данные из таблиц, трансформируем их в нужный формат и сохраняем в MongoDB, где уже обеспечены связи, схемы данных и оптимизированные запросы.
Базы данных в названии - это конечно очень грубо говоря и не в прямом смысле, про это я уточняю в статье
Нельзя назвать реляционной базой данных, но базой данных назвать можно, так как она хранит данные.
Как использовать Google Sheets в качестве базы данных