Статья опубликована в рамках: LI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 30 марта 2017 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
СВОЙСТВА СИСТЕМ БОЛЬШИХ ДАННЫХ
Свойства, которыми должны обладать системы больших данных, связаны со сложностью системы в такой же степени, как и с ее масштабируемостью. Система больших данных должна не только надежно работать и эффективно потреблять ресурсы, но и должна быть простой в обращении. Рассмотрим свойства такой системы по порядку.
Надежность и отказоустойчивость
Построить систему, которая делает именно то, что нужно, не так-то просто, принимая во внимание трудности организации распределенных систем. Подобные системы должны действовать правильно независимо от случайных аппаратных отказов, сложной семантики согласованности в распределенных базах данных, дублирования данных, распараллеливания операций и прочих факторов. Вследствие подобных трудностей оказывается нелегко даже выяснить, что же система делает. Отчасти добиться надежности системы больших данных означает избежать этих осложнений, чтобы можно было легко рассуждать о системе.
Очень важно, чтобы системы были устойчивы к отказам, связанным с человеческим фактором. Это свойство информационных систем нередко упускается из виду, но им нельзя пренебрегать. При эксплуатации системы неизбежны ошибки, совершаемые кем-нибудь, например, в результате развертывания неверного кода, портящего значения в базе данных. Если положить неизменяемость и повторность вычислений в основу системы больших данных, то такая система будет естественно устойчива к ошибкам, связанным с человеческим фактором, предоставляя ясный и простой механизм для восстановления после подобных ошибок.
Малые задержки чтения и записи данных
В подавляющем большинстве приложений требуется читать данные с удовлетворительно малой задержкой (как правило, в пределах от пяти до нескольких сотен миллисекунд). С другой стороны, требования к задержке обновлений могут заметно отличаться в разных приложениях. В одних приложениях требуется, чтобы обновления распространялись немедленно, тогда как в других вполне допустима задержка на несколько часов. Как бы там ни было, необходимо добиться малой задержки обновлений именно тогда, когда они требуются в системах больших данных. Но еще важнее добиться малой задержки чтения и записи данных, не нарушая надежность системы.
Масштабируемость
Масштабируемость — это способность поддерживать производительность с учетом увеличения объемов данных или нагрузки на систему по мере ввода в нее ресурсов [1]. Лямбда-архитектура масштабируется, но горизонтали на всех уровнях системного стека. Такое масштабирование осуществляется путем добавления дополнительных машин.
Обобщение
Лямбда-архитектура основана на функциях всех данных, и поэтому в ней обобщены все приложения, будь то системы ведения финансовых операций, приложения для аналитики социальных сетей, научные приложения и т.п.
Расширяемость
Вряд ли стоит изобретать колесо всякий раз, когда в систему внедряется соответствующее функциональное средство или вносятся изменения в порядок ее работы. Расширяемые системы позволяют внедрять функциональные возможности при минимальных затратах на разработку.
Нередко новые функциональные средства или изменения в существующих функциональных средствах требуют переноса прежних данных в новый формат. Отчасти расширяемость системы означает упрощение крупномасштабных переносов данных. Возможность произвести такой перенос просто и быстро составляет основу подхода.
Запросы с произвольным доступом
Возможность делать запросы с произвольным доступом к данным имеет чрезвычайно большое значение. Почти каждый массив данных содержит непредусмотренное значение. А возможность произвольного доступа к массиву данных способствует оптимизации коммерческой деятельности и внедрению новых приложений. В конечном итоге вы не сможете обнаружить ничего интересного в данных, не обратившись к ним с запросами с произвольным доступом.
Минимальное сопровождение
Сопровождение ложится на разработчиков дополнительным бременем, подобно налогам. Это вид работ, которые требуется выполнять для поддержания системы в нормальном состоянии во время ее эксплуатации. К их числу относится предварительное планирование ввода в эксплуатацию новых машин для масштабирования системы, поддержание процессов в рабочем состоянии, а также устранение любых неполадок, возникающих при эксплуатации системы.
Чтобы свести к минимуму сопровождение системы важно выбрать компоненты, обладающие как можно меньшими сложностями реализации. Для этого следует предпочесть компоненты, в основу которых положены простые механизмы. В частности, распределенные базы данных обычно имеют очень сложные внутренние механизмы. Чем сложнее система, тем вероятнее сбои в ее работе и тем лучше нужно знать систему, чтобы отлаживать и настраивать ее.
Чтобы бороться со сложностями реализации, следует применять простые алгоритмы и компоненты. Так, в лямбда-архитектуре сложности специально перенесены из базовых компонентов в те части системы, выходные данные которых аннулируются через несколько часов. Самые сложные из применяемых компонентов вроде распределенных баз данных чтения-записи находятся на том уровне, где выходные данные в конечном итоге аннулируются.
Отлаживаемость
Система больших данных должна предоставлять информацию, необходимую для отладки этой системы в том случае, когда в ней возникают неполадки. Для этого в системе должен отслеживаться каждый параметр, чтобы выяснить причины, по которым он появился.
Отлаживаемость в лямбда-архитектуре достигается благодаря функциональному характеру уровня пакетной обработки и предпочтительному применению алгоритмов повторных вычислений по мере возможности. На первый взгляд, достичь всех этих свойств в одной системе очень трудно. Но если начать с основных принципов, как это делается в лямбда-архитектуре, то подобные свойства возникнут естественным образом из структуры системы.
Список литературы:
- Марц, Натан, Уорен, Джеймс. Большие данные: принципы и практика построения масштабируемых систем обработки данных в реальном времени.: Пер. с англ. — М.: ООО “И.Д.Вильямс”, 2016 – 368 с.: ил. — Парал. Тит. Англ.
дипломов
Оставить комментарий