По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Машинное обучение - это метод анализа данных, который автоматизирует построение аналитической модели. Это отрасль искусственного интеллекта, основанная на идее, что системы могут обучаться на основе данных, выявлять закономерности и принимать решения с минимальным вмешательством человека. Эволюция машинного обучения Из-за новых вычислительных технологий машинное обучение сегодня отличается от машинного обучения в прошлом. Оно основывается на распознавании образов и теории, что компьютеры могут обучаться, не будучи запрограммированы для выполнения конкретных задач; исследователи, интересующиеся искусственным интеллектом, хотели посмотреть, смогут ли компьютеры обучаться, основываясь на базе данных. Итеративный аспект машинного обучения важен, так как модели, подвергающиеся воздействию новых данных, способны самостоятельно адаптироваться. Они учатся от предыдущих вычислений для получения надежных и воспроизводимых решений и результатов. Хотя многие алгоритмы машинного обучения существуют уже давно, способность автоматически применять сложные математические вычисления к объемным данным - снова и снова, все быстрее и быстрее - это новейшая разработка. Вот несколько широко разрекламированных примеров приложений машинного обучения, с которыми вы можете быть знакомы: Сильно раскрученная, самоуправляемая машина Google. Суть машинного обучения. Онлайн рекомендации, такие, как у Amazon и Netflix. Приложения машинного обучения для повседневной жизни. Знание того, что клиенты говорят о вас в соцсетях. Машинное обучение в сочетании с созданием лингвистических правил. Обнаружение мошенничества. Одно из наиболее очевидных, важных применений в современном мире. Почему машинное обучение важно? Возобновление интереса к машинному обучению обусловлено теми же факторами, которые сделали анализ данных и Байесовский анализ более популярными, чем когда-либо. Растущие объемы и разнообразие доступных данных, вычислительная обработка, которая является более дешевой и мощной; доступное хранилище для хранения данных - все эти аспекты означают, что можно быстро и автоматизировано производить модели, которые могут анализировать более объемные и сложные данные и обеспечивать быстрые и более точные результаты - даже на очень больших объемах. А благодаря созданию точных моделей у организации больше шансов определить выгодные возможности или избежать неизвестных рисков. Что необходимо для создания эффективных систем машинного обучения? Возможности подготовки данных. Алгоритмы - базовый и продвинутый. Автоматизация и итерационные процессы. Масштабируемость. Ансамблевое моделирование. Интересные факты В машинном обучении, цель называется - «ярлык». В статистике, цель называется «зависимой переменной». Переменная в статистике называется – «функция в машинном обучении». Преобразование в статистике называется – «создание функции в машинном обучении». Кто использует машинное обучение? Большинство отраслей промышленности, работающих с большими объемами данных признали ценность технологии машинного обучения. Подбирая идеи из этих данных - часто в режиме реального времени - организации способны более эффективно работать или получить преимущество перед конкурентами. Финансовые услуги Банки и другие предприятия финансовой индустрии используют технологию машинного обучения для двух ключевых целей: для выявления важных данных и предотвращения мошенничества. Они могут определить инвестиционные возможности или помочь инвесторам узнать, когда торговать. Интеллектуальный анализ данных может также идентифицировать клиентов с профилями высокого риска или использовать кибер-наблюдение, чтобы точно определить признаки мошенничества. Правительство Правительственные учреждения, такие как общественная безопасность и коммунальные службы, особенно нуждаются в машинном обучении, поскольку у них есть несколько источников данных, из которых можно получить информацию для полного понимания. Например, анализ датчика данных определяет пути повышения эффективности и экономии средств. Машинное обучение также может помочь обнаружить мошенничество и минимизировать кражу личных данных. Здравоохранение Машинное обучение является быстро развивающимся направлением в отрасли здравоохранения, благодаря появлению переносных устройств и датчиков, которые могут использовать данные для оценки состояния здоровья пациента в режиме реального времени. Эта технология также может помочь медицинским экспертам анализировать данные для выявления тенденций или «красных флажков», которые могут привести к улучшению диагностики и лечения. Розничная торговля Веб-сайты, рекомендующие товары, которые могут вам понравиться на основе предыдущих покупок, используют машинное обучение для анализа вашей истории покупок. Ритейлеры полагаются на машинное обучение для сбора данных, их анализа и использования для персонализации процесса совершения покупок, проведения маркетинговой кампании, оптимизации цен, планирования поставок товаров, а также для понимания потребностей клиентов. Нефть и газ Поиск новых источников энергии. Анализ минералов в почве. Прогнозирование неисправности датчика НПЗ. Оптимизация распределения нефти, чтобы сделать ее более эффективной и рентабельной. Количество вариантов использования машинного обучения для этой отрасли огромно - и продолжает расти. Транспорт Анализ данных для определения закономерностей и тенденций является ключевым для транспортной отрасли, которая полагается на повышение эффективности маршрутов и прогнозирование потенциальных проблем для повышения прибыльности. Анализ данных и аспекты моделирования машинного обучения являются важными инструментами для компаний доставки, общественного транспорта и других транспортных организаций. Каковы популярные методы машинного обучения? Двумя наиболее широко распространенными методами машинного обучения являются контролируемое обучение и неконтролируемое обучение, но существуют и другие методы машинного обучения. Вот обзор самых популярных типов. Контролируемое обучение Алгоритмы контролируемого обучения изучаются с использованием маркированных примеров, таких как ввод, в котором известен желаемый результат. Например, единица оборудования может иметь точки данных, помеченные как «F» (ошибка) или «R» (работа). Алгоритм обучения получает набор входных данных вместе с соответствующими правильными выходными данными, а алгоритм обучается путем сравнения своих фактических выходных данных с правильными выходными данными, чтобы найти ошибки. Затем он соответствующим образом модифицирует модель. С помощью таких методов, как классификация, регрессия, прогнозирование и повышение градиента, контролируемое обучение использует шаблоны для прогнозирования значений метки на дополнительных немаркированных данных. Контролируемое обучение обычно используется в приложениях, где исторические данные предсказывают вероятные будущие события. Например, он может предвидеть, когда транзакции по кредитным картам могут быть мошенническими или какой клиент страхования может подать иск. Полуконтролируемое обучение Полуконтролируемое обучение используется для тех же приложений, что и контролируемое обучение. Но для обучения оно использует как помеченные, так и непомеченные данные, как правило, это небольшой объем помеченных данных с большим количеством немеченых данных (поскольку немеченые данные дешевле и требуют меньше усилий для их получения). Этот тип обучения может использоваться с такими методами, как классификация, регрессия и прогнозирование. Полуконтролируемое обучение полезно, когда стоимость, связанная с маркировкой, слишком высока, чтобы учесть полностью помеченный процесс обучения. Ранние примеры этого включают идентификацию лица человека по веб-камере. Неконтролируемое обучение Неконтролируемое обучение используется в отношении данных, которые не имеют исторических меток. Система не сказала «правильный ответ». Алгоритм должен выяснить, что показывается. Цель состоит в том, чтобы исследовать данные и найти некоторую структуру внутри. Неуправляемое обучение хорошо работает на транзакционных данных. Например, он может идентифицировать сегменты клиентов со схожими признаками, которые затем могут обрабатываться аналогично в маркетинговых кампаниях. Или он может найти основные атрибуты, которые отделяют сегменты клиентов друг от друга. Популярные методы включают самоорганизующиеся таблицы, отображение ближайших соседей, кластеризацию k-средств и разложение по сингулярным числам. Эти алгоритмы также используются для сегментирования текстовых тем, рекомендации элементов и резко отличающихся значений данных. Усиленное обучение Усиленное обучение часто используется для робототехники, игр и навигации. Благодаря обучению с подкреплением алгоритм с помощью проб и ошибок обнаруживает, какие действия приносят наибольшее вознаграждение. Этот тип обучения состоит из трех основных компонентов: агент (учащийся или лицо, принимающее решения), среда (все, с чем взаимодействует агент) и действия (что может делать агент). Цель состоит в том, чтобы агент выбирал действия, которые максимизируют ожидаемое вознаграждение в течение заданного периода времени. Агент достигнет цели намного быстрее, следуя хорошей политике. Таким образом, цель усиленного обучения состоит в том, чтобы изучить лучшую политику. Каковы различия между интеллектуальным анализом данных, машинным обучением и глубоким обучением? Хотя все эти методы имеют одну и ту же цель - извлекать идеи, шаблоны и зависимости, которые можно использовать для принятия решений - у них разные подходы и возможности. Сбор данных (Data Mining) Интеллектуальный анализ данных можно рассматривать как набор множества различных методов для извлечения информации из данных. Он может включать традиционные статистические методы и машинное обучение. Интеллектуальный анализ применяет методы из разных областей для выявления ранее неизвестных шаблонов из данных. Он может включать в себя статистические алгоритмы, машинное обучение, анализ текста, анализ временных рядов и другие области аналитики. Интеллектуальный анализ данных также включает изучение, практику хранения и обработки данных. Машинное обучение Основное отличие машинного обучения заключается в том, что, как и в статистических моделях, цель состоит в том, чтобы понять структуру данных - подогнать теоретические распределения к хорошо понятным данным. Таким образом, под статистическими моделями стоит теория, которая математически доказана, но для этого необходимо, чтобы данные также соответствовали определенным строгим гипотезам. Машинное обучение развивалось на основе способности использовать компьютеры для проверки данных на предмет структуры, даже если у нас нет теории о том, как эта структура выглядит. Испытанием модели машинного обучения является ошибка проверки новых данных, а не теоретическое испытание, которое подтверждает нулевую гипотезу. Поскольку машинное обучение часто использует итеративный подход для изучения данных, обучение может быть легко автоматизировано. Передача через данные проходит, пока не будет найден надежный шаблон. Глубокое изучение (Deep learning) Глубокое обучение сочетает в себе достижения в области вычислительной мощности и специальных типов нейронных сетей для изучения сложных моделей больших объемов данных. В настоящее время методы глубокого обучения подходят для идентификации объектов в изображениях и слов в звуках. В настоящее время исследователи стремятся применить эти успехи в распознавании образов для решения более сложных задач, таких как автоматический перевод языка, медицинские диагнозы и множество других важных социальных и деловых проблем. Как это работает? Чтобы получить максимальную отдачу от машинного обучения, вы должны знать, как сочетать лучшие алгоритмы с подходящими инструментами и процессами. Алгоритмы: графические пользовательские интерфейсы помогают создавать модели машинного обучения и реализовывать итеративный процесс машинного обучения. Алгоритмы машинного обучения включают в себя: Нейронные сети Деревья решений Случайные леса Ассоциации и обнаружение последовательности Градиент повышения и расфасовки Опорные векторные машины Отображение ближайшего соседа K-средства кластеризации Самоорганизующиеся карты Методы локальной оптимизации поиска Максимальное ожидание Многомерные адаптивные регрессионные сплайны Байесовские сети Оценка плотности ядра Анализ главных компонентов Сингулярное разложение Смешанные Гауссовские модели Последовательное сопроводительное построение правил Инструменты и процессы: Как мы уже знаем, это не просто алгоритмы. В конечном счете, секрет получения максимальной отдачи от ваших объемных данных заключается в объединении лучших алгоритмов для поставленной задачи с: Комплексным качеством данных и их управлением GUI для построения моделей и процессов Интерактивным исследованием данных и визуализацией результатов модели Сравнением различных моделей машинного обучения для быстрого определения лучшей Автоматизированной оценкой группы для выявления лучших исполнителей Простым развертыванием модели, что позволяет быстро получать воспроизводимые и надежные результаты Интегрированной комплексной платформой для автоматизации процесса принятия решений
img
Вы забыли свой пароль пользователя root в Debian? Не волнуйтесь, мы покажем, как сбросить пароль root в Debian. Просто выполните следующие шаги и восстановите доступ и установите новый пароль root. Сброс пароля Запустите машину с Debian и нажмите любую клавишу, чтобы остановить процесс загрузки. Выберите “Debian GNU/Linux ” и нажмите клавишу “e” для редактирования параметров ядра в командной строке. Используйте клавишу «стрелка вниз» для прокрутки вниз. Перейдите к строке, которая начинается со слова linux и с помощью стрелок перейдите к концу строки или нажмите кнопку «end», а затем там (после quiet) добавьте init =/bin/bash. После добавления записи нажмите Ctrl + x или F10 для загрузки системы. Debian теперь загрузится в однопользовательском режиме, а корневая файловая система смонтирована в режиме только для чтения (read-only mode). Поэтому используйте команду ниже для монтирования корневой файловой системы в режиме чтения-записи (read-write mode). mount -o remount / Наконец, измените пароль пользователя root с помощью команды passwd. Тут указываем новый пароль и подтверждаем его. Перезагрузите систему и используйте новый пароль, который установили для пользователя root в вашей системе.
img
Первая часть тут Как только изменение в топологии сети было обнаружено, оно должно быть каким-то образом распределено по всем устройствам, участвующим в плоскости управления. Каждый элемент в топологии сети может быть описан как: Канал или граница, включая узлы или достижимые места назначения, прикрепленные к этому каналу. Устройство или узел, включая узлы, каналы и доступные места назначения, подключенные к этому устройству. Этот довольно ограниченный набор терминов может быть помещен в таблицу или базу данных, часто называемую таблицей топологии или базой данных топологии. Таким образом, вопрос о распределении изменений в топологии сети на все устройства, участвующие в плоскости управления, можно описать как процесс распределения изменений в определенных строках в этой таблице или базе данных по всей сети. Способ, которым информация распространяется по сети, конечно, зависит от конструкции протокола, но обычно используются три вида распространения: поэтапное (hop-by-hop) распространение, лавинное (flooded) распространение и централизованное (centralized) хранилище некоторого вида. Лавинное (flooded) распространение. При лавинной рассылке каждое устройство, участвующее в плоскости управления, получает и сохраняет копию каждой части информации о топологии сети и доступных местах назначения. Хотя существует несколько способов синхронизации базы данных или таблицы, в плоскостях управления обычно используется только один: репликация на уровне записи. Рисунок 6 иллюстрирует это. На рисунке 6 каждое устройство будет рассылать известную ему информацию ближайшим соседям, которые затем повторно рассылают информацию своим ближайшим соседу. Например, A знает две специфические вещи о топологии сети: как достичь 2001: db8: 3e8: 100 :: / 64 и как достичь B. A передает эту информацию в B, который, в свою очередь, передает эту информацию в C. Каждое устройство в сети в конечном итоге получает копию всей доступной топологической информации; A, B и C имеют синхронизированные базы данных топологии (или таблицы). На рисунке 6 связь C с D показана как элемент в базе данных. Не все плоскости управления будут включать эту информацию. Вместо этого C может просто включать подключение к диапазону адресов 2001: db8: 3e8: 102 :: / 64 (или подсети), который содержит адрес D. Примечание. В более крупных сетях невозможно уместить все описание подключений устройства в один пакет размером с MTU, и для обеспечения актуальности информации о подключении необходимо регулярно задерживать время ожидания и повторно загружать данные. Интересная проблема возникает в механизмах распространения Flooding рассылки, которые могут вызывать временные петли маршрутизации, называемые microloops. Рисунок 7 демонстрирует эту ситуацию. На рисунке 7, предположим, что канал [E, D] не работает. Рассмотрим следующую цепочку событий, включая примерное время для каждого события: Старт: A использует E, чтобы добраться до D; C использует D, чтобы добраться до E. 100 мс: E и D обнаруживают сбой связи. 500 мс: E и D рассылают информацию об изменении топологии на C и A. 750 мс: C и A получают обновленную информацию о топологии. 1000 мс: E и D пересчитывают свои лучшие пути; E выбирает A как лучший путь для достижения D, D выбирает C как лучший путь для достижения E. 1,250 мс: лавинная рассылка A и C информации об изменении топологии на B. 1400 мс: A и C пересчитывают свои лучшие пути; A выбирает B для достижения D, C выбирает B для достижения E. 1500 мс: B получает обновленную информацию о топологии. 2,000 мс: B пересчитывает свои лучшие пути; он выбирает C, чтобы достичь D, и A, чтобы достичь E. Хотя время и порядок могут незначительно отличаться в каждой конкретной сети, порядок обнаружения, объявления и повторных вычислений почти всегда будет следовать аналогичной схеме. В этом примере между этапами 5 и 7 образуется микропетля; в течение 400 мс, A использует E для достижения D, а E использует A для достижения D. Любой трафик, входящий в кольцо в A или D в течение времени между пересчетом E лучшего пути к D и пересчетом A лучшего пути к D будет петлей. Одним из решений этой проблемы является предварительное вычисление альтернативных вариантов без петель или удаленных альтернатив без петель. Hop by Hop При поэтапном распределении каждое устройство вычисляет локальный лучший путь и отправляет только лучший путь своим соседям. Рисунок 8 демонстрирует это. На рисунке 8 каждое устройство объявляет информацию о том, что может достигнуть каждого из своих соседей. D, например, объявляет о достижимости для E, а B объявляет о доступности для C, D и E для A. Интересно рассмотреть, что происходит, когда A объявляет о своей доступности для E через канал на вершине сети. Как только E получит эту информацию, у него будет два пути к B, например: один через D и один через A. Таким же образом у A будет два пути к B: один напрямую к B, а другой через E. Любой из алгоритмов кратчайшего пути, рассмотренные в предыдущих статьях, могут определить, какой из этих путей использовать, но возможно ли формирование микропетель с помощью лавинного механизма распределения? Рассмотрим: E выбирает путь через A, чтобы добраться до B. Канал [A, B] не работает. A обнаруживает этот сбой и переключается на путь через E. Затем A объявляет этот новый путь к E. E получает информацию об измененной топологии и вычисляет новый лучший путь через D. В промежутке между шагами 3 и 5 А будет указывать на Е как на свой лучший путь к В, в то время как Е будет указывать на А как на свой лучший путь к В—микропетля. Большинство распределительных систем hop-by-hop решают эту проблему с помощью split horizon или poison reverse. Определены они следующим образом: Правило split horizon гласит: устройство не должно объявлять о доступности к пункту назначения, который он использует для достижения пункта назначения. Правило poison reverse гласит: устройство должно объявлять пункты назначения по отношению к соседнему устройству, которое оно использует, чтобы достичь пункта назначения с бесконечной метрикой. Если разделение горизонта (split horizon) реализованный на рисунке 8, E не будет объявлять о достижимости для B, поскольку он использует путь через A для достижения B. В качестве альтернативы E может отравить путь к B через A, что приведет к тому, что A не будет иметь пути через E к B. Централизованное Хранилище. В централизованной системе каждое сетевое устройство сообщает информацию об изменениях топологии и достижимости контроллеру или, скорее, некоторому набору автономных служб и устройств, действующих в качестве контроллера. В то время как централизация часто вызывает идею единого устройства (или виртуального устройства), которому передается вся информация и который передает правильную информацию для пересылки всем устройствам обработки пакетов в сети, это чрезмерное упрощение того, что на самом деле означает централизованная плоскость управления. Рисунок 9 демонстрирует это. На рисунке 9, когда канл между D и F не работает: D и F сообщают об изменении топологии контроллеру Y. Y пересылает эту информацию другому контроллеру X. Y вычисляет лучший путь к каждому месту назначения без канала [D, F] и отправляет его каждому затронутому устройству в сети. Каждое устройство устанавливает эту новую информацию о пересылке в свою локальную таблицу. Конкретный пример шага 3 - Y вычисляет следующий лучший путь к E без канала [D, F] и отправляет его D для установки в его локальной таблице пересылки. Могут ли микропетли образовываться в централизованной плоскости управления? Базы данных в X и Y должны быть синхронизированы, чтобы оба контроллера вычисляли одинаковые пути без петель в сети Синхронизация этих баз данных повлечет за собой те же проблемы и (возможно) использование тех же решений, что и решения, обсуждавшиеся до сих пор в этой статье. Подключенным устройствам потребуется некоторое время, чтобы обнаружить изменение топологии и сообщить об этом контроллеру. Контроллеру потребуется некоторое время, чтобы вычислить новые пути без петель. Контроллеру потребуется некоторое время, чтобы уведомить затронутые устройства о новых путях без петель в сети. Во время временных интервалов, описанных здесь, сеть все еще может образовывать микропетли. Централизованная плоскость управления чаще всего переводится в плоскость управления не запущенными устройствами переадресации трафика. Хотя они могут казаться радикально разными, централизованные плоскости управления на самом деле используют многие из тех же механизмов для распределения топологии и достижимости, а также те же алгоритмы для вычисления безцикловых путей через сеть, что и распределенные плоскости управления. Плоскости сегментирования и управления. Одна интересная идея для уменьшения состояния, переносимого на любое отдельное устройство, независимо от того, используется ли распределенная или централизованная плоскость управления, заключается в сегментировании информации в таблице топологии (или базе данных). Сегментация-это разделение информации в одной таблице на основе некоторого свойства самих данных и хранение каждого полученного фрагмента или фрагмента базы данных на отдельном устройстве. Рисунок 10 демонстрирует это. В сети на рисунке 10 предположим, что оба контроллера, X и Y, имеют информацию о топологии для всех узлов (устройств) и ребер (каналов) в сети. Однако для масштабирования размера сети доступные места назначения были разделены на два контроллера. Существует множество возможных схем сегментирования - все, что может разделить базу данных (или таблицу) на части примерно одинакового размера, будет работать. Часто используется хеш, так как хеши можно быстро изменить на каждом устройстве, где хранится сегмент, чтобы сбалансировать размеры сегментов. В этом случае предположим, что схема сегментирования немного проще: это диапазон IP-адресов. В частности, на рисунке представлены два диапазона IP-адресов: 2001: db8: 3e8: 100 :: / 60, который содержит от 100 :: / 64 до 10f :: / 64; и 2001: db8: 3e8: 110 :: / 60, который содержит от 110 :: / 64 до 11f :: / 64. Каждый из этих диапазонов адресов разделен на один контроллер; X будет содержать информацию о 2001: db8: 3e8: 100 :: / 60, а Y будет содержать информацию о 2001: db8: 3e8: 110 :: / 64. Не имеет значения, где эти доступные пункты назначения подключены к сети. Например, информация о том, что 2001: db8: 3e8: 102 :: / 64 подключен к F, будет храниться в контроллере X, а информация о том, что 2001: db8: 3e8: 110 :: / 64 подключен к A, будет храниться на контроллере Y. Чтобы получить информацию о доступности для 2001: db8: 3e8: 102 :: / 64, Y потребуется получить информацию о том, где этот пункт назначения соединен с X. Это будет менее эффективно с точки зрения вычисления кратчайших путей, но он будет более эффективным с точки зрения хранения информации, необходимой для вычисления кратчайших путей. Фактически, возможно, если информация хранится правильно (а не тривиальным способом, используемым в этом примере), чтобы несколько устройств вычислили разные части кратчайшего пути, а затем обменивались только результирующим деревом друг с другом. Это распределяет не только хранилище, но и обработку. Существует несколько способов, с помощью которых информация о плоскости управления может быть разделена, сохранена и, когда вычисления выполняются через нее, чтобы найти набор путей без петель через сеть. Согласованность, доступность и возможность разделения. Во всех трех системах распределения, обсуждаемых в этой статье, - лавинной, поэтапной и централизованных хранилищ - возникает проблема микропетель. Протоколы, реализующие эти методы, имеют различные системы, такие как разделение горизонта и альтернативы без петель, чтобы обходить эти микропетли, или они позволяют микропетлям появляться, предполагая, что последствия будут небольшими для сети. Существует ли объединяющая теория или модель, которая позволит инженерам понять проблемы, связанные с распределением данных по сети, и различные сопутствующие компромиссы? Есть: теорема CAP. В 2000 году Эрик Брюер, занимаясь как теоретическими, так и практическими исследованиями, постулировал, что распределенная база данных обладает тремя качествами: Согласованностью, Доступностью и устойчивость к разделению (Consistency, Accessibility Partition tolerance-CAP). Между этими тремя качествами всегда есть компромисс, так что вы можете выбрать два из трех в любой структуре системы. Эта гипотеза, позже доказанная математически, теперь известна как теорема CAP. Эти три термина определяются как: Согласованность: Каждый считыватель видит согласованное представление содержимого базы данных. Если какое-то устройство С записывает данные в базу данных за несколько мгновений до того, как два других устройства, А и В, прочитают данные из базы данных, оба считывателя получат одну и ту же информацию. Другими словами, нет никакой задержки между записью базы данных и тем, что оба считывателя, А и В, могут прочитать только что записанную информацию. Доступность: каждый считыватель имеет доступ к базе данных при необходимости (почти в реальном времени). Ответ на чтение может быть отложен, но каждое чтение будет получать ответ. Другими словами, каждый считыватель всегда имеет доступ к базе данных. Не существует времени, в течение которого считыватель получил бы ответ «сейчас вы не можете запросить эту базу данных». Устойчивость к разделению: возможность копирования или разделения базы данных на несколько устройств. Проще изучить теорему CAP в небольшой сети. Для этого используется рисунок 11. Предположим, что A содержит единственную копию базы данных, к которой должны иметь доступ как C, так и D. Предположим, что C записывает некоторую информацию в базу данных, а затем сразу же после, C и D считывают одну и ту же информацию. Единственная обработка, которая должна быть, чтобы убедиться, что C и D получают одну и ту же информацию, - это A. Теперь реплицируйте базу данных, чтобы была копия на E и еще одна копия на F. Теперь предположим, что K записывает в реплику на E, а L читает из реплики на F. Что же будет? F может вернуть текущее значение, даже если это не то же самое значение, что только что записал К. Это означает, что база данных возвращает непоследовательный ответ, поэтому согласованность была принесена в жертву разделению базы данных. Если две базы данных синхронизированы, ответ, конечно, в конечном итоге одинаковым, но потребуется некоторое время, чтобы упаковать изменение (упорядочить данные), передать его в F и интегрировать изменение в локальную копию F. F может заблокировать базу данных или определенную часть базы данных, пока выполняется синхронизация. В этом случае, когда L читает данные, он может получить ответ, что запись заблокирована. В этом случае доступность теряется, но сохраняется согласованность и разбиение базы данных. Если две базы данных объединены, то согласованность и доступность могут быть сохранены за счет разделения. Невозможно решить эту проблему, чтобы все три качества были сохранены, из-за времени, необходимого для синхронизации информации между двумя копиями базы данных. Та же проблема актуальна и для сегментированной базы данных. Как это применимо к плоскости управления? В распределенной плоскости управления база данных, из которой плоскость управления черпает информацию для расчета путей без петель, разделена по всей сети. Кроме того, база данных доступна для чтения локально в любое время для расчета путей без петель. Учитывая разделение и доступность, необходимые для распределенной базы данных, используемой в плоскости управления, следует ожидать, что непротиворечивость пострадает - и это действительно так, что приводит к микропетлям во время конвергенции. Централизованная плоскость управления не «решает» эту проблему. Централизованная плоскость управления, работающая на одном устройстве, всегда будет согласованной, но не всегда будет доступной, а отсутствие разделения будет представлять проблему для устойчивости сети.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59