Что такое CAP-теорема?

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

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

  • @egoryakimov240
    @egoryakimov240 9 месяцев назад +4

    Крайне понятное и лаконичное объяснение темы. Один из лучших ресурсов про САР, что я видел. Большое вам спасибо!

    • @fullstackguy
      @fullstackguy  9 месяцев назад

      Большое спасибо Вам, Егор, за теплые слова! 🤝

  • @v.shinoxy
    @v.shinoxy 10 месяцев назад +2

    Очень понятно, с примерами и подробностями. Спасибо!

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

      Пожалуйста! Рад, что видео оказалось полезным! 🤝

  • @alexandr6055
    @alexandr6055 8 месяцев назад +3

    лучшее объяснение, что мне приходилось слышать, спасибо!!

    • @fullstackguy
      @fullstackguy  8 месяцев назад

      Приятно слышать! Спасибо за добрые слова! 🤝

  • @Пумпурумм
    @Пумпурумм 2 месяца назад +1

    Жму руку!👍

    • @fullstackguy
      @fullstackguy  2 месяца назад

      Рад, что видео понравилось! 🤝

  • @RasimAlimgukov
    @RasimAlimgukov 3 месяца назад +1

    Круто, самое поняиное объяснение с примерами. Лайк

  • @RS-ue4wg
    @RS-ue4wg 3 месяца назад +1

    очень рад, что нашел ваш канал - прекрасное изложение

    • @fullstackguy
      @fullstackguy  3 месяца назад

      Спасибо за тёплые слова! 🤝

  • @hello_world_zz
    @hello_world_zz Год назад +10

    оч классно. Недоумеваю почему так мало просмотров. Удачи каналу. Шалом из Израиля

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

      Большое спасибо! Рад что мои видосы оказались полезными 🤓

  • @vladislav_kuznetsov_
    @vladislav_kuznetsov_ 3 месяца назад +1

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

    • @fullstackguy
      @fullstackguy  3 месяца назад

      Рад, что материал понравился! 🤝

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

    Очень познавательно и интересно, спасибо больше за столь информативное видео

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

      Спасибо за добрые слова! Рад, что видео оказалось полезным! 🤝

  • @МихаилБарков-ф3х
    @МихаилБарков-ф3х Год назад +3

    Очень хорошо подан материал!

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

      Михаил, большое спасибо за отзыв! Я рад что моя работа оказалась полезной! 🤝

  • @АнтонМолодых-н4ю
    @АнтонМолодых-н4ю 6 месяцев назад +2

    спасибо, наконец понял

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

    Thanks a lot, it was very helpful

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

      I’m happy that it was useful for you 🤝

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

    Видео супер полезное, лайк

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

      Рад что пригодилось! 🤝

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

    Топчик, однозначно👍

  • @mishaprokopovich5253
    @mishaprokopovich5253 9 месяцев назад

    а как сделать СР систему, по идее, если какой-то узел выходит из строя или между узлами прерывается связь, то пользователям вообще должно быть запрещено взаимодействие с любым из узлов пока не устранится проблема?

    • @fullstackguy
      @fullstackguy  9 месяцев назад +3

      Михаил, Вы все верно поняли. CP системы должны быть согласованы в любой момент времени. Это значит, что пока, например, запись данных не завершиться на всех узлах системы, система не вернет ответ пользователю и он будет ждать.
      Если запись на один или несколько узлов не удалась, происходит откат везде и сразу (пример: двухфазный коммит).
      Примером CP систем является Redis, например

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

    не покрыт кейс: CP

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

      Прошу прощения за долгий ответ.
      О CP отвечу прямо тут:
      Исходя из определений C и P (www.fullstackguy.ru/knowledge-base/distributed-systems/cap-theorem/), можно представить, что CP система будет консистентна и при этом устойчива к секционированию.
      Что это значит?
      1) что система будет хранить свои данные на нескольких узлах. То есть - будет дупликация данных.
      2) что система будет позволять пользователям читать данные с любого узла, даже если связь между двумя узлами нарушена
      3) что система НЕ будет позволять производить запись новых данных, если узлы не связаны друг с другом (при дублировании данных на разных узлах - в случае, если узлы не могут связаться друг с другом, это нарушение целостности данных или Consistency принципа)

  • @AK-nb9cb
    @AK-nb9cb Год назад

    Ссылка на статью not found

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

      Спасибо за наводку. Ссылку обновил 🤝

  • @ПашаКазачёнок
    @ПашаКазачёнок Год назад +1

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

    • @eggrevolver
      @eggrevolver Год назад +5

      Вы всё верно поняли: если у вас нарушен механизм общения между двумя серверами или кластерами, но вы всё еще хотите получать со всех них данные, то должны мириться с тем, что данные будут неконсистенты. Если же вы хотите консистентные данные, то должны попрощаться с partition tolerance и получать данные только с того сервера, где они последней версии, либо попрощаться с availability и ждать, пока связь между двумя частями (в данном случае) восстановится и целостность данных восстановится.
      Всё куда проблемней, если у вас кластеров несколько и на одном одни данные свежие, а на другом другие :) Поэтому в некоторых системах никуда не уйти от одного класса, в других от другого. Скажем, если вы закинули в корзинку товар, которого уже нет, это, хоть и нехорошо, но допустимо, однако он на чекауте уже должен быть обязательно недоступен.
      Можете посмотреть еще что такое eventually consistent, тоже интересно и полезно в этом свете. Также, отсюда вырастает еще один серьезный класс проблем: т.н. "split brain", с которым тоже надо знать, как бороться.

  • @НиколайКобец-и9е

    А что с сайтом?(( Хотел статью почитать...

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

      Спасибо что обратили моё внимание! 🤝 Забыл обновить ссылку. Вот правильная: fullstackguy.anverbogatov.ru/cap-theorem/

    • @НиколайКобец-и9е
      @НиколайКобец-и9е Год назад +1

      @@fullstackguy Супер! Спасибо!

  • @a.danilenko
    @a.danilenko 7 месяцев назад

    Теорема не может "работать" или "не работать". Теорема может быть истинной или нет, иметь доказательство или не иметь.

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

    Как всё медленно, скорость 1.5 выручает

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

      Целью этого канала Я ставлю просвещение. А сложные знания, вроде этих, торопежки не терпят.

    • @АнтонБ-у7б
      @АнтонБ-у7б Год назад +1

      Для меня скорость вполне комфортная. Есть возможность обдумать сказанное

  • @аоаовьвьвь
    @аоаовьвьвь 9 месяцев назад

    Consistency (согласованность) - это свойство, которое говорит, что система имеет согласованное состояние. Ага. Не поспоришь.

    • @fullstackguy
      @fullstackguy  9 месяцев назад

      Учился у лучших! От создателей «это вам не это» и «не только лишь все» 😀