что ненормального в sqlite? Для такой задачи как раз и нужна sqlite.
Единожды открыть файл и читать с задержкой почти равной латентности диска гораздо лучше, чем подключить Postgres и сначала сформировать пакет, потом подождать пока операционка сматчит буферы дальше распарсить его на стороне СУБД, потом сделать все тоже самое что делает sqlite и еще ждать отправки в другую сторону.
И это мы говорим о том что postgress находится на одном хосте с ботом.
Если говорить что-то о скорости, то у sqlite есть no-sync режим когда у тебя после первого чтения данные хранятся в оперативе, и синхронизируются с файлом только по команде.
Для учебного проекта идеально ибо оперативы на всех точно хватит, скорости сколько хочешь, и если что-то пойдет не так - это лишь учебный проект. Ты все равно не переживаешь за потерянные данные.
Но есть варик еще проще.
Просто хранить текстовики или json-файлы в определенной папочке с названиями равными tg_id юзеров и со всей необходимой инфой на каждого внутри. Тогда даже все еще без доп либ обойтись получится. А по скорости будет почти как sql без no-sync режима, но это можно компенсировать храня во время основной работы данные в хэшмапе и выгружая в файлы по необходимости
Пропускная способность оперативки около 20ГБ/с
Современные NVME SSD работают на шине PCIe 3.0 x4 пропускная способность которого менее 4ГБ/с
А скорость чтения в крайнем случае 3ГБ/с
В таком случае теоретически вам потребуется 8 SSD NVME что бы получить аналогичную пропускную способность
Но все разбивается о реалии нашего жестокого мира, когда речь заходит о латентности
Латентность доступа на чтение SSD весьма далека от латентности RAM в пару десятков нс.
Латентность записи - пока есть свободные страницы для записи ещё ничего, а вот если свободных страниц нет - то привет. Латентность растёт крайне существенно.
На самом деле даже самые современные NVME SSD могут в теории показать латентность на уровне в 10 микросекунд, что в тысячи раз больше чем у оперативной памяти.
Как результат такой компьютер будет нереально тупить
На самом деле недавно вышло решение Intel Optane DC Persistent Memory
По сути SSD в формате оперативной памяти, но у них все равно скорость в разы ниже чем у оперативной памяти, потому этих модулей не может быть больше половины от общего числа планок на каждом канале
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.