Базы данных. MySQL. Транзакции

Поделиться
HTML-код
  • Опубликовано: 19 дек 2024

Комментарии • 63

  • @alexsemenov4658
    @alexsemenov4658 3 года назад +24

    26:24 неправильно. Write блокирует на чтение и запись всем кроме процесса который получил блокировку. Read блокирует на запись всем включаяя сам процесс - все могут только читать

    • @Rclass
      @Rclass  3 года назад +9

      Отличное замечание - оговорился/просмотрел, в закреп!

  • @JGolt
    @JGolt 3 года назад +11

    Спасибо за такой курс по SQL. Очень полезно и инфомративно! Отдельная благодарность за презентации, буду пересматривать для закрепления материала.

    • @Rclass
      @Rclass  3 года назад

      Спасибо, мы старались :)

  • @avesha5095
    @avesha5095 2 года назад +11

    Эти уроки, а особенно преподаватель - самородок! Всё очень доступно и доходчиво. Браво! 👍

    • @Rclass
      @Rclass  2 года назад +1

      Спасибо большое :)

  • @Kostia-code
    @Kostia-code 2 года назад +4

    Спасибо, все четко по делу и с хорошей презентацией. Жду новые лекции

    • @Rclass
      @Rclass  2 года назад +1

      Спасибо, мы старались :)

  • @vyacheslavaverkin5799
    @vyacheslavaverkin5799 4 года назад +9

    Про финансовые транзакции очень интересно!

    • @Rclass
      @Rclass  3 года назад +5

      Как-нибудь обязательно расскажем ;)

    • @mint_ukr
      @mint_ukr 3 года назад

      @@Rclass ждёмс

  • @AndyMazik
    @AndyMazik 3 года назад +2

    Большое спасибо! Это самое понятное объяснение из тех, что я встречал!

    • @Rclass
      @Rclass  3 года назад +1

      Спасибо, мы старались :)

  • @antony.dmr97
    @antony.dmr97 4 года назад +12

    Красавчик, очень полезное видео, однозначно лайк

    • @Rclass
      @Rclass  3 года назад

      Спасибо, мы старались ^_^

  • @Almas-2002
    @Almas-2002 Год назад +1

    Как круто он обьсняет

    • @Rclass
      @Rclass  Год назад

      Спасибо, мы старались :)

  • @ilya_dikushnikov
    @ilya_dikushnikov 2 года назад +1

    Спасибо за урок!
    Все понятно и крайне необходимо!))

    • @Rclass
      @Rclass  2 года назад

      Спасибо, мы старались :)

  • @straher
    @straher 3 года назад +2

    У вас отличные материалы! Спасибо!

    • @Rclass
      @Rclass  3 года назад

      Спасибо, мы старались ^_^

  • @dim3787
    @dim3787 Год назад +1

    24:50 - мне одному показалось, что автор объясняет тут про FOR UPDATE, а не про FOR SHARE?

    • @millkiway3682
      @millkiway3682 10 месяцев назад

      У него каждую минуту по ошибке или не верному высказыванию

  • @RuslanSkiraUkraine
    @RuslanSkiraUkraine 4 года назад +1

    Очень благодарен за видос! зашло.

    • @Rclass
      @Rclass  4 года назад +3

      Спасибо, мы старались ^_^

  • @viktors01
    @viktors01 3 года назад +2

    Спасибо) Все очень доходчиво! 🔥

    • @Rclass
      @Rclass  3 года назад +1

      Спасибо, мы старались :)

  • @alexbsu
    @alexbsu 2 года назад +1

    Что-то мало вопросов интересных было (понятно что в мануалах всё написано будет но)
    Как deadlock в итоге разрулится-то - какая из транзакций зафейлиться в итоге?
    Вот есть транзакция которая блокирует одну строку - делает сэйв поинт - блокирует вторую строку. Понятное дело сейчас заблокировано две строки. А если сделать ролбак на сейвпонит - будет ли заблокирована вторая строка?
    Я никогда не слышал о сериалайзбл блокировке но не важно, так при этой блокировке нельзя будет и со слейва читать?
    По ходу курса не слышал (а может прослушал) про master/slave, master+master, view. так же не понял что такое ключ и нафига он вообще нужен почему нужно считать длину ключа и почему это важно.
    Судя по аудитории им было очень интересно и полезно и без того.
    Спасибо

    • @Rclass
      @Rclass  2 года назад +1

      Добрый день!
      Курс ознакомительный, поэтому много чего нет. Те же хранимки например)

  • @ВасилийЕфремов-б7в
    @ВасилийЕфремов-б7в 3 года назад

    Качественно и понятно, спасибо

    • @Rclass
      @Rclass  3 года назад

      Спасибо, мы старались :)

  • @beatrixx_kiddo
    @beatrixx_kiddo Год назад

    Совсем непонятно на 21:57 что происходит. Там в начале первый пользователь коммитит, а потом вторым пользователем выполняется команда UPDATE? Или второй пользователь до коммита первого проводит операцию? Я учусь, и для меня это неочевидно. Хотелось бы, чтобы не нужно было строить догадок.

  • @sergevstigneev
    @sergevstigneev 3 года назад

    Добрый день! Спасибо за отличные ролики! Очень круто! Есть одно замечание-предложение. В видео показывать ссылки (а они же не кликается), особенно на Вики - история странная. Понятное дело, что ссылки можно продублировать в описание, но вот в в видео или надо короткие ссылки вставлять, или QR-коды. Успехов в развитии канала!!!

    • @Rclass
      @Rclass  3 года назад +3

      Спасибо за отклик! Суть в том, что ко всем докладам презентация прикладывается в описание и перейти можно оттуда. Можно даже сказать что презентация чаще всего используется как рабочий материал при выполнении заданий - там даже код специально не скриншотами натыкан, а текстом оформлен :) Но задумаемся, спасибо.

  • @abdulmajitkubatbekov5731
    @abdulmajitkubatbekov5731 2 года назад +1

    Спасибо большое

    • @Rclass
      @Rclass  2 года назад

      Спасибо что смотрите :) Мы для вас старались :)

  • @ianisforis
    @ianisforis Год назад

    Возможна ошибка. Насколько я знаю for update это не MVCC, for update - это пессимистическая блокировка на строку, а MVCC - это оптимистическая блокировка по полю version, пример SET name = 'A',
    version = version + 1
    WHERE id = 1 AND version = 1

  • @andreybespalov3629
    @andreybespalov3629 11 месяцев назад

    Ребят, а где видос про финансовые операции?

    • @Rclass
      @Rclass  11 месяцев назад

      Не сделали(

    • @andreybespalov3629
      @andreybespalov3629 11 месяцев назад

      @@Rclass Жаль, очень интересная тема. Попробовав погуглить нашел лишь один видеоролик на эту тему, не более(

    • @Rclass
      @Rclass  11 месяцев назад

      @@andreybespalov3629 в целом там все достаточно просто - вести всё двойной записью как в бухгалтерии :) Тогда ничего не возьмется из ниоткуда и не уйдет в никуда)

  • @ivanshipilov4265
    @ivanshipilov4265 3 года назад

    Я так понимаю. Играет кто-то по сети и тут идет запланированное ТО и накатывают патч. Все Юзеры получают LOCK TABLES и начинают грустить. Правильно?

  • @lyubovDobrinina
    @lyubovDobrinina Год назад

    Мне несколько раз приходила некотороя сумма, но я делов не знаю, что за переводы, фигурирует Тинькофф, а я с ним не имела делов, это получается они пользуются моими данными? Подскажите пожалуйсто.

    • @Rclass
      @Rclass  Год назад

      Не совсем поняли о чем вы)

  • @Zanozin
    @Zanozin 3 года назад

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

    • @Zanozin
      @Zanozin 3 года назад +1

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

    • @Rclass
      @Rclass  3 года назад

      Как только столкнемся - обязательно попробуем найти для этого подходящий инструмент :)

  • @xoxot_shamana
    @xoxot_shamana 2 года назад

    Спасибо

    • @Rclass
      @Rclass  2 года назад

      Всегда пожалуйста :)

  • @erwererwrwr
    @erwererwrwr 3 года назад

    Жаль, ссылки из видео не добавлены в описание под видео на ютубе, а так - спасибо большое, у вас неплохо с педагогикой, вы где-то учились отдельно?

    • @Rclass
      @Rclass  3 года назад

      Спасибо :) Ссылки есть в презентации - там есть всё вплоть до примеров кода. Наш технический директор занятия педагогикой категорически отрицает))

    • @erwererwrwr
      @erwererwrwr 3 года назад

      @@Rclass увы, самодуров подобного плана много на руководящих постах.
      Скажите, пожалуйста, если во время выполнения транзации , а сервер бэкенда упал. Теперь эта операция с бд заблочится до ребута сервера базы данных?

    • @Rclass
      @Rclass  3 года назад

      @@erwererwrwr мы имели ввиду что он не занимался педагогикой отдельно) Интересный вопрос, скорее всего операция откатится, но врать не будем - нужно уточнять.

    • @erwererwrwr
      @erwererwrwr 3 года назад

      @@Rclass спасибо

    • @ilyaponomarev9279
      @ilyaponomarev9279 2 года назад

      @@erwererwrwr если до коммита не дошло, то откатится

  • @ProRezak
    @ProRezak 4 года назад

    Полезно

  • @ny_sho_ti_dyadya
    @ny_sho_ti_dyadya 4 года назад +1

    гуд

  • @vladislavvolodin5834
    @vladislavvolodin5834 4 года назад

    откатится все

  • @Dragonboh1
    @Dragonboh1 3 года назад

    Я пробовал гуглить про остановку транзакций, так чтот не могу найти, можно ссилку мли какойто термин, ато остановка транзакции либо коміт, ролбек, либо просто статьи про транзакции. В видео ви говорили, что любая длл команда ето остановка транзакции

    • @Rclass
      @Rclass  3 года назад

      Добрый день! Если вы начали транзакцию, то у нее всего два пути завершения - либо применить все изменения, либо их откатить. Это COMMIT и ROLLBACK соответственно. Опишите поподробнее: какого эффекта вы хотите добиться?

    • @erwererwrwr
      @erwererwrwr 3 года назад

      @@Rclass добрый, а если бэкенд упал сразу после start transaction, может ли заблочится доступ по этой операции в бд?

  • @if_xx
    @if_xx 4 года назад +1

  • @millkiway3682
    @millkiway3682 10 месяцев назад

    В первых 10 минутах 10 ошибок и не верных терминов.