Что такое ACID? | Самый частый вопрос бэкендеру

Поділитися
Вставка
  • Опубліковано 20 тра 2024
  • Разбираемся в букавках ACID.
    00:00 Вступление, неуклюжие попытки пошутить
    00:59 Транзакция, транзакционная база данных
    01:17 Расшифровка ACID
    01:40 Atomicity (атомарность)
    02:46 Consistency (консистентность)
    05:19 Isolation (изоляция)
    06:16 Read committed
    08:14 Snapshot isolation (repeatable read)
    09:11 Демонстрация отличий read committed и repeatable read на примере MySQL
    16:06 MVCC
    16:26 Проблема lost update
    18:36 Durability

КОМЕНТАРІ • 306

  • @OverEngineer
    @OverEngineer  3 роки тому +138

    Пара неточностей в видео.
    1. На 17:18 я сказала, что мы не можем прочитать значение, так как установлена эксклюзивная блокировка. На самом деле значение можно прочитать простым SELECT, но для установки другого exclusive lock или shared lock придется подождать.
    2. На 18:50 я говорю, что разные виды S3 имеют разную Durability, но судя по всему количество девяток в S3 не зависит от того есть ли риск полной потери данных из-за их расположения в одной availability zone (One Zone-IA), видимо эти риски уже заложены, а распределение данных по разным AZ в S3 Standard и других тарифах выдается в виде дополнительной гарантии (но это уже больше вопрос маркетинга Амазона).
    3. Не неточность, но то, что я не упомянула в видео: абсолютно любая операция в транзакционной СУБД - это транзакция, даже если вы явно не используете start transaction/commit. Любой запрос, чтения или записи - это транзакция. Явно использовать синтаксис start transaction/commit нужно, когда вы хотите сделать несколько операций в одной транзакции.

    • @alexkis6198
      @alexkis6198 3 роки тому +8

      Миледи, где новые видео?

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

      есть ещё ряд неточностей:)

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

      @@waagnermann прошу объясниться )))

  • @Aticinsane
    @Aticinsane 3 роки тому +141

    За объяснение на реальном примере в терминале жирный лайк!

  • @dsmenov
    @dsmenov 3 роки тому +30

    Я как оракловый дба аж затаил дыхание при просмотре.
    На середине только внезапно отвлекся, поставил лайк и продолжил дальше смотреть.
    Правильный разработчик! Решительно подпишусь!

  • @shmeleu
    @shmeleu 3 роки тому +84

    Чтоб нам так в универе объясняли. Спасибо!

  • @caffeinejavacode1475
    @caffeinejavacode1475 3 роки тому +39

    Пример на консоли просто открыл глаза. Как говорил L.Torvalds stop talking just just show me your code.

  • @vladyslavhanoshenko2942
    @vladyslavhanoshenko2942 3 роки тому +19

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

  • @Mugen88888
    @Mugen88888 3 роки тому +15

    Уже соскучиться успел, боялся, что не будет больше видео и не увижу тебя.

  • @RaZeR22L
    @RaZeR22L 3 роки тому +9

    Спасибо огромное! С нетерпением жду следующий ролик!

  • @simbaruzz
    @simbaruzz 3 роки тому +31

    Концовка, конечно, топовая - напряжение, драма, посыл… и вот это всё :D
    За видео спасибо! Было интересно)

  • @andrewg8907
    @andrewg8907 3 роки тому +36

    Как всегда все разобрано по полочкам и все предельно понятно! Спасибо, очень крутое видео!

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

    Благодаря вашему объяснению я наконец-то уложив в голове, что такое уровни изоляции. Спасибо вам за проделанную работу.

  • @ne0nf0rce
    @ne0nf0rce 3 роки тому +6

    Как раз сегодня этой темой интересовался, и тут этот ролик))) Спасибо)

  • @Sh0HraT
    @Sh0HraT 3 роки тому +132

    Уж слишком все понятно. Вам надо преподавать))). Спасибо!

  • @rustemiskakov2973
    @rustemiskakov2973 3 роки тому +1

    Вот это контент! Много лет работал с базами данных, и почерпнул новые знания с этого видео! И мотивировался ещё копать тему изоляции) Огромное спасибо!

  • @alinapetrova3232
    @alinapetrova3232 3 роки тому +1

    Вы круты! Рассказываете супер понятно и вдохновляете 🙂 пожалуйста, продолжайте!

  • @RisDeep
    @RisDeep 3 роки тому +17

    Спасибо. Единственный источник годных втдео по бекенду для новичков

    • @CYBERUkr
      @CYBERUkr 3 роки тому +4

      *Гхм-гхм*
      А почему для новичков-то? Тема (ну конкретно в данном видео, например) поднята совсем не джунская. Миддлу или условному 22-летнему синьору вспомнить и скомпоновать инфу в голове - самое то.

  • @annasakharova511
    @annasakharova511 2 роки тому

    Спасибо за информативное и познавательное видео. Все разжевано и разложено по полочкам. Очень полезная инфа)

  • @user-sf4qq2bo2n
    @user-sf4qq2bo2n 3 роки тому +2

    Спасибо за понятный пример с repatable read.

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

    Просто шикос! Очень доступно и понятно объяснила, спасибо!)

  • @Alexander-ds1hj
    @Alexander-ds1hj Рік тому +1

    Спасибо, за видео. Если будет время, сделайте цикл по проблемам с изоляцией. Очень хорошо объясняете.

  • @MaximRovinsky
    @MaximRovinsky 3 роки тому +2

    Обожаю твои вставки из фильмов)

  • @user-fw9qr4ss7f
    @user-fw9qr4ss7f 3 роки тому +8

    Спасибо, Ксюша!

  • @digital_ninja
    @digital_ninja 3 роки тому

    Спасибо, вы очень крутая. Отлично тему раскрыли.

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

    Спасибо. Очень все доходчиво. Прекрасное изложение сути.

  • @velopro4285
    @velopro4285 3 роки тому +2

    спасибо, очень мотивирующий контент.

  • @diman1ght491
    @diman1ght491 3 роки тому +14

    О боги, как же я люблю этот канал. Спасибо большое! Базы данных - одна из важнейших вещей, которые нужно знать бекендеру. Какой бы ты ни писал супер оптимальный код на C++, если ты юзаешь базу данных и запрос выполняется 15 секунд - то оптимизация этого кода будет незаметна совершенно. Лайк.

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

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

  • @andyanderson222
    @andyanderson222 2 роки тому

    Очень наглядное объяснение с уровнями изоляции, спасибо! Пишу коммент, ставлю лайк - вот это всё.

  • @maceall8106
    @maceall8106 3 роки тому +1

    Благодарю за видео, как раз затронул эту тему при обучении! Как всегда все подробно и комплексно)
    p.s. соскучились по новым видео!)

  • @Sergey-xe9vd
    @Sergey-xe9vd 2 роки тому

    Автор умничка! Самое грамотное объяснение, что видел тут. Большое спасибо

  • @Guitar8202
    @Guitar8202 2 роки тому

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

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

    Спасибо! Очень понятное объяснение с реальными примерами)

  • @andreyalexandrov2067
    @andreyalexandrov2067 3 роки тому +1

    видео пушка! спасибо. хочется еще про БД))

  • @risha8622
    @risha8622 3 роки тому

    Спасибо за ваш материал!)

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

    Ксения, спасибо за это видео! Объяснение как всегда супер подробное и понятное🔥
    Очень нравится ваш стиль подачи материала👍

  • @Trecoolerok
    @Trecoolerok 3 роки тому +4

    Супер. Давно вас не видел :)

  • @alexandrfomenko369
    @alexandrfomenko369 2 роки тому +10

    Так вот как выглядит комбинация из ума и красоты)
    Крутой материал, понятное объяснение, благодарю!

  • @user-xb2dv2ew6j
    @user-xb2dv2ew6j 21 день тому

    Наконец то я нашел понятное доступное объяснение, спасибо!

  • @Alexander-is1eq
    @Alexander-is1eq Рік тому

    Очень доступно. Спасибо большое!

  • @semenpetrov9456
    @semenpetrov9456 3 роки тому +11

    Молодец, умница, продолжай пожалуйста

  • @user-je2nh4op3s
    @user-je2nh4op3s 3 роки тому

    Доброе утро Ксюша . Спасибо большое

  • @0day694
    @0day694 3 роки тому +5

    У тебя очень интересные получаются видео.

  • @SPILBERG-FILMS
    @SPILBERG-FILMS 2 місяці тому

    😊 грамотная подача материала! Буду готовиться к DevOps-intervew на ваших видео-уроках.
    🎉 Большая благодарность за грамотное видео про ACID и транзакции.

  • @aleksprimetv
    @aleksprimetv 2 роки тому

    Побольше таких видео и побольше подробных примеров)

  • @Skykvi
    @Skykvi 2 роки тому

    Спасибо, Ксения. Очень доходчиво, наверное больше то и не надо для краткого понимания.

  • @diman1ght491
    @diman1ght491 3 роки тому +1

    Очень ждём новых видео, надеюсь ты - в добром здравии =) Это т канал - один из любимых моих каналов

  • @evgenibasov9545
    @evgenibasov9545 2 роки тому

    Круто 👍
    Вот ещё бы про isolation видосиков.
    Спасибо

  • @nikiforovsansanich
    @nikiforovsansanich 2 роки тому

    Отличное объяснение! Спасибо!

  • @AlexGott
    @AlexGott 2 роки тому

    Всё просто и понятно и всё равно мозг сломан на несколько часов... Спасибо за видео!!!

  • @user-zj6cw9mt3d
    @user-zj6cw9mt3d Рік тому

    Большое спасибо, было полезно узнать про уровни изоляций)

  • @meteysh
    @meteysh 3 роки тому

    Круто блин рассказала, чётко по делу. Интересно слушать

  • @ozmeks
    @ozmeks 2 роки тому

    Очень интересно было посмотреть на примере!

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

    Супер объяснение!
    Спасибо!

  • @alexandergaiwer9804
    @alexandergaiwer9804 3 роки тому

    Узнал для себя кое-что новое. Спасибо за видео))) Лайк!!!!

  • @eugenysh5731
    @eugenysh5731 3 роки тому

    Очень крутое видео! Сам сталкивался с read commited и repeatable read уровнями изоляций транзакций. Насчет durability возможно стоит добавить, что в случае отключения питания машины с бд, когда снова будет питание и бд будет поднята, бд прочитает логи транзакции и завершит/либо откатит не завершенные транзакции. :)

  • @user-rc8uc1gt3w
    @user-rc8uc1gt3w 6 місяців тому

    Большое спасибо за реальный пример в терминале. До этого до конца не понимал, как это работает!

  • @Aziz-gl5kf
    @Aziz-gl5kf 8 місяців тому

    очень доходчиво объяснили без воды, спасибо вам большое

  • @user-si2tb4dg5x
    @user-si2tb4dg5x 3 роки тому

    🔥спасибо за информацию!

  • @acidandrey
    @acidandrey 11 місяців тому +1

    Самое крутое видео. Настолько все разжевано. Спасибо большое.

  • @user-hw8fj5hj9s
    @user-hw8fj5hj9s 3 роки тому +4

    Атом-неделимый ,так что все там по научному феншую,старая школа так сказать.
    Спасибо ,что поделилась с нами опытом , было интересно и познавательно,мне как новичку очень.

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

    Спасибо за видео! Очень хорошее.

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

    лучшее объяснение которое я когда либо видел в своей жизни. Успехов в работе:)

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

    Спасибо за Ваш труд! Коммент в поддержку канала.

  • @user-zh3bx9kj3m
    @user-zh3bx9kj3m 3 роки тому

    Ого! Мне за 20 минут объястнили лучше и понятнее чем иные книги за 50 страниц, спасибо!

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

    Спасибо, очень наглядно и понятно.

  • @user-ry9yg3ic6u
    @user-ry9yg3ic6u 5 місяців тому

    Супер. Нужно больше видео)

  • @PythonDevelopment
    @PythonDevelopment 3 роки тому

    Привет и спасибо огромное)) Ждем новых роликов. Репост, лайк, коммент с двух акков всё для поддержки канала)

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

    просто бомба, ясно и понятно хоть я об этом и впервые сталкиваюсь !

  • @user-cr2jy7oz8o
    @user-cr2jy7oz8o 3 роки тому +1

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

  • @alex4everyours
    @alex4everyours 3 роки тому +1

    Хорошо объяснено, благодарю за видео! Один из лучших каналов на русском для бэкендеров.

  • @user-nl6lx1zu9r
    @user-nl6lx1zu9r Рік тому

    Отличное видео! Подробное и понятное описание. Чувствуется, что рассказчица глубоко в теме. Видео особенно приятно смотреть, потому что рассказчица - очаровательная девушка, что нечасто в IT, особенно на бэке

  • @paul.antares
    @paul.antares 2 роки тому

    Спасибо! Классное видео))

  • @TheSvRoma
    @TheSvRoma 3 роки тому

    Классный урок! Спасибо

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

    Спасибо, очень доходчиво.

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

    Супер объяснение, спасибо!

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

    Благодарю за объяснения ниже в комментариях ))!

  • @user-mk9fp5zk6j
    @user-mk9fp5zk6j 2 роки тому

    Не умирай, спасибо тебе за видео! ;)

  • @alexeypashchenko
    @alexeypashchenko 2 роки тому

    Спасибо за видео!

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

    Спасибо. Информация не для новичков, но объяснено годно.

  • @user-dq9ub1lj9j
    @user-dq9ub1lj9j 3 роки тому +4

    у меня Ваши видео такие теплые эмоции вызывают, не знаю почему.. сопли, конечно, но как есть :)

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

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

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

    Огромное человеческое спасибо, наконец-то всё встало на свои места.

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

    Гигантская благодарность за столь полезный урок!

  • @AnatolyLeonov
    @AnatolyLeonov 3 роки тому

    Спасибо за интересное видео

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

    Очень понятно, спасибо!

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

    Какая же ты Молодец! Красава!!!

  • @andreydrobyshev8222
    @andreydrobyshev8222 2 роки тому +3

    Более внятного и понятного объяснения ACID - сложно представить, очень понравилось, спасибо за твой труд.

  • @ElektroDrrrEL
    @ElektroDrrrEL 2 роки тому

    Просто супер - спасибо!

  • @parvinetibarli1283
    @parvinetibarli1283 Місяць тому

    Perfect explanation. Thanks

  • @user-mj1bw2ef5l
    @user-mj1bw2ef5l 7 місяців тому

    очень понятно, как раз для начинающих, спасибо

  • @user-dv1vu1om6o
    @user-dv1vu1om6o 2 роки тому +1

    Все очень понятно, даже я - стажер/джун многое понимаю, спасибо:)))

  • @user-bm1xy3wi5c
    @user-bm1xy3wi5c Рік тому

    Оч круто, спасибо!))

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

    Топ объяснение 👍

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

    Спасибо за помощь с бессонницей, ничего не понимаю в программировании но зато отлично усыпляет и голос приятный.

  • @aeuonep
    @aeuonep 3 роки тому

    очень круто, спасибо

  • @user-lc7jj4np8h
    @user-lc7jj4np8h 2 роки тому

    очень круто! спасибо!

  • @alekseyyarchuk9600
    @alekseyyarchuk9600 3 роки тому +2

    На работе стараются не используют транзакции, от страшного слова AСID пугаются. Отупеваешь, думаешь что все тлен. А благодраря таким блогерам не унываешь, открываешь что-то новое, забытое старое. Вспомнил универ, курс БД, конспект под расческу) Спасибо за то, что освежила информацию в голове)

    • @sergeydostovalov6180
      @sergeydostovalov6180 2 роки тому

      Похоже не зря на работе не исполбзуют транзакции :)

  • @vova_dev
    @vova_dev 21 день тому

    Обалденно с примером!

  • @elizavetazonova6642
    @elizavetazonova6642 2 роки тому

    Автора так приятно слушать про БД

  • @gazimagomeddd7958
    @gazimagomeddd7958 2 роки тому

    подача супер)