PostgreSQL worst practices / Илья Космодемьянский (Data Egret)

Sdílet
Vložit
  • čas přidán 15. 08. 2018
  • Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
    Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
    --------
    --------
    HighLoad++ 2017
    Тезисы:
    www.highload.ru/2017/abstracts...
    This talk is prepared as a bunch of slides, where each slide describes a really bad way people can screw up their PostgreSQL database and provides a weight - how frequently I saw that kind of problem. Right before the talk I will reshuffle the deck to draw ten random slides and explain you why such practices are bad and how to avoid running into them.
    --------
    Нашли ошибку в видео? Пишите нам на support@ontico.ru

Komentáře • 31

  • @olegmakarikhin
    @olegmakarikhin Před 5 lety +119

    сложно слушать. всё время приходится напоминать себе что это "worst practices"

    • @user-hq6nm2tf6j
      @user-hq6nm2tf6j Před 4 lety +12

      согласен, сложно из-за этого воспринимать информацию

  • @Elfcheg
    @Elfcheg Před rokem +7

    Навскидку.
    1. order by замедляет выполнение запросов, требует памяти для сортировок, может еще и задействовать temp. Просто положите в таблицу отсортированные заранее данные - они всегда гарантированно будут возвращаться в таком же неизменном порядке.
    2. Всегда старайтесь использовать select *, особенно в выражениях типа INSERT INTO ... SELECT * FROM ... Ведь порядок столбцов в таблицах и их количество никогда не меняется.
    3. Если вам надо, например, изменить тип данных в столбце, то с этой задачей справится простой alter. Делать новый столбец, заполнять его корректными данными, потом менять местами со старым - это для ботаников. Лучше забокировать огромную таблицу и спокойно дождаться выполнения, а приложение подождет!
    4. Туда же изменение большого количества данных. Делать пустую таблицу, заполнять измененными данными, потом удалять старую и подсовывать на ее место новую - это как-то слишком сложно. Помните: update всегда быстрее, чем insert! Заодно vacuum будет чем заняться.
    4. Для продвинутых. Не доверяйте оптимизатору! Вы лучше знаете, где лучше индекс скан, а где фулл тейбл скан. Установите расширение для Postgres, которое добавляет хинты оптимизатора, пусть будет как в энтерпрайзном оракле! Пользуйтесь хинтами везде, где это возможно. Их много разных, попробуйте их все!

  • @ansarozden5767
    @ansarozden5767 Před 5 lety +20

    Хорошее чувство юмора. Сразу видно, человек любит свое дело.

  • @SerZab80
    @SerZab80 Před 2 lety +39

    вредные советы в инженерии - худший вариант подачи, кто шарит - веселится, кто не шарит - ловит когнитивный диссонанс от переусложнения

    • @rhxahob2763
      @rhxahob2763 Před rokem +3

      Кто же вас заставлял посмотреть доклад с таким названием?
      Докладов и статей с Best Practices хоть жопой ешь, да и подача там такая замечательная, что начитавшиеся их кодеры/dba считают себя бесповоротно просвещенными и в итоге начинают реализовывать слайды с этого доклада))

  • @ZealousSanity
    @ZealousSanity Před 4 lety +8

    Так и не понял где тут правильные утверждения а где нет...

    • @AlexeyPetushkov
      @AlexeyPetushkov Před 4 lety +5

      там все "вредные советы". но, очевидно, формат сарказма и вредных советов плохо подходит для того чтобы делиться опытом - мозг не любит напрягаться инвертировать смысл запомненного, даже если по факту все было правильно и хорошо расписано\рассказано

  • @laune73
    @laune73 Před 6 lety +2

    Отлично! Хорошее настроение Илья мне сделал!

  • @dmitryd1572
    @dmitryd1572 Před 5 lety

    Отличный доклад !

  • @greentubedog
    @greentubedog Před 5 lety +2

    вызывает когнитивный диссонанс - сколько смотрел, столько убеждал себя, что всё это неправда

  • @igoreliseev1462
    @igoreliseev1462 Před 4 lety +6

    Это лучший доклад за всю историю HL!) Спасибо!)

  • @user-vl9sx2qy1z
    @user-vl9sx2qy1z Před 6 lety +12

    Хороший доклад! Не хватает закадрового смеха!

  • @AndriiKuftachov
    @AndriiKuftachov Před 3 lety +1

    Это прямо как Павел Воля, только лучше 😎😎😎

  • @eugeneus77
    @eugeneus77 Před 5 lety +2

    Обалденно! Про PgPool2 - да-да-да!!!!, много на чём споткнулся, но научился готовить (хорош под конкретные кейсы)

  • @volodymyrbrodskyi1985
    @volodymyrbrodskyi1985 Před 5 lety +2

    Отлично, улыбнулся, переслал разарабам

  • @eeeeeeee133
    @eeeeeeee133 Před 5 lety +6

    На 8:15 привет ребятам из Битрикса.

    • @user-hs5uk7wm9j
      @user-hs5uk7wm9j Před 5 lety +2

      Ха! Тоже про них вспомнил. Мне больше всего нравится, что они ОБЫЧНЫЕ таблицы называют highload ! Конечно, относительно их инфоблоков..

  • @iteasy4005
    @iteasy4005 Před 5 měsíci

    Тот самый случай, когда очень умный человек объясняет всё с сарказмом, так как для него это очевидно, а у меня в голове каша. Если что-то плохо, я хочу слышать слова: плохо, ужасно , отвратительно, запрещено.

  • @spirridd
    @spirridd Před rokem +3

    Крайне тяжело смотреть. Если бы вредные советы были рассказаны за 5 минут, а потом в нормальном повествовании они были разобраны, лекцию можно было бы досмотреть.

  • @nullpadshot
    @nullpadshot Před 2 lety

    Мое любимое - не уверен что по теме но все же - не использовать никаких where в запросе, а тянуть всю таблицу в память приложения и там ее перебирать по условию

  • @dimirsen
    @dimirsen Před 4 lety +2

    Сарказм выступающего никак не отличается от обычного повествования
    Получается как в видео czcams.com/video/D6FDF2mxJAo/video.html

  • @user-hp6iz7sn5n
    @user-hp6iz7sn5n Před 2 lety +1

    не всегда понятно, что ирония, а что нет.

  • @user-zv7hb6cd1f
    @user-zv7hb6cd1f Před rokem

    Вот на моменте с вопросами из зала стало сложно понимать, где ирония, а где истина

  • @kazus11
    @kazus11 Před 2 lety +3

    Что не так с orm? То что она работает медленнее чем голые оптимизированные запросы в бд?
    Давайте тогда писать на ассемблер. Причем лучше и СУБД под каждый набор данных будем создавать свою оптимизированную.

  • @s0faRy
    @s0faRy Před 4 lety +20

    Человек выступающий за 80% времени использует сарказмы, тем самым не понимая что многие люди физически не способны воспринять сарказм... Самая лучшая практика выступать. (нет)

  • @nikolay0kim
    @nikolay0kim Před 2 lety

    Давно так не смеялся

  • @GagikHarutyunyan_dev
    @GagikHarutyunyan_dev Před 2 lety +5

    Вместо шуток можно было доказать и/или показать как лучше делать

  • @timuracus1975
    @timuracus1975 Před 11 měsíci

    Так я все делал правильно ))))

  • @vinogradishev
    @vinogradishev Před rokem

    Тяжело воспринимать, для профи видео.

  • @drtengu
    @drtengu Před 3 lety

    Совет 21 это +1