Хранилище больших данных - это архитектура вычислений и хранения, которая собирает большие наборы данных и управляет ими, а также обеспечивает анализ данных в режиме реального времени.
Компании применяют анализ больших данных для получения большей информации из метаданных. В большинстве случаев для хранения больших данных используются недорогие жесткие диски, хотя снижение цен на флэш-память, похоже, открыло возможности для использования флэш-памяти на серверах и в системах хранения данных в качестве основы для хранения больших данных. Эти системы могут быть полностью флэш-памятью или гибридами, смешивающими диск и флэш-память.
Архитектура больших данных - это комплексное решение для работы с огромным объемом данных. В нем подробно описывается схема предоставления решений и инфраструктуры для работы с большими данными на основе требований компании. В ней четко определены компоненты, уровни и методы коммуникации. Отправной точкой является получение, обработка, хранение, управление, доступ и анализ данных.
Архитектура больших данных обычно выглядит так, как показано ниже, со следующими уровнями:
- Система управления базами данных, которая обрабатывает прием, обработку и анализ данных, слишком сложна или слишком велика для работы с традиционной архитектурой. Традиционная архитектура обрабатывает все это одним махом, в то время как система управления базами данных обрабатывает это по частям.
- Некоторые организации имеют пороговые значения в гигабайтах или терабайтах, в то время как другие, даже миллионы гигабайт или терабайт, недостаточно хороши.
- В качестве примера, если вы посмотрите на системы хранения и товарные рынки, ценности и затраты на хранение значительно снизились из-за этого события. Существует множество данных, для хранения которых требуются различные методы.
- Архитектура больших данных решает некоторые из этих проблем, предоставляя масштабируемый и эффективный метод хранения и обработки данных. Некоторые из них относятся к пакетным данным, которые появляются в определенное время, и поэтому задания должны планироваться таким же образом, как и пакетные данные. Задания класса потоковой передачи требуют создания конвейера потоковой передачи в реальном времени, отвечающего всем их требованиям. Этот процесс осуществляется с помощью архитектуры больших данных.
Что такое архитектура больших данных?
В системах больших данных задействовано более одного типа рабочей нагрузки, и в целом они классифицируются следующим образом:
- Простая пакетная обработка данных там, где источники, основанные на больших данных, находятся в состоянии покоя, является ситуацией обработки данных.
- Обработка больших данных в реальном времени достижима с помощью обработки на основе движения.
- Исследование новых интерактивных технологий и инструментов для обработки больших данных.
- Использование машинного обучения и прогностического анализа.
Источники данных. Все источники, которые загружаются в конвейер извлечения данных, подпадают под это определение, так что именно здесь находится отправная точка для конвейера больших данных. Источники данных, открытые и сторонние, играют значительную роль в архитектуре. Реляционные базы данных, хранилища данных, облачные хранилища данных, приложения SaaS, данные в реальном времени с серверов компании и датчиков, таких как устройства интернета вещей, сторонних поставщиков данных, а также статические файлы, такие как журналы Windows, включают в себя несколько источников данных. Возможна как пакетная обработка, так и обработка в реальном времени. Управляемые данные могут быть как пакетной обработкой, так и обработкой в реальном времени.
Хранилище данных. Данные хранятся в файловых хранилищах, которые распределены по своей природе и которые могут содержать большие файлы различных форматов. В озере данных также возможно хранить большое количество больших файлов различного формата. Это данные, которые обрабатываются для пакетных операций и сохраняются в файловых хранилищах. Мы предоставляем HDFS, Microsoft Azure, AWS и GCP хранилища, среди других контейнеров blob.
Пакетная обработка. Каждый фрагмент данных разбивается на разные категории с помощью длительных заданий, которые фильтруют и агрегируют, а также подготавливают данные для анализа. Эти задания обычно требуют исходных текстов, обрабатывают их и передают обработанные файлы в новые файлы. Используются различные подходы к пакетной обработке, включая задания Hive, задания U-SQL, Sqoop или Pig и пользовательские задания map reducer, написанные на любом из Java или Scala или других языков, таких как Python.
Прием сообщений в реальном времени. Система потоковой передачи в реальном времени, которая обрабатывает данные, генерируемые последовательным и единообразным образом, представляет собой систему пакетной обработки. По сравнению с пакетной обработкой сюда входят все системы потоковой передачи в реальном времени, которые обрабатывают данные, генерируемые в момент их получения. Этот информационный киоск или хранилище, которое получает все входящие сообщения и сбрасывает их в папку для обработки данных, обычно является единственным, с которым необходимо связаться. С другой стороны, если требуется обработка на основе сообщений, необходимо использовать хранилища приема сообщений, такие как Apache Kafka, Apache Flume, Event hubs от Azure и другие. Процесс доставки, наряду с другой семантикой очереди сообщений, как правило, более надежен.
Потоковая обработка. Прием сообщений в реальном времени и потоковая обработка отличаются. Последняя использует полученные данные в качестве средства публикации-подписки, тогда как первая в первую очередь учитывает все полученные данные, а затем использует их в качестве средства публикации-подписки. Потоковая обработка, с другой стороны, обрабатывает все эти потоковые данные в виде окон или потоков и записывает их в приемник. Сюда входят Apache Spark, Flink, Storm и т.д.
Хранилище данных на основе аналитики. Для анализа и обработки уже обработанных данных аналитические инструменты используют хранилище данных, основанное на HBase или любой другой технологии хранилища данных NoSQL. Данные могут быть представлены с помощью базы данных hive, которая может обеспечивать абстракцию метаданных, или интерактивное использование базы данных hive, которая может обеспечивать абстракцию метаданных в хранилище данных. Также доступны базы данных NoSQL, такие как HBase или Spark SQL.
Отчетность и анализ. С другой стороны, сгенерированные данные необходимо обрабатывать, и это эффективно достигается с помощью инструментов отчетности и анализа, которые используют встроенные технологии и решения для создания полезных графиков, анализа и инсайтов, полезных для бизнеса. Например, Cognos, Hyperion и другие.
Оркестровка. Основанные на данных решения, использующие большие данные, представляют собой связанные с данными задачи, которые являются повторяющимися по своей природе и которые также содержатся в цепочках рабочих процессов, которые могут преобразовывать исходные данные, а также перемещать данные между источниками, а также приемниками и загрузками в хранилищах. Sqoop, oozie, data factory и другие - это всего лишь несколько примеров.
Характеристики больших данных
Главные вопросы, которые появляются у тех, кто только начинает работать с большими данными: где и как их хранить? Но, чтобы правильно выбрать хранилище больших данных, для начала нужно получить представление о ключевых характеристиках Big Data. Часто их оформляют в концепцию пяти V — рассмотрим каждый.
Объем (Volume)
Определение объема больших данных со временем меняется и зависит от доступных мощностей и средств хранения. Например, в начале 1990-х годов жесткий диск на 40 Мб считался достаточно большим, а сегодняшние HDD имеют объемы в тысячи раз больше.
Под этим термином понимается скорость, с которой данные накапливаются в хранилище. Данные могут поступать из одного или нескольких источников, при этом операции записи могут выполняться с разной периодичностью — вплоть до миллионов раз в секунду. Такая скорость накопления данных характерна, например, для крупных соцсетей, ведь информация в хранилище поступает от каждого пользователя. Сотни и тысячи раз в секунду могут обновляться данные предприятия, на котором установлено высокоточное оборудование, передающее информацию о своем состоянии в постоянном режиме.
Разнообразие (Variety)
Это важнейший показатель для выбора технологии хранения данных. По разнообразию данные бывают структурированными, слабо структурированными и неструктурированными.
- Для структурированных данных характерна строгая организация. Типичный пример — таблицы Excel.
- Данные со слабой структурой — наиболее типичный вид данных, поступающих из интернета. К слабо структурированным относятся, например, логи.
- Неструктурированными являются данные без конкретной формы. Пример неструктурированных данных — файлы с различным содержимым (видео, текст, картинки).
Достоверность подразумевает полноту и общую точность данных. Именно на основе достоверных данных (особенно финансовых) компании принимают важные решения. Тем не менее стопроцентная достоверность требуется не всегда. Так, это некритично для часто обновляемых данных из соцсетей. Даже если несколько десятков или сотен записей окажутся неверными, на общую статистику это не повлияет.
Существует немало факторов, влияющих на изменение потоков данных: например, сезонность в ряде отраслей бизнеса или время суток, от которого зависит активность пользователей приложения или социальной сети. Таким образом, частота обновления данных может снижаться или увеличиваться.
Кроме того, сам формат данных может меняться: могут добавляться и убавляться поля в JSON, пропадать столбцы в таблицах, меняться расширения файлов и т.д.
Ценность определяется исключительно пользой, которую может извлечь компания из собираемых данных. Это совокупный фактор, определяемый всеми или некоторыми из перечисленных выше характеристик: например, достоверностью, скоростью и изменчивостью.
Структурированное хранилище больших данных
Основные требования
- Крупномасштабное хранилище данных Структурированное хранилище больших данных позиционируется как централизованное хранилище. Для обобщения онлайновых баз данных (в режиме больших таблиц) или ввода-вывода автономных вычислений структурированное хранилище больших данных должно поддерживать петабайты хранилища данных.
- Возможность записи с высокой пропускной способностью Данные преобразуются из онлайн-хранилища в автономное с помощью инструмента ETL в режиме синхронизации T + 1 или синхронизации в реальном времени. Структурированное хранилище больших данных должно поддерживать импорт данных из нескольких онлайновых баз данных, а также экспорт большого количества наборов результатов из механизма обработки больших данных. Таким образом, структурированное хранилище больших данных должно поддерживать запись данных с высокой пропускной способностью. Как правило, используется механизм хранения для оптимизации написания.
- Широкие возможности запроса данных Структурированное хранилище больших данных, являющееся дополнительным хранилищем для системы получения данных, должно оптимизировать эффективные онлайн-запросы. Распространенные способы оптимизации запросов включают высокоскоростные кэши, случайные запросы с высокой степенью параллелизма и низкой задержкой, сложные запросы с объединением полей и извлечение данных.
- Разделение затрат на хранение и вычислительные затраты: Разделение хранилища и вычислительных ресурсов в настоящее время является популярной реализацией архитектуры. Обычным приложениям сложно получить преимущества этой архитектуры. В облачных системах больших данных разделение хранилища и вычислений в полной мере раскрывает свои преимущества. Самым большим преимуществом разделения хранилища и вычислений в распределенной архитектуре является гибкий метод управления хранилищем и вычислительными ресурсами, который значительно улучшает масштабируемость хранилища и вычислений. Для управления затратами затраты на хранение и вычисления разделены только для продуктов, которые реализованы на основе архитектуры, разделяющей хранение и вычисления. Преимущество разделения затрат на хранение и вычислительные затраты более очевидно в системе больших данных. Например, объем хранилища в структурированном хранилище больших данных будет увеличиваться по мере накопления данных, но объем записи данных относительно стабилен. Следовательно, существует потребность в постоянном расширении потребностей в хранилище. Однако вычислительные ресурсы, необходимые для поддержки записи данных или временного анализа данных, относительно фиксированы и предоставляются по требованию.
- Возможность получения данных: Несколько компонентов хранилища должны сосуществовать в целостной архитектуре системы данных. В соответствии с различными требованиями к возможностям запросов и анализа, вторичное хранилище необходимо динамически расширять в системе получения данных. Таким образом, для структурированного хранилища больших данных также требуется возможность получения, которая расширяет вторичное хранилище, для расширения возможностей обработки данных. От зрелой технологии CDC зависит, насколько лучше данные в компоненте хранилища, зависит возможность получения данных.
- Вычислительная экосистема: ценность данных должна определяться вычислениями. В настоящее время вычисления делятся на пакетные вычисления и потоковые вычисления. Требования к структурированному хранилищу больших данных следующие:
Техническими средствами оптимизации запросов являются кэширование и индексирование, где поддержка индексирования разнообразна и предоставляются различные типы индексов для разных сценариев запросов, например, вторичные индексы на основе дерева B + для запросов с фиксированными комбинациями, пространственные индексы на основе R-дерева или BKD-дерева для запросов о местоположении или инвертированные индексы для запросов с несколькими полями и полнотекстового поиска.
- Он должен иметь возможность подключения к основным вычислительным системам, таким как Apache Spark и Flink, в качестве входных или выходных данных.
- Он должен обладать возможностью получения данных для преобразования своих данных в данные, ориентированные на анализ, в формате столбчатого хранилища и сохранения данных в системе data lake.
- Он должен предоставлять возможности интерактивного анализа для более быстрого определения ценности данных.
Первое требование является самым основным, а второе и третье - это дополнительные пункты.
Как хранятся и обрабатываются большие данные?
Основными источниками Big Data сегодня являются:
- устройства Интернета вещей (IoT),
- социальные сети,
- интернет-сервисы (порталы услуг, интернет-магазины),
- оборудование и приборы различного типа,
- медицинские и социальные организации.
Современные вычислительные мощности позволяют получать мгновенный доступ практически к любому объему данных, поскольку данные хранятся в дата-центрах (ЦОД, центрах обработки данных) на серверах с современными комплектующими. Некоторые компании все еще хранят данные «по старинке», то есть на собственных физических серверах, однако удобнее и надежнее хранить и работать с Big Data в облаке.
Работа с большими данными сильно зависит от того, как они будут сохранены. Большие данные часто хранятся в озере данных (DataLake). Хранилища строятся на основе реляционных баз и содержат только структурированные файлы, озера данных могут поддерживать различные типы данных и, как правило, основаны на кластерах Hadoop, облачных службах хранения объектов, базах данных NoSQL или других платформах больших данных.
Часто среды больших данных объединяют несколько систем в распределенной архитектуре, где хранить данные. К примеру, центральное озеро данных может быть интегрировано с другими платформами, включая реляционные базы или хранилище данных. Информация в системах больших данных может быть оставлена в необработанном виде, а затем отфильтрована и организована по мере необходимости для конкретных аналитических целей. В других случаях она предварительно обрабатывается с помощью инструментов интеллектуального анализа и программного обеспечения для подготовки данных, поэтому готова для приложений, которые регулярно запускаются.
Обработка больших данных предъявляет высокие требования к базовой вычислительной инфраструктуре. Требуемая вычислительная мощность часто обеспечивается кластерными системами, которые распределяют рабочие нагрузки по обработке на сотнях или тысячах товарных серверов, используя такие технологии, как Hadoop и механизм обработки Spark. Каждая технология хранения информации совершенствуется со временем.
Получение производственных мощностей экономически эффективным способом является сложной задачей. В результате облако является популярным местом для систем больших данных. Организации могут развертывать свои собственные облачные системы или использовать управляемые приложения «большие данные как услуга» от облачных провайдеров (Big Data компании). Пользователи могут увеличить необходимое количество серверов ровно настолько, чтобы завершить проекты по анализу больших данных. Бизнес платит только за используемое им время хранения и вычислений.
Сложности Big Data Storage
Ни одна технология не обходится без подводных камней. Есть свои проблемы и у хранения Big Data:
- Большим данным нужна серьезная инфраструктура, которая могла бы справляться с хранением таких объемов информации. Поэтому во многих случаях для этого потребуется довольно сильно вложиться в аренду инфраструктуры.
- Для создания аналитической модели требуется время и солидные массивы данных.
- Трудности представляет и выбор стека технологий под конкретные задачи. Но можно с уверенностью сказать, что с любыми данными, попадающими в категорию Big Data, удобнее, безопаснее и дешевле работать в облаке (исключение могут составлять банковские системы). Тем более, что современные облачные провайдеры предлагают любое необходимое ПО, часто уже полностью готовое к работе.
Кто уже использует хранилища больших данных
Программные решения для хранения и обработки больших данных используются сегодня во многих отраслях:
- Структуры государственного управления. Анализ Big Data помогает членам правительств разных стран принимать более взвешенные решения в различных областях: здравоохранении, социальной сфере, экономике, безопасности.
- Промышленные предприятия. Благодаря обработке больших данных руководители предприятий и аналитики сегодня используют методику «предиктивного производства», которая повышает точность прогнозирования спроса.
- Медицина. Анализ данных, собираемых медучреждениями и устройствами IoT (например, фитнес-трекерами), в сочетании с ИИ помогает медикам разрабатывать новые лекарственные препараты и улучшать диагностику заболеваний и лечение пациентов.
- Продажи. За счет обработки Big Data компании в сфере ритейла могут персонализировать ассортимент, повышать качество доставки и удерживать клиентов.
- Интернет вещей. Устройства IoT посылают ценные данные, анализ которых позволяет улучшать эти приборы.
- Недвижимость. Собираемые данные используются для удобства поиска объектов недвижимости. Пользователи сайтов получают персонализированные предложения и могут осматривать понравившиеся дома и квартиры без участия продавца, даже не выходя из дома.
- Спорт. В командных видах спорта обработка огромных объемов информации по игрокам помогает клубам вести качественную селекцию и готовиться к играм с соперниками.
- Сельское хозяйство. Собираемые данные с метеодатчиков позволяют строить прогноз погоды буквально по часам, что помогает сельскохозяйственным предприятиям оперативно реагировать на ситуацию.
Заключение о технологиях хранения больших данных
Потенциал Big Data огромен и вывод напрашивается сам собой: работать с большими данными сегодня выгодно многим компаниям. Причем независимо от того, насколько крупная ваша компания и какова ее специфика. Часто лучшим решением является размещение инфраструктуры по сбору и обработке Big Data в облаке.
Большие данные - это широкая, быстро развивающаяся тема. Хотя это не очень хорошо подходит для всех типов вычислений, многие организации обращаются к большим данным для определенных типов рабочих нагрузок и используют их в дополнение к своим существующим аналитическим и бизнес-инструментам. Системы больших данных уникально подходят для выявления трудно обнаруживаемых шаблонов и предоставления информации о поведении, которое невозможно обнаружить обычными средствами. Правильно внедряя системы, работающие с большими данными, организации могут извлечь невероятную пользу из уже имеющихся данных.
Архитектуры больших данных могут обрабатывать большие объемы данных, которые слишком сложны или велики для традиционных систем баз данных. Структура архитектуры больших данных служит эталонной схемой для инфраструктур и решений больших данных, поскольку инфраструктуры и решения больших данных используются для обработки, приема и анализа больших объемов данных.
Оставьте заявку на сайте и менеджер вам перезвонит.
Мы можем назначить видеоконференцию или приехать лично для обсуждения деталей.