Михаил Жилин - Как PostgreSQL может сделать больно, когда не ожидаешь?

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ม.ค. 2025

ความคิดเห็น • 29

  • @СергейСеменов-щ3ч
    @СергейСеменов-щ3ч หลายเดือนก่อน +6

    Докладчик оставил приятное впечатление. Было интересно послушать про такие хитрые кейсы

  • @sergeiazarov
    @sergeiazarov หลายเดือนก่อน +7

    Отличный доклад, спасибо!

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +1

      Спасибо!

  • @alevadnaya
    @alevadnaya 21 วันที่ผ่านมา

    Чем больше узнаю нюансов про работу бд, тем больше понимаю, как много еще не знаю. Спасибо за доклад.

  • @alexanderkozhemyakin9623
    @alexanderkozhemyakin9623 15 วันที่ผ่านมา

    Отлиичный докладчик. Большое спасибо за описаниие и решение проблем

  • @dy0mber847
    @dy0mber847 หลายเดือนก่อน +2

    18:25 блоками здесь страницы postgres называют?

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +2

      Да, в PG страницы и блоки означает одно и тоже, почти....

  • @shukhratrakhmonov3699
    @shukhratrakhmonov3699 25 วันที่ผ่านมา

    Спасибо за доклад, было интересно слушать! Также понравился подкаст на javaswag :)

  • @sergeya3184
    @sergeya3184 หลายเดือนก่อน +1

    Очень интересно, но не все понятно)
    1) В итоге как будут работать 2 параллельные транзакции обращаясь к последнему ctid?
    2) Разве любая подвисшая транзакция может заафектить видимость индексов?

    • @GrishinMisha
      @GrishinMisha 19 วันที่ผ่านมา

      2. Как я понял, индекс был невидимый потому что были старые версии строк. А автовакуум их не мог почистить пока первая транзакция не закончилась, так как она держала «горизонт очистки»

  • @Konstantin-VIII
    @Konstantin-VIII หลายเดือนก่อน

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

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน

      Идея интересная, то есть сделать параметр vacuum_truncate_timeout и если не успели, то пропускать truncate. Отличное предложение!

  • @igorvasilev6299
    @igorvasilev6299 หลายเดือนก่อน +1

    Зачем добавлять поле last_updated, если можно было просто сделать индекс на cnt, и так же выбирать максимальный? Не решило бы проблему?... А, ну да, если счетчики могут еще и уменьшаться, то не решило бы.

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +1

      cnt может и уменьшаться во времени. То есть cnt - не монотонно растёт. Но честно, время тоже не монотонно. Поэтому лучше добавить колонку version вместо last_updated. И её инкрементить.

  • @andreika713
    @andreika713 หลายเดือนก่อน +1

    Я так понимаю, это тот же доклад, что и на открытой сессии hl++

    • @antonmuzeev
      @antonmuzeev หลายเดือนก่อน

      Да)

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +1

      @@antonmuzeev почти. В HL добавлено ещё пара случаев.

  • @ЕвгенийМирошниченко-е5м
    @ЕвгенийМирошниченко-е5м หลายเดือนก่อน +3

    Михаилу следует узнать о термине СУБД (DBMS), тогда у него из речи исчезнут странные фразы типа "база данных управляет базой данных". Смотрите, Михаил, PostgreSQL -- это СУБД, это программа. А база данных -- это то, чем СУБД управляет

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +3

      Да, согласен. Спасибо за комментарий :)

  • @soapmctavish9888
    @soapmctavish9888 หลายเดือนก่อน

    Получается первый)

    • @tedikvredik
      @tedikvredik หลายเดือนก่อน

      у меня отображает, что коммент @bananasba был первым, так что увы..

  • @bananasba
    @bananasba หลายเดือนก่อน +3

    очень скучно и затянуто

    • @MiZhka1
      @MiZhka1 หลายเดือนก่อน +1

      Извините что так получилось. Цель была пояснить на примерах важность понимания инструментов с которыми работает разработчик. Можно посмотреть доклад с Highload 2024, там больше примеров, может быть более интересно (проскипав первые 25 минут)
      И спасибо за обратную связь!

    • @Konstantin-VIII
      @Konstantin-VIII หลายเดือนก่อน +1

      ​@@MiZhka1мне, как ораклисту, было интересно и познавательно

  • @dragvs
    @dragvs หลายเดือนก่อน

    Отличный доклад, спасибо!