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

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ม.ค. 2025

ความคิดเห็น • 43

  • @egoryakimov240
    @egoryakimov240 10 หลายเดือนก่อน +4

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

    • @fullstackguy
      @fullstackguy  10 หลายเดือนก่อน

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

  • @v.shinoxy
    @v.shinoxy 11 หลายเดือนก่อน +2

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

    • @fullstackguy
      @fullstackguy  11 หลายเดือนก่อน

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

  • @alexandr6055
    @alexandr6055 9 หลายเดือนก่อน +3

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

    • @fullstackguy
      @fullstackguy  9 หลายเดือนก่อน

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

  • @Пумпурумм
    @Пумпурумм 3 หลายเดือนก่อน +1

    Жму руку!👍

    • @fullstackguy
      @fullstackguy  3 หลายเดือนก่อน

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

  • @RS-ue4wg
    @RS-ue4wg 4 หลายเดือนก่อน +1

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

    • @fullstackguy
      @fullstackguy  4 หลายเดือนก่อน

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

  • @hello_world_zz
    @hello_world_zz 2 ปีที่แล้ว +10

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

    • @fullstackguy
      @fullstackguy  2 ปีที่แล้ว

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

  • @RasimAlimgukov
    @RasimAlimgukov 4 หลายเดือนก่อน +1

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

  • @iamusayev1337
    @iamusayev1337 ปีที่แล้ว +1

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

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

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

  • @vladislav_kuznetsov_
    @vladislav_kuznetsov_ 4 หลายเดือนก่อน +1

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

    • @fullstackguy
      @fullstackguy  4 หลายเดือนก่อน

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

  • @МихаилБарков-ф3х
    @МихаилБарков-ф3х ปีที่แล้ว +3

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

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

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

  • @АнтонМолодых-н4ю
    @АнтонМолодых-н4ю 7 หลายเดือนก่อน +2

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

    • @fullstackguy
      @fullstackguy  7 หลายเดือนก่อน

      Крутяк! 🤝

  • @araavanesyan4616
    @araavanesyan4616 ปีที่แล้ว +1

    Thanks a lot, it was very helpful

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

      I’m happy that it was useful for you 🤝

  • @damka2011
    @damka2011 ปีที่แล้ว

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

  • @TheBestMovies13
    @TheBestMovies13 ปีที่แล้ว +1

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

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

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

  • @mishaprokopovich5253
    @mishaprokopovich5253 10 หลายเดือนก่อน

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

    • @fullstackguy
      @fullstackguy  10 หลายเดือนก่อน +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  ปีที่แล้ว

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

  • @НиколайКобец-и9е
    @НиколайКобец-и9е ปีที่แล้ว

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

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

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

    • @НиколайКобец-и9е
      @НиколайКобец-и9е ปีที่แล้ว +1

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

  • @ПашаКазачёнок
    @ПашаКазачёнок ปีที่แล้ว +1

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

    • @eggrevolver
      @eggrevolver ปีที่แล้ว +5

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

  • @a.danilenko
    @a.danilenko 8 หลายเดือนก่อน

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

  • @MrYura999
    @MrYura999 ปีที่แล้ว

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

    • @fullstackguy
      @fullstackguy  ปีที่แล้ว

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

    • @АнтонБ-у7б
      @АнтонБ-у7б ปีที่แล้ว +1

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

  • @аоаовьвьвь
    @аоаовьвьвь 10 หลายเดือนก่อน

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

    • @fullstackguy
      @fullstackguy  10 หลายเดือนก่อน

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