Грин план что это
Greenplum DB
Продолжаем цикл статей о технологиях, использующихся в работе хранилища данных (Data Warehouse, DWH) нашего банка. В этой статье я постараюсь кратко и немного поверхностно рассказать о Greenplum — СУБД, основанной на postgreSQL, и являющейся ядром нашего DWH. В статье не будут приводиться логи установки, конфиги и прочее — и без этого заметка получилась достаточно объёмной. Вместо этого я расскажу про общую архитектуру СУБД, способы хранения и заливки данных, бекапы, а также перечислю несколько проблем, с которыми мы столкнулись в ходе эксплуатации.
Немного о наших инсталляциях:
1. Общая Архитектура
Итак, Greenplum (GP) – реляционная СУБД, имеющая массово-параллельную (massive parallel processing) архитектуру без разделения ресурсов (Shared Nothing). Для подробного понимания принципов работы GP необходимо обозначить основные термины:
Master instance (он же просто «мастер») – инстанс Postgres, являющийся одновременно координатором и входной точкой для пользователей в кластере;
Master host («сервер-мастер») – сервер, на котором работает Master instance;
Secondary master instance — инстанс Postgres, являющийся резервным мастером, включается в работу в случае недоступности основного мастера (переключение происходит вручную);
Primary segment instance («сегмент») — инстанс Postgres, являющийся одним из сегментов. Именно сегменты непосредственно хранят данные, выполняют с ними операции и отдают результаты мастеру (в общем случае). По сути сегмент – самый обычный инстанс PostgreSQL 8.2.15 с настроенной WAL-репликацией в своё зеркало на другом сервере:
Mirror segment instance («зеркало») — инстанс Postgres, являющийся зеркалом одного из primary сегментов, автоматически принимает на себя роль primary в случае падения оного:
GP поддерживает только 1-to-1 репликацию сегментов: для каждого из primary может быть только одно зеркало.
Segment host («сервер-сегмент») – сервер, на котором работает один или несколько сегментов и/или зеркал.
В общем случае кластер GP состоит из нескольких серверов-сегментов, одного сервера-мастера, и одного сервера-секондари-мастера, соединённых между собой одной или несколькими быстрыми (10g, infiniband) сетями, обычно обособленными (interconnect):
Рис. 1. Состав кластера и сетевое взаимодействие элементов. Здесь — зелёная и красная линии — обособленные сети interconnect, синяя линия — внешняя, клиентская сеть.
Использование нескольких interconnect-сетей позволяет, во-первых, повысить пропускную способность канала взаимодействия сегментов между собой, и во-вторых, обеспечить отказоустойчивость кластера (в случае отказа одной из сетей весь трафик перераспределяется между оставшимися).
При выборе числа серверов-сегментов важно правильно выбрать соотношение кластера «число процессоров/Тб данных» в зависимости от планируемого профиля нагрузки на БД — чем больше процессорных ядер приходится на единицу данных, тем быстрее кластер будет выполнять «тяжёлые» операции, а также работать со сжатыми таблицами.
При выборе числа сегментов в кластере (которое в общем случае к числу серверов никак не привязано) необходимо помнить следующее:
2. Хранение данных
В Greenplum реализуется классическая схема шардирования данных. Каждая таблица представляет из себя N+1 таблиц на всех сегментах кластера, где N – число сегментов (+1 в этом случае — это таблица на мастере, данных в ней нет). На каждом сегменте хранится 1/N строк таблицы. Логика разбиения таблицы на сегменты задаётся ключом (полем) дистрибуции – таким полем, на основе данных которого любую строку можно отнести к одному из сегментов.
Ключ (поле или набор полей) дистрибуции – очень важное понятие в GP. Как было сказано выше, Greenplum работает со скоростью самого медленного сегмента, это означает, что любой перекос в количестве данных (как в рамках одной таблицы, так и в рамках всей базы) между сегментами ведёт к деградации производительности кластера, а также к другим проблемам. Именно поэтому следует тщательно выбирать поле для дистрибуции – распределение количества вхождений значений в нём должно быть как можно более равномерным. Правильно ли вы выбрали ключ дистрибуции вам подскажет служебное поле gp_segment_id, существующее в каждой таблице – оно содержит номер сегмента, на котором хранится конкретная строка.
Важный нюанс: GP не поддерживает UPDATE поля, по которому распределена таблица.
В обоих случаях мы распределили таблицу по полю num_field. В первом случае мы вставили в это поле 20 уникальных значений, и, как видно, GP разложил все строки на разные сегменты. Во втором случае в поле было вставлено 20 одинаковых значений, и все строки были помещены на один сегмент.
В случае, если в таблице нет подходящих полей для использования в качестве ключа дистрибуции, можно воспользоваться случайной дистрибуцией (DISTRIBUTED RANDOMLY). Поле для дистрибуции можно менять в уже созданной таблице, однако после этого её необходимо перераспределить.
Именно по полю дистрибуции Greenplum совершает самые оптимальные JOIN’ы: в случае, если в обоих таблицах поля, по которым совершается JOIN, являются ключами дистрибуции, JOIN выполняется локально на сегменте. Если же это условие не верно, GP придётся или перераспределить обе таблицы по искомому полю, или закинуть одну из таблиц целиком на каждый сегмент (операция BROADCAST) и уже затем джойнить таблицы локально на сегментах.
Как видно, во втором случае в плане запроса появляются два дополнительных шага (по одному для каждой из участвующих в запросе таблиц): Redistribute Motion. По сути, перед выполнением запроса GP перераспределяет обе таблицы по сегментам, используя логику поля num_field_2, а не изначального ключа дистрибуции — поля num_field.
3. Взаимодействие с клиентами
В общем случае всё взаимодействие клиентов с кластером ведётся только через мастер — именно он отвечает клиентам, выдаёт им результат запроса и т.д. Обычные клиенты-пользователи не имеют сетевого доступа к серверам-сегментам.
Для ускорения загрузки данных в кластер используется bulk load — параллельная загрузка данных с/на клиент одновременно с нескольких сегментов. Bulk load возможен только с клиентов, имеющих доступ в интерконнекты. Обычно в роли таких клиентов выступают ETL-сервера и другие системы, которым необходима загрузка большого объёма данных (на рис.1 они обозначены как ETL/Pro client).
Для параллельной загрузки данных на сегменты используется утилита gpfdist. По сути, утилита поднимает на удалённом сервере web-сервер, который предоставляет доступ по протоколам gpfdist и http к указанной папке:
После запуска директория и все файлы в ней становятся доступны обычным wget’ом. Создадим для примера файл в директории, обслуживаемой gpfdist’ом, и обратимся к нему как к обычной таблице.
Также, но с немного другим синтаксисом, создаются внешние web-таблицы. Их особенность заключается в том, что они ссылаются на http протокол, и могут работать с данными, предоставляемыми сторонними web-серверами (apache и тд).
Особняком стоит возможность создавать внешние таблицы на данные, лежащие на распределённой ФС Hadoop (hdfs) – за это в GP ответственна отдельная компонента gphdfs. Для обеспечения её работы на каждый сервер, входящий в состав кластера GP, необходимо установить библиотеки Hadoop и прописать к ним путь в одной из системных переменных базы. Создание внешней таблицы, обращающейся к данным на hdfs, будет выглядеть примерно так:
Здесь hadoop_name_node – адрес хоста неймноды, /tmp/test_file.csv – путь до искомого файла на hdfs.
При обращении к такой таблице Greenplum выясняет у неймноды Hadoop расположение нужных блоков данных на датанодах, к которым затем обращается с серверов-сегментов параллельно. Естественно, все ноды кластера Hadoop должны быть в сетях интерконнекта кластера Greenplum. Такая схема работы позволяет достичь значительного прироста скорости даже по сравнению с gpfdist. Что интересно, логика выбора сегментов для чтения данных с датанод hdfs является весьма нетривиальной. Например, GP может начать тянуть данные со всех датанод только двумя сегмент-серверами, причём при повторном аналогичном запросе схема взаимодействия может поменяться.
Также есть тип внешних таблиц, которые ссылаются на файлы на сегмент-серверах или файл на мастере, а также на результат выполнения команды на сегмент-серверах или на мастере. К слову сказать, старый добрый COPY from никуда не делся и также может использоваться, однако по сравнению с описанным выше работает он медленней.
4. Надёжность и резервирование
4.1. Резервирование мастера
Как было сказано ранее, в кластере GP используется полное резервирование мастера с помощью механизма репликации транзакционных логов, контролируемого специальным агентом (gpsyncagent). При этом автоматическое переключение роли мастера на резервный инстанс не поддерживается. Для переключения на резервный мастер необходимо:
4.2. Резервирование сегментов
Схема резервирования сегментов похожа на таковую для мастера, отличия совсем небольшие. В случае падения одного из сегментов (инстанс postgres перестаёт отвечать мастеру в течении таймаута) сегмент помечается как сбойный, и вместо него автоматически запускается его зеркало (по сути, абсолютно аналогичный инстанс postgres). Репликация данных сегмента в его зеркало происходит на основе WAL (Wright Ahead Log).
Cтоит отметить, что довольно важное место в процессе планирования архитектуры кластера GP занимает вопрос расположения зеркал сегментов на серверах, благо GP даёт полную свободу в вопросе выбора мест расположения сегментов и их зеркал: с помощью специальной карты расположения сегментов их можно разместить на разных серверах, в разных директориях и заставить использовать разные порты. Рассмотрим два граничных варианта:
Вариант 1: все зеркала сегментов, располагающихся на хосте N, находятся на хосте N+1
В таком случае при отказе одного из серверов на сервере-соседе оказывается в два раза больше работающих сегментов. Как было сказано выше, производительность кластера равняется производительности самого медленного из сегментов, а значит, в случае отказа одного сервера производительность базы снижается минимум вдвое.
Однако, такая схема имеет и положительные стороны: при работе с отказавшим сервером уязвимым местом кластера становится только один сервер – тот самый, куда переехали сегменты.
Вариант 2: все зеркала сегментов, располагающихся на хосте N, равномерно «мажутся» на сервера N+1, N+2 … N+M, где M – число сегментов на сервере
В таком случае в случае отказа сервера возросшая нагрузка равномерно распределяется между несколькими серверами, не сильно влияя на общую производительность кластера. Однако, существенно повышается риск выхода из строя всего кластера – достаточно выйти из строя одному из M серверов, соседствующих с вышедшим из строя изначально.
Истина, как это часто бывает, где-то посередине – можно расположить по несколько зеркал сегментов одного сервера на нескольких других серверах, можно объединять сервера в группы отказоустойчивости, и так далее. Оптимальную конфигурацию зеркал следует подбирать исходя из конкретных аппаратных данных кластера, критичности простоя и так далее.
Также в механизме резервирования сегментов есть ещё один нюанс, влияющий на производительность кластера. В случае выхода из строя зеркала одного из сегментов последний переходит в режим change tracking – сегмент логирует все изменения, чтобы затем при восстановлении упавшего зеркала применить их к нему, и получить свежую, консистентную копию данных. Другими словами, при падении зеркала нагрузка, создаваемая на дисковую подсистему сервера сегментом, оставшимся без зеркала, существенно возрастает.
При устранении причины отказа сегмента (аппаратные проблемы, кончившееся место на устройстве хранения и тд) его необходимо вернуть в работу вручную, с помощью специальной утилиты gprecoverseg (даунтайм СУБД не требуется). По факту эта утилита скопирует скопившиеся на сегменте WA-логи на зеркало и поднимет упавший сегмент/зеркало. В случае, если речь идёт о primary-сегменте, изначально он включится в работу как зеркало для своего зеркала, ставшего primary (зеркало и основной сегмент будут работать поменявшись ролями). Для того, чтобы вернуть всё на круги своя, потребуется процедура ребаланса – смены ролей. Такая процедура также не требует даунтайма СУБД, однако на время ребаланса все сессии в БД подвиснут.
В случае, если повреждения упавшего сегмента настолько серьёзны, что простым копированием данных из WA-логов не обойтись, есть возможность использовать полное восстановление упавшего сегмента – в таком случае, по факту, инстанс postgresql будет создан заново, однако за счёт того, что восстановление будет не инкрементальным, процесс восстановления может занять продолжительное время.
5. Производительность
Оценка производительности кластера Greenplum – понятие довольно растяжимое. Я решил начать с тестов, проведённых в этой статье: habrahabr.ru/post/253017, так как рассматриваемые системы во многом похожи. Так как тестируемый кластер значительно (в 8 раз только по числу серверов) мощнее приведённого в статье выше, данных для теста будем брать в 10 раз больше. Если вы бы хотели увидеть в этой статье результаты других кейсов, пишите в комментариях, по возможности постараюсь провести тестирование.
Исходные данные: кластер из 24 сегмент-серверов, каждый сервер – 192 Гб памяти, 40 ядер. Число primary-сегментов в кластере: 96.
Итак, в первом примере мы создаём таблицу с 4-я полями + первичный ключ по одному из полей. Затем мы наполняем таблицу данными (10 000 000 строк) и пробуем выполнить простой SELECT с несколькими условиями. Напоминаю, тест целиком взят из статьи про Postgres-XL.
Как видно, время выполнения запроса составило 175 мс. Теперь попробуем пример с джойном по ключу дистрибуции одной таблицы и по обычному полю другой таблицы.
Время выполнения запроса составило 4.6 секунды. Много это или мало для такого объёма данных – вопрос спорный и лежащий вне этой статьи.
6. Расширение кластера
В жизненном цикле распределённой аналитической БД рано или поздно возникает ситуация, когда объём доступного дискового пространства уже не может вместить всех необходимых данных, а доустановка устройств хранения в имеющиеся сервера либо невозможна, либо слишком дорога и сложна (потребуется, как минимум, расширение существующих разделов). Кроме того, добавление одних лишь дисковых мощностей негативно скажется на соотношении «число процессоров/Тб данных», о котором мы говорили в п.1. Говоря простым языком, в кластер рано или поздно понадобится вводить новые сервера.
Greenplum позволяет добавлять как новые сервера, так и новые сегменты практически без простоя СУБД. Последовательность этого действа примерно такая:
7. Особенности эксплуатации
Как обычно, практика вносит в красивую теорию свои коррективы. Поделюсь некоторыми нюансами эксплуатации, выявленными нами за долгое время использования GP. Сразу оговорюсь, что стандартные нюансы postgresql (необходимость vacuum’а, особенности WAL-репликации) в этот перечень не попали.
8. Заключение
Greenplum — мощный и гибкий инструмент для аналитической обработки больших объёмов данных. Он требует к себе немного другого подхода, чем остальные enterprise-level решения для Data Warehouse (напильник — любимый инструмент администратора GP). Однако при достаточно низком пороге вхождения и большой унифицированности с postgresql Greenplum является сильным игроком на поле Data Warehouse DB.
И, наконец, небольшой бонус — 17 февраля 2015 года Pivotal заявили, что в ближайшем будущем Greenplum станет open source проектом, войдя в Big Data Product Suite.
UPD 28.10.2015. Исходный код БД доступен на github: github.com/greenplum-db/gpdb
Ну и рубрика «срочно в номер»: 12 октября стало известно о покупке компанией Dell корпорации EMC, являющейся владельцем Pivotal.
СОДЕРЖАНИЕ
Обман или реальный план?
Оценка Редера
Оценка гранд-адмирала Эриха Редера из Главного военно-морского командования была равнодушной, как и в случае с Морским львом. Его заботила военно-морская сила Германии и пополнение всех высадившихся войск:
В этом смысле Грин можно рассматривать как наихудший сценарий для верховного командования Вермахта (ОКВ). В то время как Каупиш должен был продолжить планирование и подготовку для Sea Lion / Green, он, похоже, отложил приготовления в конце 1940 года и не вернулся к ним. С его точки зрения, Грин стал уловкой. Эта точка зрения подкрепляется рассмотрением одного из предупреждений, предложенных участвующим в плане немецким войскам:
«Операция« Зеленая »ставит перед нами совершенно новую задачу. Поэтому нет прецедентов, из которых мы могли бы работать. Во многих случаях войскам придется позаботиться о себе. Каждый командующий должен искать способ достижения своей индивидуальной цели. Все зависит от степени сотрудничества, от бдительности и способности каждого человека предпринимать независимые действия. Уверенность в достижениях немецкого руководства и немецкого солдата должна быть основой этой операции ».
Таким образом, прогноз для немецких сухопутных войск, участвующих в Зеленой партии, был неблагоприятным. У них не было опыта крупномасштабных морских сражений ; им, возможно, придется сражаться и выжить без пополнения запасов, артиллерийской поддержки или прикрытия воздушной поддержки среди враждебных граждан. Им придется сражаться с ожидаемым движением британских войск с севера острова и с Великобританией, вторгшейся в Ирландию для защиты ее фланга. Эти недостатки, хотя, вероятно, приемлемы для Гитлера, были неприемлемы для Редера в его взвешенной оценке через четыре месяца после того, как план был впервые обнародован. Он не согласился с тем, что Ирландия может стать «черным ходом» в Британию при нынешней численности немецких войск.
Поскольку 12 октября 1940 года «Морской лев» был перенесен на весну 1941 года, а затем окончательно отменен 13 февраля 1943 года, Грин потерял актуальность.
Точность и детализация зеленого
Деталь в зеленом
Полный информационный пакет для Грина состоит из пяти томов, каждый из которых посвящен определенной области военных интересов. Хорошим примером этой детали является буклет на семидесяти пяти страницах под названием «Militärgeographische Angaben über Irland» («Военно-географические данные Ирландии»). В этом буклете описаны границы, размеры, историческое прошлое, промышленность, транспортная инфраструктура, растительность, климат и погода острова. Он также включал семнадцать страниц подробных набросков 233 городов и деревень с лексиконом. К буклету прилагалось 120 фотографий; Приложения содержали карты улиц двадцати пяти городов, включая названия улиц и адреса владельцев гаражей.
Военные детали плана Грин
Грина часто путают с планом, составленным Ирландской республиканской армией и отправленным в немецкую разведку ( Абвер ) в августе 1940 года. План, созданный ИРА, позже был назван Абвером « План Кэтлин » и «Операция Артус» министерством иностранных дел Германии. Не следует путать Грина и План Кэтлин. В Green нет подробностей о политике Ирландии, только оценки военного потенциала. Грин не упоминает IRA в этих оценках, и будет справедливо сказать, что даже если бы планировщики захотели включить детали и оценки IRA, они не получили бы много точной информации от Абвера.
Зеленый в рамках Sea Lion
Оставляя в стороне возможные пропагандистские и тактические цели Зеленого, аспекты военного планирования Зеленого лучше всего рассматривать как дополняющие цели Морского Льва. Предполагалось, что в погоне за Морским львом план Грин достигнет ряда военных целей:
В случае успеха «Морского льва» ожидалось, что следующим шагом будет выполнение «Зеленого», поскольку оперативные планы остаются неизменными в военное время. Никаких планов по введению правительства в Ирландии, но «облавы на диссидентов» не входило в состав Зеленых. Дублин упоминался как одна из шести немецких административных штаб-квартир между двумя островами, которые должны были быть созданы после успешного завершения строительства «Морского льва».
Реализация и цели плана
Первые высадки должны были состоять из эскадрилий артиллерии и коммандос, а также мотострелкового батальона. Также должен был высадиться батальон строительства мостов, три зенитных роты и несколько «рейдовых патрулей» для проверки обороны ирландской армии. Резервы 61-й, 72-й и 290-й немецких дивизий должны были взять на себя оккупационные обязанности на плацдарме Горей-Дунгарван, как только он будет создан. С этого момента общие детали плана кажутся отрывочными и в основном зависели бы от успеха или неудачи операции «Морской лев» в Великобритании.
Десантный
Защита Ирландии от Грина
Ожидалось, что ирландские войска окажут сопротивление первоначальному вторжению. Десантные катера и суда, перевозившие немецкие войска, должны были быть оснащены орудиями, направленными вперед, а вторгшимся войскам было приказано занять оборонительные позиции, как только они попадут под огонь, рассматривая возможность отступления только в случае крайней опасности.
Грин имел дело только с планом вторжения, так как никаких подробностей о покорении населения и возможном завоевании всего острова не было. Однако среди ирландского населения был элемент поддержки Третьего рейха из-за недовольства британским правлением в прошлом и недавним разделом страны. Схематичность плана поспособствовала оценке того, что это была скорее отвлекающая атака, чем фактическая попытка захватить остров, хотя после ее совершения немецким войскам, возможно, было трудно отступить.
Участие ИРА
Operation Green (Ирландия)
СОДЕРЖАНИЕ
Обман или реальный план? [ редактировать ]
Оценка Редера [ править ]
Оценка гранд-адмирала Эриха Редера из Главного военно-морского командования была равнодушной, как и в случае с Морским львом. [6] Его заботила сила немецкого военно-морского флота и пополнение всех высадившихся войск:
В этом смысле Грин можно рассматривать как наихудший сценарий для верховного командования Вермахта (ОКВ). В то время как Каупиш должен был продолжить планирование и подготовку для Sea Lion / Green, он, похоже, отложил приготовления в конце 1940 года и не вернулся к ним. С его точки зрения, Грин стал уловкой. Эта точка зрения подкрепляется рассмотрением одного из предупреждений, предложенных участвующим в плане немецким войскам:
«Операция« Зеленая »ставит перед нами совершенно новую задачу. Поэтому нет прецедентов, из которых мы могли бы работать. Во многих случаях войскам придется позаботиться о себе. Каждый командующий должен искать способ достижения своей индивидуальной цели. Все зависит от степени сотрудничества, от бдительности и способности каждого человека предпринимать независимые действия. Уверенность в достижениях немецкого руководства и немецкого солдата должна быть основой этой операции ».
Таким образом, прогноз для немецких сухопутных войск, участвующих в Зеленом, был плохим. У них не было опыта крупномасштабных морских сражений ; им, возможно, придется сражаться и выжить без пополнения запасов, артиллерийской поддержки или прикрытия воздушной поддержки среди враждебных граждан. Им придется сражаться с ожидаемым движением британских войск с севера острова и с Великобританией, вторгшейся в Ирландию для защиты ее фланга. Эти недостатки, хотя, вероятно, приемлемы для Гитлера, были неприемлемы для Редера в его взвешенной оценке через четыре месяца после того, как план был впервые обнародован. Он не согласился с тем, что Ирландия может стать «черным ходом» в Британию при нынешней численности немецких войск.
Поскольку 12 октября 1940 года «Морской лев» был перенесен на весну 1941 года, а затем окончательно отменен 13 февраля 1943 года, Грин потерял актуальность.
Точность и детализация Грина [ править ]
Деталь в зеленом [ править ]
Полный информационный пакет для Грина состоит из пяти томов, каждый из которых посвящен определенной области военных интересов. Хорошим примером деталей является буклет на семидесяти пяти страницах под названием «Militärgeographische Angaben über Irland» («Военно-географические данные Ирландии»). [9] В этой брошюре описаны границы, размер, историческое прошлое, промышленность, транспортная инфраструктура, растительность, климат и погода острова. Он также включал семнадцать страниц подробных набросков 233 городов и деревень с лексиконом. [10] К буклету прилагалось 120 фотографий; Приложения содержали карты улиц двадцати пяти городов, включая названия улиц и адреса владельцев гаражей.
Военные подробности Плана Грин [ править ]
Грина часто путают с планом, разработанным Ирландской республиканской армией и отправленным в немецкую разведку ( Абвер ) в августе 1940 года. [12] План, созданный ИРА, позже был назван Абвером « План Кэтлин » и немцами «Операция Артус». Министерство иностранных дел. [13] Не следует путать Грина и План Кэтлин. В Green нет подробностей о политике Ирландии, только оценки военного потенциала. Грин не упоминает IRA в этих оценках, и будет справедливо сказать, что даже если бы планировщики захотели включить детали и оценки IRA, они не получили бы много точной информации от Абвера.
Зеленый в рамках Sea Lion [ править ]
Оставляя в стороне возможные пропагандистские и тактические цели Зеленого, аспекты военного планирования Зеленого лучше всего рассматривать как дополняющие цели Морского Льва. Предполагалось, что в погоне за Морским львом план Грин достигнет ряда военных целей:
В случае успеха «Морского льва» ожидалось, что следующим шагом будет выполнение «Зеленого», поскольку оперативные планы остаются неизменными в военное время. Никаких планов по введению правительства в Ирландии, но «облавы на диссидентов» не входило в состав Зеленых. [14] Дублин упоминался как одна из шести немецких административных штаб-квартир между двумя островами, которые должны были быть созданы после успешного завершения проекта «Морской лев».
Реализация и цели плана [ править ]
Первые высадки должны были состоять из эскадрилий артиллерии и коммандос, а также мотострелкового батальона. Также должен был высадиться батальон строительства мостов, три зенитных роты и несколько «рейдовых патрулей» для проверки обороны ирландской армии. Резервы 61-й, 72-й и 290-й немецких дивизий должны были взять на себя оккупационные обязанности на плацдарме Горей-Дунгарван, как только он будет создан. С этого момента общие детали плана кажутся отрывочными и в основном зависели бы от успеха или неудачи операции «Морской лев» в Британии.
Морской десант [ править ]
Защита Ирландии от Грина [ править ]
Ожидалось, что ирландские войска окажут сопротивление первоначальному вторжению. Десантные катера и суда, перевозившие немецкие войска, должны были быть оснащены орудиями, направленными вперед, а вторгшимся войскам было приказано занять оборонительные позиции, как только они попадут под огонь, рассматривая возможность отступления только в случае крайней опасности.
Грин имел дело только с планом вторжения, так как никаких подробностей о покорении населения и возможном завоевании всего острова не было. Однако среди ирландского населения был элемент поддержки Третьего рейха из-за недовольства британским правлением в прошлом и недавним разделом страны. Схематичность плана поспособствовала оценке того, что это была скорее отвлекающая атака, чем фактическая попытка захватить остров, хотя после ее совершения немецким войскам, возможно, было трудно отступить.