С зарождения человечества перед людьми в том или ином виде стояла проблема хранения и обработки информации – начиная от Тэртерийских глиняных табличек, датируемых V тыс. до н.э, великой библиотеки в Александрии и заканчивая сегодняшними возможностями ИТ-решений и технологий, от простых бытовых записей (например, учета съестных ресурсов) в древности до сложной бизнес-аналитики и систем принятия решений на производственных предприятиях сегодня. Каждая эпоха привносила свои знания и стимулировала все больший рост объемов информации. Предвестниками же появления именно термина “Больших данных” можно считать начавшуюся, казалось бы, не так давно эру сети Интернет и последовавшие за последние десятилетия скачки темпов роста хранимых данных (во многом благодаря увеличению объемов веб-контента).
Таким образом, на сегодняшний день термин “Большие данные” или “Big Data” крепко вошел в лексикон практически всех ИТ-специалистов работающих в отрасли. Не проходит и пары докладов на научных и технических ИТ конференциях, чтобы не услышать данное словосочетание в зачастую совершенно разных и противоречивых контекстах. При этом большинство использующих данный термин зачастую определяют “Big Data” в крайне упрощенном варианте, именуя данным термином любой внушительный по меркам ИТ объем данных (зачастую неструктурированных), хранимый в цифровом виде на носителях данных. На самом деле, это не совсем так. Более того, невозможно применить данный термин, только исходя из объемов хранящихся данных ведь “Big Data”. Это в первую очередь набор методик и технологий, позволяющих обрабатывать большие объемы как структурированных, так и неструктурированных данных с целью получения требуемой информации за время, достаточное для сохранения актуальности обрабатываемых данных. В целом для решений “Big Data” используются характеристики впервые введенные аналитиком Gartner Дугом Лейни (Doug Laney) уже в столь далеком от нас 2001 году и ныне широко известные как “3V” (Volume, Velocity, Variety).
● Volume – да, это именно он, тот самый пресловутый объем хранимых данных, требующий обработки с целью получения необходимой информации, о котором в первую очередь говорят, подразумевая “Большие данные”. В частности, может включать в себя информацию, согласно сфере деятельности компании, данные от разного рода интеллектуальных устройств интернета вещей (IoT), технические параметры функционирования и физического состояния оборудования, информацию о текущей деятельности и загрузки сотрудников различных подразделений и многое другое.
● Velocity – представляет собой требуемую скорость обработки данных с учетом скорости их поступления в систему. Ведь, чтобы получить из данных необходимую информацию, их нужно обработать настолько оперативно, чтобы хранимая в них информация не потеряла свою актуальность.
● Variety – вариативность хранимых и обрабатываемых данных. Ведь источников может быть огромное количество, каждый из них представляет информацию в определенном виде. К примеру, это может быть как структурированная информация из баз данных, так и разного рода текстовые и графические файлы пользователей или даже служебные данные от устройств интернета вещей.
Само же формирование термина и методологии работы с “Большими данными” стало следствием того, что традиционные решения, применяемые до недавних пор и исповедующие исключительно вертикальное масштабирование, постепенно переставали соответствовать все более возрастающим потокам данных и сложности их обработки. Миру нужны были новые решения и технологии, и они появились, во многом благодаря ведущим ИТ-компаниям.
В 2004 году Джеффри Дин (Jeffrey Dean) и Санджай Гемават (Sanjay Ghemawat), сотрудники корпорации Google, представили свою модель параллельных вычислений для работы с большими объемами данных (до нескольких петабайт), получившую название MapReduce. Впоследствии данная технология стала по сути стандартом при разработке решений для работы с “Большими данными”. С целью же хранения этих впечатляющих объемов данных, размещенных зачастую на огромном количестве физических серверов использовалась GFS – кластерная файловая система, позволяющая представить все сервера-ноды системы как один виртуальный диск.
Идеи и подходы Google, с точки зрения работы с большими объемами данных, не остались незамеченными, в частности это доказывает появившийся всего тремя годами позже проект Hadoop – на сегодняшний день флагманский фреймворк для решения задач “Больших данных”. По аналогии с решениями от Google он включает в себя собственную реализацию распределенной кластерной файловой системы под названием Hadoop Distributed File System (HDFS) и систему планирования заданий и управления кластерными решениями YARN (Yet Another Resource Negotiator), в основе которой лежит переосмысление основных парадигм MapReduce, ранее предложенной Google.
А вот с точки зрения выбора модели баз данных для работы с “Большими данными”, все не так однозначно, и многое зависит именно от необходимых к хранению типов данных, объемов и темпов роста, структурированности и многих других факторов. По сему в рамках систем, реализующий работу с большими данными, могут встречаться как классическая реляционная SQL-модель для хранения структурированных данных, так и более “новомодная” NoSQL модель, не требующая определения схемы хранения и позволяющая хранить разнотипные данные.
Если говорить о программных реализациях данных моделей, то из более привычных нам SQL-решений чаще всего встречается решение Hive и NoSQL – децентрализованная база данных HBase.
В любом случае, вне зависимости от задач, используемых программных и аппаратных решений, “Большие данные” есть новый тренд для всех областей бизнес деятельности. Согласно опубликованному отчету агентства ResearchAndMarkets, датированным сентябрем 2020 года, рынок аналитики больших данных продолжит свой рост при средней динамике в 11,9% до 2028 года включительно, что в итоге приведет к росту объема рынка до $115,13 миллиардов.
А что же может предложить Huawei, спросите вы? – Многое. Для нас, как компании-разработчика программных и аппаратных решений, проекты, подразумевающие работу с “Большими данными”, имеют ключевое значение. Данные решения, первоначально востребованные и апробированные на внутреннем рынке Китая, постепенно начинают тиражироваться на внешние рынки. И да, это тот самый случай когда самый популярный вопрос, задаваемый нашими уважаемыми заказчиками, “А почему большинство успешных проектов только в Китае?” становится неуместным. Ведь согласно исследованию, проведенному аналитиками из IDC совместно с компанией Seagate – с 2019 года КНР является лидером по объему создаваемых данных, так только за 2018 год китайские компании потребили и произвели порядка 7,6 Збайт данных, опередив США с показателем 6,9 Збайт. На текущий момент прогнозируется, что к 2025 году в этих странах будут сгенерированы данные в объеме 48,6 и 30,6 Збайт соответственно. Конечно же, при таких показателях решения для работы с “Большими данными” были востребованы в первую очередь на внутреннем для Huawei рынке, где они прошли успешную апробацию, обросли успешными проектами и “выросли” для тиражирования на внешние рынки.
Но если впереди Китай и США, то так ли это важно для всего остального мира? Если отвечать кратко, то да – использование “Больших данных” растет во всех областях деятельности, как мы уже ранее отмечали, а если говорить о глобальных показателях, то в 2018 году было произведено около 33 Збайт, а к 2025 году прогнозируется, что общий показатель достигнет уже 175 Збайт. Таким образом, проблема работы с “Большими данными” обретает все большее влияние.Что же лежит в основе наших решений? С точки зрения аппаратного обеспечения, для решения задач больших данных мы предлагаем использовать линейку серверов Huawei Taishan, созданных на базе наших фирменных чипов, в том числе 64-ядерного ARM процессора Kunpeng 920. На текущий момент именно процессоры архитектуры ARM являются наиболее производительными и готовыми для работы в высоко нагруженных кластерных системах параллельной или распределенной обработки данных. Вспомним, к примеру, суперкомпьютер “Fugaku” от компании Fujitsu, построенный на базе данной архитектуры и на текущих момент в три раза превосходящий по производительности машину, занимающую вторую строчку в рейтинге TOP-500. О преимуществах как самой архитектуры ARM, так и о преимуществах конкретно наших процессоров Kunpeng можно говорить долго, и мы конечно же об этом расскажем в одной из наших следующих статей, а пока вернемся к “Большим данным”.
В этот момент многие мне попробуют возразить – “Какой такой ARM? Да будь он хоть трижды эффективнее х86, но как быть с программной экосистемой?” И тут нам на помощь приходит свободное программное обеспечение, изначально распространяемое с полным набором исходных кодов, открытых для собственной доработки и оптимизации под особенности каждой конкретной архитектуры. Ранее упомянутые нами программные решения – Hadoop, Yarn, Hbase, Hive и прочие, являются свободным программным обеспечением, что открыло возможность нашим программистам при необходимости создавать свои сборки программного обеспечения с внесением изменений, позволяющих максимально адаптировать их под работу не просто на ARM архитектуре, но и с использованием специфических возможностей конкретных чипов Huawei Kunpeng. В частности, в качестве примера можно привести собственные сборки программно-определяемого хранилища Ceph, позволяющее задействовать аппаратные возможности KAE (Kunpeng Accelerator Engine) для расчета хэш алгоритмов и работы с OpenSSL. Помимо адаптации и доработки свободного программного обеспечения, мы активно взаимодействуем и с разработчиками ядра Linux с целью максимальной поддержки наших технологий во всех выпускаемых дистрибутивах данной операционной системы. В частности, были внесены изменения и доработки в модуль ядра bcache, управляющий кэшем. Но, дабы не быть голословным, давайте обратим внимание на приведенную ниже статистику внесенных изменений в исходный код ядра Linux.
Как видно из представленной выше статистики, Huawei является одним из ключевых участников процесса доработки ядра Linux уже на протяжении достаточно продолжительного периода времени, внося свой вклад в развитие свободного программного обеспечения, и мы не собираемся останавливаться на достигнутом. Мы искренне верим в концепцию свободного программного обеспечения и совместное развитие в частности с целью адаптации наших аппаратных решений для его максимально эффективного использования.
Но все это лишь теория вопроса. Итого, что же мы успели сделать к сегодняшнему дню. Говоря об успешных проектах в сфере “Больших данных”, конечно же стоит начать с тех, что создавались под онлайн-платформы развлекательного контента и системы интеллектуального видеонаблюдения. Возвращаясь к ранее упомянутому исследованию IDC, именно данные проекты будут генерировать наибольший рост объемов данных в предстоящие несколько лет.
И одним из самых значимых для нас проектов является реализация системы интеллектуального видеонаблюдения проекта “Безопасный город”, реализованного в Пекине. Реализация данного проекта потребовала применения более 1000 серверов Huawei Taishan и задействовала полный стек программных решений Hadoop с целью построения эффективной программной экосистемы как представлено на рисунке ниже, в общей сложности обеспечив работоспособность системы с 20% ростом энергоэффективности используемого оборудования.
Но говоря о решениях на основе серверов Huawei Taishan, необходимо понимать, что речь идет не столько об энергоэффективности оборудования (а она действительно выше, чем у конкурирующих архитектур), сколько о производительности данных решений для параллельных и распределенных вычислений, как мы уже ранее отмечали. К примеру, если мы говорим о проектах связанных с большими данными, то наши лабораторные исследования производительности показывают 30% преимущество процессоров Kunpeng в большинстве типовых сценариев использования. Как видно из таблицы ниже, Kunpeng крайне эффективен в сценариях подразумевающих высокую вычислительную нагрузку (Computing-intense) и системах комбинирующих высокую вычислительную нагрузку с требованиями к подсистеме ввода/вывода (I/O-Intensive).
Тип нагрузки |
Ключевые программные компоненты |
Показатели преимущества производительности Kunpeng |
Высокая вычислительная нагрузка |
Hive Elasticsearch |
20%-30% |
Гибридные системы с высокой вычислительной нагрузкой и требованиями к подсистеме ввода/вывода |
HBase Spark |
10%-20% |
Высокая нагрузка на подсистему ввода-вывода (I/O Intensive) |
Redis Kafka |
производительность аналогичная конкурирующим платформам |
С целью утолить любопытство и развеять все сомнения наших уважаемых заказчиков в перспективности решений ARM, в частности для использования в проектах с “Большими данными”, Huawei создал на базе своего московского офиса специализированный ЦОД. Наличие собственного ЦОД, построенного на базе ARM серверов линейки Huawei Taishan, позволяет всем желающим получить удаленный доступ до требуемого оборудования Huawei с целью самостоятельного проведения любых комплексных тестов. На сегодняшний день в мире насчитывается менее десятка центров обработки данных, которые работают на отличных от х86 архитектурах, что делает данный ЦОД действительно перспективным. Уже сегодня его возможности для своих целей использует исследовательский институт Huawei и научно-академическое сообщество России с целью доработки и оптимизации программных решений с открытым исходным кодом.
Какой бы из подходов к тестированию не выбрал наш заказчик, на всем его протяжении предоставляется техническая поддержка профильной экспертной инженерной группы Huawei обеспечивая своевременное консультирование и решение проблем, если таковые обнаруживаются.
Имея в своем арсенале солидный опыт исполнения проектов, ориентированных на работу с “Большими данными”, передовое аппаратное обеспечение в виде серверов Huawei Taishan и систем хранения данных Dorado, а также опыт работы с программным стеком решений Hadoop, мы предлагаем возможность на деле проверить состоятельность наших решений в нашем фирменном ЦОД или оборудовании OpenLab и с удовольствием окажем содействие в реализации пилотных проектов на основе нашего оборудования.