Владимир Ситников - B-tree индексы в базах данных на примере PostgreSQL

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 50

  • @ВалерийЕрослаев
    @ВалерийЕрослаев Рік тому +39

    Вот это да. 10 лет программирую, столько текстов прочитал о всякой-всячине, но конкретику нашел именно тут. Спасибо за видео

    • @igorseledtsov7345
      @igorseledtsov7345 10 місяців тому +4

      Что ж вы читали то? тутто как раз вода водой без конкретики

    • @pyramidhead9692
      @pyramidhead9692 10 місяців тому

      ​@@igorseledtsov7345а можете подсказать где подробнее всего описана работа индексов без воды? Хочу подробнее разобраться, непонятны некоторые моменты

    • @DimaTiunov
      @DimaTiunov 3 місяці тому

      @@igorseledtsov7345так это обычно нужно для вводной, а потом наложится что уже прочитанное

  • @gregoryrubies6045
    @gregoryrubies6045 Рік тому +9

    Очень полезный доклад. Побольше бы такого. Достаточно прикладные вещи, но мало где это подробно описано

  • @svfilipp
    @svfilipp Місяць тому +1

    Круто 👍 Очень полезно и без воды, спикеру отдельный респект 🫡

  • @РоманБойко-б1т
    @РоманБойко-б1т 10 місяців тому +1

    Прекрасный доклад
    Спасибо!

  • @АлексейТитаев-п6в

    Владимир, спасибо огромное за доклад!

  • @КонстантинМаксимов-п3о

    Отличный доклад, большое спасибо автору 🙂

  • @romanlunin386
    @romanlunin386 Рік тому +2

    Шикарный доклад, посмотрел с удовольствием, хотя знал это всё)

  • @Serj1c
    @Serj1c 10 місяців тому +1

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

  • @adilkhanzaidulla8244
    @adilkhanzaidulla8244 8 місяців тому

    Материал, презентация, доклад, все на высшем уровне, спасибо Владимиру за работу

  • @UnitedIngvar
    @UnitedIngvar 3 місяці тому

    Спикер - выше всех похвал. Спасибо большое, Владимир, было очень интересно!

  • @sergeng-gd5ev
    @sergeng-gd5ev 11 місяців тому

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

  • @vladglushak4306
    @vladglushak4306 Рік тому

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

  • @ДимаГоликов-с6ш
    @ДимаГоликов-с6ш 6 місяців тому

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

  • @LarisaBogomolova-v1i
    @LarisaBogomolova-v1i 6 місяців тому

    Благодарю вас за такой прекрасный материал, чистое наслаждение слушать :) Если вы будете выкладывать информацию о докладчике под видео и прикладывать ссылки на его соц сети любить вас будут гораздо больше :)

    • @Heisenbugconf
      @Heisenbugconf  6 місяців тому

      Здравствуйте! Спикер оставил свои контакты в самом начале презентации 😊
      Его ТГ @vladimirsitnikv, и электронная почта sitnikov.vladimir@gmail.com

  • @RaptorT1V
    @RaptorT1V Рік тому +2

    Я только начинаю в PostgreSQL, мало что понял, но было интересно

  • @TheNo0ker
    @TheNo0ker Рік тому +1

    Ситников - топ

  • @MrVitalirapalis
    @MrVitalirapalis 10 місяців тому

    Очень интересный доклад, больше года к сожалению приходится работать только с nosql elasticsearch и там структура данных при индексирование не b-tree а inverted index (array) что оптимизировано для поиска по тексту, кайфанул от просмотра, очень детально.

  • @bobhutchinson3638
    @bobhutchinson3638 5 місяців тому

    Шикарное объяснение

  • @Aleksey_P
    @Aleksey_P 9 місяців тому

    Очень доступно для новичков

  • @MarselPavuk-u6c
    @MarselPavuk-u6c 8 місяців тому

    Спасибо, отличный материал)

  • @coox4546
    @coox4546 Рік тому +6

    Хорошее объяснение. Буду шарить всем неверующим, что юид не самый лучший вариант для айдишки )))

    • @nbukov
      @nbukov Рік тому +2

      Это не так. Есть такая штука как "последовательный uuid" и проблема со вставкой уходит.

    • @TheMrMagyar
      @TheMrMagyar 10 місяців тому

      @@nbukov дополню, сортировку поддерживают uuid v6 и v7

    • @vasyavasin7364
      @vasyavasin7364 10 місяців тому

      ​@@nbukov uuid v6

    • @xfgweb
      @xfgweb 6 місяців тому +3

      UUID нужен если необходимо шардирование базы данных. Если это не требуется, то и UUID использовать незачем.

  • @levorlov8788
    @levorlov8788 Рік тому

    Познавательно. Спасибо :)

  • @kl45gp
    @kl45gp 5 місяців тому

    огонь!!

  • @wickedtorpedo75
    @wickedtorpedo75 6 місяців тому

    последний вопрос явно был вопрос ради вопроса, что общего между дропом БД и индексами, да и вообще с постгресом?

  • @mcolegon
    @mcolegon Рік тому

    Насколько мне известно, при покрытии индекса (когда данные в таблице отсортированы) механизм индексирования не в таблицу заглядывает для определения видимости строк, а в так называемую карту видимости, в которой vacuum отмечает строки которые не менялись очень долгое время, и доступны всем транзакциям. И если идентификатор строки попадает в эту карту то видимость можно не проверять. Поправьте если не прав.

    • @amarazmable
      @amarazmable Рік тому +1

      Эта штука называется Visibility Map и да она для ускорения и там целый блок помечается битом содержит он данные старые или нет.

  • @sergeypoprygin2670
    @sergeypoprygin2670 11 місяців тому +2

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

    • @SergeyKomarov-k1k
      @SergeyKomarov-k1k 9 місяців тому

      это только для запросов, где мы ищем сразу по обоим полям всегда. С таким индексом, будет меньше случайных обращений, потому что мы загрузим один блок, где все state будут почти всегда одинаковые и мы разом прочитаем много нужных записей.
      Если искать только по полю name, то такой индекс считай бесполезен. Тогда действительно стоит создавать (name, state) индекс. Ну или создать рядом ещё один индекс только по полю name

  • @kvintnorris9828
    @kvintnorris9828 Рік тому +2

    правильно ли я понял, что случайные uuid как индекс бесполезны и поск все равно будет перебором?

    • @KikkerRus
      @KikkerRus Рік тому +3

      Нет. Речь была о скорости обновления индекса.

    • @Parsifal-j4j
      @Parsifal-j4j Місяць тому

      @@KikkerRusправильно ли я понял что при добавлении индекса с uuid, все индексы перестраиваются?

  • @aleona136
    @aleona136 10 місяців тому

    В последнем примере про поиск по статусу и имени почему просто не создать частичный индекс куда войдут только строчки с PENDING если мы ищем только по таким строчкам?

  • @indigolight6007
    @indigolight6007 2 місяці тому

    посмотрел

  • @ivanmatew568
    @ivanmatew568 Рік тому

    Отсортированный по времени UUID еще называют Ulid.

    • @PVBovercomes
      @PVBovercomes Рік тому

      Это схожие, но разные виды id

  • @mgsfdgsfdgsgssdgrsdgdrgsr16
    @mgsfdgsfdgsgssdgrsdgdrgsr16 9 місяців тому +1

    Ни о чем, если честно.

  • @johnnester3115
    @johnnester3115 7 місяців тому

    Такая нуднятина, столько воды, жесть!

    • @wickedtorpedo75
      @wickedtorpedo75 6 місяців тому +1

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

  • @С.Семенчук
    @С.Семенчук Рік тому +2

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

  • @АленаБалаганская-ж7к

    Спасибо, отличный доклад. Штук 5 видео про индексы я посмотрела на ютубе, и только в этом услышала то, что помогло мне осознать суть происходящего.