В каком виде хранят данные Гугл-документы и похожие сервисы?

Ссылка скопирована
28 марта 2026 1 ответ

Хочу в целях тренировки написать похожий сервис. Упрощённый, конечно. Интересно, в чем и как хранить тексты. Только у меня будут не текстовые документы, а что-то вроде таблиц. Вот пытаюсь понять, как в БД организовать структуру данных.

Суть: Годы-месяцы-дни-план на день в виде таблицы.

Приложение должно определять сегодняшний день, подгружать план на день, показывать данные таблицей, предоставлять юзеру возможность править текст в ячейках и т.д.

В общем, вопрос, как организовать БД? Или хранить на севере в джейсонах?

Дополнительно:

База данных вполне сгодится. Обычный crud

  • В вопросе фактически звучат 3 разных вопроса.

    1) Разработка формата хранения и обработки диаграмм планирования (Ганта?)
    2) Разработка API для отображения этих данных и редактирования в браузере (front-end)
    3) Back-end и подсистема хранения. Варианты : файловая система или база.

    Мне кажется что 1 пункт - самый важный. Он определяет для 2х следующих пунктов как работать. Во первых что будет внутри диаграммы? Будет ли это 1 документ или сет связных между собой документов. Будет ли документ версионироваться внутри (как Office документы которые хранят историю изменений). Формат. JSON/XML/yaml бинарные форматы BSON, фреймворки бинарной сериализации такие как Apache Thrift, Avro, Protobuf. Будет ли документ блочный или поточный. Блочный например позволяет подгружать данные частично. Как таблица в БД.

    Вобщем если-бы я разрабатывал формат - то нарисовал-бы сначала на бумаге картинку. Потом описал спецификацией просто все что есть. Годы-месяцы. Задачи. Исполнители. События. Алёрты. Напоминалки. И вот от этого бы делал.

  • mayton2019, однако, слишком сложно, буду простит... ээ.. я всего этого не знаю. Решил просто open server с мускулем поднять. Пока так попробую, представление и движок настрою. А потом буду дальше в форматы углубляться... Или не буду... Я блин, с каждой задачей, которую сам себе ставлю, натыкаюсь на всё большее количество всяких нюансов. И за подробное изучение какого из них взяться, не могу решить. Хотел бы уже к какой-нибудь команде примкнуть, чтобы сфокусироваться на конкретных задачах и стеке... Но не берут, к сожалению.
    Получается, пока сам для себя играюсь.
  • Ответы:

    Только не пытайтесь в базе хранить буквальное представление ежедневника как двумерной сетки из квадратиков - где пишут заметки на определенный день. Сетка ежедневника - это просто удобная форма вывода данных, но не способ их хранения.
    Хранится это все будет, скорее всего линейно и банально списком заметок с заданными начальными и конечными интервалами:
    Таблица заметок:
    id - идентификатор заметки
    begin_date - начало интервала
    end_date - конец интервала
    comment - заметка
    Вот это минимум, что будет содержаться в базе данных в ее таблице.
    А уже как будете получать данные этой таблицы и строить представление по дням, рисовать календарик - это уже не задача СУБД, а приложения, которое будет использовать эти данные.

    • alexalexes там фишка в том, что каждая заметка - это таблица с тремя разделами... в обсчем, я пока решил сделать так.
      Год - это новая бд. Каждая таблица - это день. В нём поля id, First, second, third.
      В id ключ, понятное дело. А дальше - да, как двумерная таблица. Первая ячейка, вторая, третья. Начало раздела - это заголовок, который повторяется в каждом из трёх полей.
      Например
      Заголовок Заголовок заголовок
      текст текст текст
      ....
      заголовок 2 заголовок 2 заголовок 2
      текст текст текст

      и т.д.

      Мне всё логично и парсить удобно вроде =)

    • Таблица в СУБД, и то что вы представляете в качестве таблицы (сущности) на уровне бизнес-логики приложения - это разные вещи. Сущность на уровне бизнес-логики не будет один в один укладываться в такую же единицу в терминах СУБД. Таблицы в СУБД используют реляционный подход, который не соотносится с сущностным подходом. Этот разрыв требует от разработчика определенного навыка анализа предметной области, чтобы преобразовывать сущности в отдельные таблицы (так называемый процесс нормализации данных). Вам нужно с одной стороны понять, как работает реляционная алгебра в СУБД, как правильно создаются объекты в ней (таблица - это только один из объектов, есть еще связи, триггеры, последовательности, представления и т.д.) и как их правильно используют. А с другой стороны, нужно научиться анализу предметной области, выделять сущности, классифицировать их, видеть какие вспомогательные сущности должны быть созданы, как их перенести на объекты СУБД (не только таблицы). Это в купе довольно сложно объяснить в одном комментарии, но между СУБД и приложением есть определенная пропасть, и навыки программиста как раз направлены, чтобы пробросить мост над ней.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Мария Код Ответ

    Гугл-документы и другие подобные сервисы хранят данные в облаке. Облако - это удаленный сервер, который предоставляет доступ к данным через интернет. Данные в Гугл-документах хранятся на серверах Гугла, которые находятся в различных уголках мира. Это позволяет пользователям получить доступ к своим документам из любого устройства, подключенного к интернету.

    Для обеспечения безопасности данных Гугл-документы используют различные механизмы шифрования. Все данные передаются по защищенному каналу связи, что предотвращает их перехват злоумышленниками. Кроме того, Гугл имеет многоуровневую систему защиты данных, которая включает в себя автоматическое резервное копирование, защиту от вирусов и злоумышленных атак, а также защиту от несанкционированного доступа.

    Все изменения, внесенные в документы, автоматически сохраняются в облаке, что позволяет пользователям восстанавливать предыдущие версии документа в случае ошибки или утраты данных. Кроме того, Гугл-документы предоставляют возможность совместной работы над документами нескольким пользователям одновременно, что делает процесс совместной работы более эффективным.

    Таким образом, Гугл-документы и похожие сервисы обеспечивают удобное хранение и обмен данных в облаке, обеспечивая при этом их безопасность и доступность. Они становятся все более популярными среди пользователей, так как облегчают процесс работы с документами и улучшают коммуникацию и сотрудничество между пользователями.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно