Какую базу данных лучше всего использовать для асинхронного программирования?
Какую базу данных лучше всего использовать для бота Telegram?
Использовал Aiosqlite, но подумал ли может есть какая-то база данных шустрее и с возможностью делать несколько запросов в секунду.
Подскажите пожалуйста, если есть какая-то база данных побыстрее, желательно чтобы можно было записывать все в файл на своем компьютере (как в sqlite3)
Слышал еще о базе данных GINO , но не пользовался ею. Стоит ли ее использовать?
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
Владимир Коротенко, такое жалкое подобие, что даже Сбер на неё переходит. Да и с Ораклом у вас не получится использовать мультиплексирование на клиентской стороне, а без этого любые истории про асинхронность несостоятельны, ваш код просто неявно работает с пулом потоков.
Сергей Горностаев, переходят часто не из за технического превосходства а совершенно по другим причинам. В прочем это не умоляет достоинств синего слоника, это конечно удачный каламбур, если вы смотрите фильмы
На сегодняшний день единственная по-настоящему асинхронная СУБД - это PostgreSQL.
У вас есть что-нибудь в поддержку этого заявления? Какие-то замеры и/или другие источники? И другие СУБД, значит, менее "асинхронны"? Проясните.
Написано
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
Ромзес Панагиотис, можете исходный код посмотреть. У PostgreSQL асинхронность реализована, как на уровне движка, так и в протоколе. Другие СУБД блокируют соединение на момент выполнения запроса. По крайней мере реляционные.
InnoDB uses the asynchronous I/O subsystem (native AIO) on Linux to perform read-ahead and write requests for data file pages. This behavior is controlled by the innodb_use_native_aio configuration option, which applies to Linux systems only and is enabled by default. On other Unix-like systems, InnoDB uses synchronous I/O only.
Написано
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
Ромзес Панагиотис, есть пример кода, как сделать запрос без блокировки соединения?
Xpym4uk76, профайлер это класс программ который выводит время исполнения функций в вашем коде. Впрочем можно обойтись даже выводом в консоль даты начала и конца функции. Вы тогда сможете увидеть время исполнения и узкие места в вашей программе. И скорее всего это не база данных