Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65

Статья опубликована в рамках: LI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 30 марта 2017 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Беляев А.А., Михайлова М.В. СВОЙСТВА СИСТЕМ БОЛЬШИХ ДАННЫХ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LI междунар. студ. науч.-практ. конф. № 3(50). URL: https://sibac.info/archive/technic/3(50).pdf (дата обращения: 23.09.2021)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

СВОЙСТВА СИСТЕМ БОЛЬШИХ ДАННЫХ

Беляев Александр Александрович

студент-бакалавр факультета информационных систем и технологий

Самарский государственный технический университет,

Россия, Самара

Михайлова Мария Владимировна

магистрант факультета информационных систем и технологий

 Самарский государственный технический университет,

Россия, Самара

Научный руководитель Тимофеев Александр Вадимович

канд. пед. наук, доцент кафедры информационных и развивающих образовательных систем и технологий, Самарский государственный технический университет,

Россия, Самара

Научный руководитель Шаврин Вадим Юрьевич

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

Россия, Самара

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

Надежность и отказоустойчивость

Построить систему, которая делает именно то, что нужно, не так-то просто, принимая во внимание трудности организации распределенных систем. Подобные системы должны действовать правильно независимо от случайных аппаратных отказов, сложной семантики согласованности в распределенных базах данных, дублирования данных, распараллеливания операций и прочих факторов. Вследствие подобных трудностей оказывается нелегко даже выяснить, что же система делает. Отчасти добиться надежности системы больших данных означает избежать этих осложнений, чтобы можно было легко рассуждать о системе.

Очень важно, чтобы системы были устойчивы к отказам, связанным с человеческим фактором. Это свойство информационных систем нередко упускается из виду, но им нельзя пренебрегать. При эксплуатации системы неизбежны ошибки, совершаемые кем-нибудь, например, в результате развертывания неверного кода, портящего значения в базе данных. Если положить неизменяемость и повторность вычислений в основу системы больших данных, то такая система будет естественно устойчива к ошибкам, связанным с человеческим фактором, предоставляя ясный и простой механизм для восстановления после подобных ошибок.

Малые задержки чтения и записи данных

В подавляющем большинстве приложений требуется читать данные с удовлетворительно малой задержкой (как правило, в пределах от пяти до нескольких сотен миллисекунд). С другой стороны, требования к задержке обновлений могут заметно отличаться в разных приложениях. В одних приложениях требуется, чтобы обновления распространялись немедленно, тогда как в других вполне допустима задержка на несколько часов. Как бы там ни было, необходимо добиться малой задержки обновлений именно тогда, когда они требуются в системах больших данных. Но еще важнее добиться малой задержки чтения и записи данных, не нарушая надежность системы.

Масштабируемость

Масштабируемость — это способность поддерживать производительность с учетом увеличения объемов данных или нагрузки на систему по мере ввода в нее ресурсов [1]. Лямбда-архитектура масштабируется, но горизонтали на всех уровнях системного стека. Такое масштабирование осуществляется путем добавления дополнительных машин.

Обобщение

Лямбда-архитектура основана на функциях всех данных, и поэтому в ней обобщены все приложения, будь то системы ведения финансовых операций, приложения для аналитики социальных сетей, научные приложения и т.п.

Расширяемость

Вряд ли стоит изобретать колесо всякий раз, когда в систему внедряется соответствующее функциональное средство или вносятся изменения в порядок ее работы. Расширяемые системы позволяют внедрять функциональные возможности при минимальных затратах на разработку.

Нередко новые функциональные средства или изменения в существующих функциональных средствах требуют переноса прежних данных в новый формат. Отчасти расширяемость системы означает упрощение крупномасштабных переносов данных. Возможность произвести такой перенос просто и быстро составляет основу подхода.

Запросы с произвольным доступом

Возможность делать запросы с произвольным доступом к данным имеет чрезвычайно большое значение. Почти каждый массив данных содержит непредусмотренное значение. А возможность произвольного доступа к массиву данных способствует оптимизации коммерческой деятельности и внедрению новых приложений. В конечном итоге вы не сможете обнаружить ничего интересного в данных, не обратившись к ним с запросами с произвольным доступом.

Минимальное сопровождение

Сопровождение ложится на разработчиков дополнительным бременем, подобно налогам. Это вид работ, которые требуется выполнять для поддержания системы в нормальном состоянии во время ее эксплуатации. К их числу относится предварительное планирование ввода в эксплуатацию новых машин для масштабирования системы, поддержание процессов в рабочем состоянии, а также устранение любых неполадок, возникающих при эксплуатации системы.

Чтобы свести к минимуму сопровождение системы важно выбрать компоненты, обладающие как можно меньшими сложностями реализации. Для этого следует предпочесть компоненты, в основу которых положены простые механизмы. В частности, распределенные базы данных обычно имеют очень сложные внутренние механизмы. Чем сложнее система, тем вероятнее сбои в ее работе и тем лучше нужно знать систему, чтобы отлаживать и настраивать ее.

Чтобы бороться со сложностями реализации, следует применять простые алгоритмы и компоненты. Так, в лямбда-архитектуре сложности специально перенесены из базовых компонентов в те части системы, выходные данные которых аннулируются через несколько часов. Самые сложные из применяемых компонентов вроде распределенных баз данных чтения-записи находятся на том уровне, где выходные данные в конечном итоге аннулируются.

Отлаживаемость

Система больших данных должна предоставлять информацию, необходимую для отладки этой системы в том случае, когда в ней возникают неполадки. Для этого в системе должен отслеживаться каждый параметр, чтобы выяснить причины, по которым он появился.

Отлаживаемость в лямбда-архитектуре достигается благодаря функциональному характеру уровня пакетной обработки и предпочтительному применению алгоритмов повторных вычислений по мере возможности. На первый взгляд, достичь всех этих свойств в одной системе очень трудно. Но если начать с основных принципов, как это делается в лямбда-архитектуре, то подобные свойства возникнут естественным образом из структуры системы.

 

Список литературы:

  1. Марц, Натан, Уорен, Джеймс. Большие данные: принципы и практика построения масштабируемых систем обработки данных в реальном времени.: Пер. с англ. — М.: ООО “И.Д.Вильямс”, 2016 – 368 с.: ил. — Парал. Тит. Англ.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом