Bogdan (SirEdvin)
Почему именно её?
А какую еще документо ориентированную взять?
Bogdan (SirEdvin)
Ресинкдб немного мертв
Семен
А для постгреса мы используем gino. Норм орм (Gino is not orm) если не впадлу к каждой строке в моделях писать pylint игнор
Bogdan (SirEdvin)
Rethinkdb?)
Семен
Кстати. Раз зашла речь. Может вы подскажете, а в каких случаях надо юзать монгу?
У нас очень плавающая структура бд в одном из сервисов. Решили монгу использовать
Dmytro
Mongo самая популярная документоориентированная ДБ
Семен
А для постгреса мы используем gino. Норм орм (Gino is not orm) если не впадлу к каждой строке в моделях писать pylint игнор
Статический анализ пайлинта постоянно ругается на гино, он не видит Columnы и типы полей в инстансе Гино. Уж очень больно каждый раз смотреть на файл моделей
di_caspico
Если кому интересно
di_caspico
Send Your Name to Mars: Mars 2020 https://mars.nasa.gov/participate/send-your-name/mars2020/e/
Bogdan (SirEdvin)
Вот она заставляет оптимизовать каждый запрос)
Tishka17
А какую еще документо ориентированную взять?
Ну если именно документо ориентированность
Radu
типа так?
о, сейчас попробую, спасибо)
Bogdan (SirEdvin)
У нее нет этапа выбора индекса и разработчик должен каждый раз для запроса явно прописать какие индексы и как использовать. Вот это очень весело
Anonymous
если в Python возникает рекурсия, то, например, в списке она отображается как "...", то есть многоточие. Странное явление
Bogdan (SirEdvin)
Ну если именно документо ориентированность
Ну еще могу сказать, что монга вроде как немного лучше в плане обслуживания условной репликации, чем postgresql из коробки. Но основной момент думаю все-таки связан с документно-ориентированностью, когда нужно хранить не очень связанные, но слабоструктурированные и вложенные данные
Anonymous
о, сейчас попробую, спасибо)
но можно вот так в лоб:
Radu
но можно вот так в лоб:
так не интересно
Radu
но можно вот так в лоб:
пытался с распаковкой, но делал через append, забыл про extend
Bogdan (SirEdvin)
Ага. Только по таким данным и поиск сложнее
Ну, обычно для поиска часть из этого документа таки стандартизируется, а по всему остальному поиск не нужен или нужен очень редко
Проксимов
Где?
Он про то, когда объект ссылается сам на себя
Anonymous
Dmytro
Language: py3 Source: a = [] a.append(a) print(a) Result: [[...]]
Dmytro
А что смущает?
Anonymous
А что смущает?
синтаксис 🙂 А вообще очень интересуют такие пародоксальные явления
Bogdan (SirEdvin)
И вот тут я даже не знаю, есть Профит перед хранением блоба в постгресе?
В блоб еще надо завернуть специально, а так словарь приехал, словарь записали. Еще я бы добавил, что json field у постгреса сравнительно недавно и все теперь можно складывать в него
Bogdan (SirEdvin)
Ну, если вам условный поиск таки нужен будет раз в два-три дня, то будет весело
Bogdan (SirEdvin)
С блобами
tpouuhk
Какие есть библиотеки для работы с графами? 🤔
tpouuhk
networkx 🤔
🍁 Jaŭhien
ага, крутая либа
tpouuhk
ага, крутая либа
ebunch -> An iteratable container of edge tuples like a list, iterator, or file.
tpouuhk
🤔🤔🤔🤔🤔
Ruslan
Вас же наверно скорость интересует, раз за асинк взялись?
Не, я чтобы рука не отвыкала. На самом деле мне из телеграм бота асинхронного надо в БД джанги забрасывать данные, неспешно
koder
Вас же наверно скорость интересует, раз за асинк взялись?
очень сомнительно что бы async хоть на грам влиял на скорость, если в процесс вовлечен постгрес. Во-первых редкая база умеет 1k+ соединений (даже 100 часто проблема). Во вторых там все настолько будет в базу упираться, что разницы не будет в любом случае. Скорее для однообразия с остальным кодом
Dmytro
Почему же. Ждать запрос от БД нужно время, за которое можно было бы выполнять другие полезные действия
Dmytro
koder
да, не влияет. Асинк позволяет эффективнее (на самом деле нет, я уже кидал вагон тестов) работать если соединений реально много. 5k+, никак не меньше. Если в активность вовлечена база, с ее стандартными пределами где-то в 64 коннекшена в пуле - запросы к базе можно, совершенно не жертвую ничем, отгрузить в сторонний пул потоков
koder
И получить весь нормальный orm (а не обрезанную процедурную версию), все драйвера и все такое. И не насиловать себе моск с асинком
Ivan
https://github.com/yandex-cloud/ydb-python-sdk/blob/master/kikimr/public/sdk/python/examples/secondary_index/app/__init__.py#L7-L15 а так во фласке вообще легально делать?
Ivan
что не так?
нигде не видел чтоб делали app.db = DB()
Anonymous
нигде не видел чтоб делали app.db = DB()
ну это же яндекс, еще б у них не было "нестандартных решений"
Илья
Эх, то самое чувство, когда сделал свой первый коммит в жизни 😎
Tigran
👏🏽
Илья
Хотя и до этого на GitHub заливал, но через браузер, так что не считаеся тот раз, да?
Dmytro
Да.
Илья
Aragaer
и еще статических вместо анимированных
Dmytro
Ну почему-то же выбирают его :)
Тупые просто, думают прирост скорости будет.
Илья
и еще статических вместо анимированных
Ещё и с минимальным количеством цветов на пикче
koder
Ну почему-то же выбирают его :)
выбирают для чего? для сетевой работы - в массе потому что не умеют с потоками работать. И потому что инета начитались. Иногда выбирают что бы иметь контролируемую латентность и потому что потоки действительно все иногда усложняют. Иногда выбирают потому что остальной код асинхронный и не хотят возится с пулами (хотя это скорее от неумения офлоадить). Почему бы его не выбирали - для работы с SQL базами это бессмысленно чаще всего - UPD - с позиции скорости работы
Anonymous
что это за поток сознания?
ну это про то что асинк не даст прироста в скорости
Илья
Что делать, если я случайно зашёл в тренды Ютуба?!!!!? Мои глаза. ПАМАГИТЕ
Илья
что ты там увидел?)
Лучше тебе и не знать..... Там море детского контента
Anonymous
@gloomy_philosopher
koder
ну это про то что асинк не даст прироста в скорости
какое отношение к этому имеет предложние не использовать ORM? Я где-то про это писал? Перечитай еще раз мои сообщения
Anonymous
мне реально жаль если ты так думаешь
Dmytro
Что лучше - ждать пока бд будет искать в 10к записях, или в этот момент обрабатывать другие задачи?
koder
Что лучше - ждать пока бд будет искать в 10к записях, или в этот момент обрабатывать другие задачи?
не ну серьезно. У вас траблы с русским? Читаем мой текст еще раз, блин
Dmytro
А если одно ядро в процессоре - потоки вообще беспонтовая вещь
koder
он считает что лучше ждать)
Там большими буквами написанно - оффлоад в пул потоков
Максим
ассинхронщина вперёд!
koder
мне реально жаль если ты так думаешь
во что обычно упирается код, который делает запросы к базе?
koder
даже если ваш обработчик асинхронный - удобнее оффлоадить запросы к базу в пул поток, где использовать полноценную алхимию и все стандартные либы. А в это время в асинк потоке можно делать асинк запросы к другим ресурсам. Третий раз уже пишу
koder
Асинк версия алхимии очень кастрированна (потому что много чего в питоне, например setattr, нельзя сделать async)