@kiiii
Молодойучупитон

Какую базу данных использовать для телеграмм-бота?

Нужно хранилище данных для телеграмм-бота (БД для текстовых сообщений ). Подскажите пожалуйста, какую базу данных лучше использовать.
Будет круто, если кроме ответа на вопрос, оставите учебный материал по этой БД.
  • Вопрос задан
  • 3082 просмотра
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Всё зависит от того, какие задачи будут у вашего бота, какая будет у него архитектура, насколько сложные модели данных, собираетесь ли использовать ORM и какой именно.
А может быть вам реляционная структура БД и вовсе не нужна и больше подойдёт NoSQL база данных.
там их великое множество с разными возможностями и ограничениями от простых хранилищ ключ-значение, до развесистых и навороченных.

Я бы порекомендовал MongoDB.
Для питона есть огромное количество примеров и тьюториалов типа такого. Куда уж понятнее.

С Монгой вы избежите необходимости возиться со схемой БД, можно избежать специфического процесса инициализации базы, создания ее структуры.
Если данные, которыми будет оперировать ваш бот разнообразны, то неплохая идея написать модели в виде обычных питоновских классов, сделать методы сериализации (сохранения) в БД и десериалиации (загрузки) и забыть о базе как о какой-то отдельной сущности. Можно сконцентрироваться на логике работы.

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

P.S.
Прошу прощения за капитанские ссылки в тексте, но каков вопрос, таков и ответ.

P.P.S.
Должен признать, что я довольно предвзят в пользу монги. Скорее всего вам подойдёт всё что угодно.
Меньше всего потребует настройки и знания, видимо, sqlite. Это embedded база данных, она заточена для простого использования. Однако если вам вдруг понадобится запускать несколько инстансов вашего бота, которые будут работать с одной БД, то посмотрите всё же в сторону MongoDB или Postgres. Mysql стал сдавать позиции и нет особых причин не использовать postgres, если вам нужна именно реляционная БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы